Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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!