ASM_Tutorial_EGI_CF

Download Report

Transcript ASM_Tutorial_EGI_CF

Application Specific Module
Tutorial
Zoltán Farkas, Ákos Balaskó
03/27/2012
1
Outline
General Session:
Goal
gUSE orchestration
Way from application to service
Comparison
Terminology
Basic Idea
Concept of ASM
2
Goal
End users want to:
Execute scientific applications
Using distributed systems to:
• Decrease time cost
• Exploit storage & computational capacities
use complex systems totally hidden
Do not want to:
learn any techniques that don't fit with scientific
area of them
gUSE orchestration
Client side
90%
WS-PGRADE
access
of
internal
Full
access
services
60%
access
of internal
services
Application
Specific
Interface
Remote access client
Limited access
20%
ASM
Remote
access
API
gUSE
Server side
4
Way from application to service
Own Research
Usage Types
Personal
Simple
Application
Complex
Workflow
Our Suggestions
general gUSE
Remote API
Community
Application
Specific Module
Remote API vs. ASM
•
Remote API:
•
Pro:
•
•
•
•
•
Servlet-technology
Language-independent
Hidden complexity
Easy API
Cont:
•
•
•
Workflow must be on „client side”
No workflow management
Tight range of functionalities
Remote API vs. ASM
•
ASM API:
•
Pro:
•
•
•
•
•
•
Wide range of functionalities
Covers whole workflow-lifecycle
Workflow management
Hidden complexity
Easy API
Cont:
•
Language-dependent (Java)
Terminology
Grid Application Developer
–
–
would like to have a Portal customized for
the application and end user community
knows how to develop a grid application in
gUSE/ws-PGrade or how to port a legacy
application to the grid with gUSE/wsPGrade
Grid Portal Developer
–
He knows the Java language and JSP
(Java Server Pages) or other techniques
(IceFaces etc)
Terminology
Portal Administrator:
• installs gUSE
Grid Application Developer
• Develops a grid application with gUSE
• Exports it to the local repository of gUSE
Grid Portal Developer
•Develops an interface (in general a portlet) that fits to the
application I/O pattern and the end users’ needs and
associate it with the role
• Connects the GUI to gUSE using the programming API of
Application Specific Module(ASM)
End Users
• execute a copy of the exported application with custom
input parameters
Basic idea
• A new module called “Application Specific Module” has been developed
for gUSE that ease the creation of Application Specified Portlets
– The module provides programming API to control applications
developed using gUSE
– The module provides programming API to access inner gUSE services
• Any kind of Graphical interface can be developed on top of this module
– GUI written in JSP, JSTL (Java Servlet Tag Library ) and Java
– GUI can be customized for the grid application
– GUI can be customized for end users
Concept
Client
Web browser
ws-PGrade
gUSE
Internal components
submitter
DCIs
Desktop or Service grids / cloud / Clusters
11
Concept
Client
Web browser
ws-PGrade
gUSE
We will focus on this!
Developed web-interface
Internal components
submitter
DCIs
Desktop or Service grids / cloud / Clusters
12
Concept in details
Client
Web browser
Web pages (JSP, JSF or other)
Developed
webinterface
JAVA event handler, and inner classes
Configuration
files (wsdd)
Application Specific Module API
13
Concept
Client
Web browser
ws-PGrade
gUSE
Developed web-interface
Internal components
submitter
DCIs
Desktop or Service grids / cloud / Clusters
14
Concept in details
ws-PGrade
Storage
Workflow
Interpreter
Repository
Information
User space
Submitter
Workflow
Storage
gUSE
DCI systems
15
Concept in details
Grid Application Developer creates own Grid Application via ws-PGrade and export it to the local repository
ws-PGrade
Grid Application
Storage
Workflow
Interpreter
Repository
Information
User space
Submitter
Workflow
Storage
gUSE
DCI systems
16
Concept in details
Then the Grid Portal Developer creates a new web-application (mainly an web-interface) which
fits to the user community's needs, and connects it to the gUSE using ASM API
ws-PGrade
Developed webinterface
ASM
Storage
Workflow
Interpreter
Repository
Grid Application
Information
User space
Submitter
Workflow
Storage
gUSE
DCI systems
17
Concept in details
Finally the end-users create own application from the exported one, parameterize and execute it
using the developed portlet
ws-PGrade
Developed webinterface
ASM
<< import >>
Storage
Workflow
Interpreter
Repository
Grid Application
Information
User space
Submitter
Workflow
Storage
gUSE
DCI systems
18
Concept in details
Finally the end-users create own application from the exported one, parameterize and execute it
using the developed portlet
ws-PGrade
Developed webinterface
ASM
Storage
Workflow
Interpreter
Repository
Information
User space
Grid Application
Submitter
Workflow
Storage
gUSE
DCI systems
19
Concept in details
Finally the end-users create own application from the exported one, parameterize and execute it
using the developed portlet
ws-PGrade
Developed webinterface
ASM
Storage
Workflow
Interpreter
Repository
Information
User space
Submitter
Workflow
Storage
gUSE
Grid Application
DCI systems
20
Concept in details
Finally the end-users create own application from the exported one, parameterize and execute it
using the developed portlet
ws-PGrade
Developed webinterface
ASM
Storage
Workflow
Interpreter
Repository
Information
User space
Grid Application
Submitter
Workflow
Storage
gUSE
DCI systems
21
Concept in details
Then get back the results
ws-PGrade
Developed webinterface
ASM
Storage
Workflow
Interpreter
Repository
Information
User space
Submitter
Workflow
Storage
gUSE
Grid Application
DCI systems
22
Technical details
Provided functions:
Technical details
Funcionality
Get List of
Workflow
Developers
Method
Return Type
getWorkflowDevelopers
String[]
Get ASM
workflows
Import
getASMWorkflows
List<ASMWor
kflow>
ImportWorkflow
Void
Download Output
Download Output
Upload
Associate a file for
a port
Submit
Get Status
getFiletoPortalServer
getFileStream
uploadFiletoPortalServer
placeUploadedFile
Void
Stream
Get Detailed Status
getDetails
WorkflowInsta
nceBean
returns detailed status codes about every job that is
being submitted according to the application (it
returns)
Rescue
Abort
rescue
abort
ASMService
Rescues an application
Aborts an application
Void
Void
Void
submit
getWorkflows -> Overall List<ASMWor
status
statistics
in kflow>
JobStatistics bean
ASMService
Description
get a stringlist of applivation Developer IDs that have
exported at least one application to the local repository
according to the necessary requirements (see
ApplicationType object)
Returns a list of ASMWorkflow objects which are the
applications of the user
Imports an application from the local shared repository
to the user space
Downloads the needed file to the portal server
Returns the file in a stream
Uploads a file to the portal server
Place a file that has been already uploaded to portal
server, in a workflow as an input file
Submits an imported application
Gets general status statistics about the workflow that is
being executed
End of General Session!
Questions?
Knowledge about JAVA+web-technologies are
needed for followings!