Upload
conrad-kelly
View
218
Download
2
Embed Size (px)
Citation preview
Developing an Application-Specific Portal with P-GRADE Portal 2.9
Author: Ákos Balaskó, Date : 03-06-2010
Content
1. Goal
1 Assumptions
2 Therminology
2. Basic Idea
3. Concept
1 Representations
4. Core portlets
5. Detailed scenario
6. Requirements
7. Example
8. Conclusions
1. Goal• A Grid Application Developer has developed a new application
that must be offered for other people through a Web-based portal which is highly customised for the application and the user community.
• People being offered with this service do not know grids but they should be able to execute the grid application with their own custom inputs through the graphical interface of the Web portal.
Application specific portal
Grid application developerEnd users
1.1 Assumptions
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 P-
GRADE or how to port a legacy application to the grid with P-GRADE
Grid Portal Developer – He knows the Java language and JSP (Java Server
Pages)– He does not need to know the source code of P-
GRADE – He and also the end users have user certificates to
access the grid
1.2 TerminologyPortal Administrator:
• installs P-GRADE Portal 2.9
Grid Application Developer• develops a grid application with P-GRADE Portal 2.9• sends the application to the grid portal developer
End Users• executes the published application with custom input parameters by creating application instances using the published application as a template
Grid Portal Developer•Creates new role for the application•develops a Gridsphere portlet that fits to the application I/O pattern and the end users’ needs and associate it with the role• connects the GUI to P-GRADE Portal using the programming API of P-GRADE Application Specific Module• using the Application Specific Module he publishes the grid application and its GUI for end users
2. Basic idea
• A new module called “Application specific module” has been developed for P-GRADE Portal that ease the creation of Application Specified Portlets – The module provides programming API to control P-GRADE
portal applications– The module provides programming API to access P-GRADE
Portal 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– GUI can benefit from all the P-GRADE Portal services
Application Specific Module
3. Concept
Custom user interface (Written in Java, JSP, JSTL)
Web browser
EGEE and Globus Grid services (gLite WMS, LFC,…; Globus GRAM, …)
Client
P-GRADEPortalserver
Grid
Services of P-GRADE Portal(workflow management, parameter study management, fault tolerance, …)
Additional module for P-GRADE
Core P-GRADE Portal
You develop itCore ASM interfaces (Written in Java, JSP, JSTL)
3.1 Representations
In Gridsphere's (or other portlet-framework's) point of view, the applications will be represented as “Roles”.
Portlets that are developed for the end-users to use the applications, will be associated with these roles.
One of the core, pre-developed ASM portlet can be used by the end-users to set their roles ( which application will be used)
=> After setting the roles, the portlets that are associated with the selected ones, will appear dynamically
4. Core Portlets of ASM : Publisher
4. Core Portlets of ASM : Role manager
P-GRADE PORTAL server
Application Specific Module
Services of P-GRADE Portal(workflow management, parameter study management, fault tolerance, …)
5. Detailed Scenario
EGEE and Globus Grid services (gLite WMS, LFC, …; Globus GRAM, GridFTP, …)
Portal Administrator installs the P-GRADE portal 2.9.*.Then installs Application Specific Module
Portlet to publish applications
Portlet to set Roles
Inner services
P-GRADE PORTAL server
Application Specific Module
Services of P-GRADE Portal(workflow management, parameter study management, fault tolerance, …)
5. Detailed Scenario
EGEE and Globus Grid services (gLite WMS, LFC, …; Globus GRAM, GridFTP, …)
Grid Application Developer creates own Grid Application and publish it using the core ASM portlet.
Portlet to publish applications
Portlet to set Roles
Inner services
Grid Application
P-GRADE PORTAL server
Application Specific Module
Services of P-GRADE Portal(workflow management, parameter study management, fault tolerance, …)
5. Detailed Scenario
EGEE and Globus Grid services (gLite WMS, LFC, …; Globus GRAM, GridFTP, …)
Grid Portal Developer creates Portlet for the application (mainly one JSP and one eventhandler java class)
Then associates it with the role using the core portlet of ASM
Portlet to publish applications
Portlet to set Roles
Inner services
Grid Application
Portlet for the Application
P-GRADE PORTAL server
Application Specific Module
Services of P-GRADE Portal(workflow management, parameter study management, fault tolerance, …)
1.5 Detailed Scenario
EGEE and Globus Grid services (gLite WMS, LFC, …; Globus GRAM, GridFTP, …)
Finally the end-users creates own application from the published one, parameterizes and executes it using the developed portlet
Portlet to publish applications
Portlet to set Roles
Inner services
Grid Application
Portlet for the Application
Grid Application
6. Requirements for Portal Developer
• Requirements in general– Knowledge of JSP, JSTL, Java
• Requirements for developing:– P-GRADE Portal 2.9 source-code – Java Development Kit with a FrameWork
(NetBeans or Eclipse)
The API Provides:• Listing published applications• Listing available instances• New Instance creation• Input data manipulation
– FileUpload– Setting input text
• Managing instances' lifecycle– Create/Start/Check Status/Delete
7. Example
Developed Interface for an Example Application
(Sample Workflow)
7. Example
7. Example
7. Example - JSP interface - overview
7. Example - JSP interface - overview
ArrayList<APP_SPECInstance> arrayofinsts = this.app_spec_service.getAPP_SPECInstances(roleName,user.getUserID());
7. Example JSP interface – new instance
private App_PublishService publish_service= App_PublishService.getInstance();ArrayList<SZGWorkflow> publishedlist = publish_service.listPublishedWorkflows("Sample_root","Ap_Spec_Sample");
APP_SPECInstance newWork = new APP_SPECInstance(this.roleName,"Sample_root",projectName, projectDescription,base_wf); app_spec_service.addAPP_SPECInstance(this.roleName,user.getUserID(),newWork); this.app_spec_service.generateInstance(this.roleName,user.getUserID(),newWork.getName());
7. Example JSP interface - set input text
((APP_SPECInstance)this.app_spec_service.getAPP_SPECInstance(roleName, usr_id, WorkflowName)).setInputtext("Job0", "0", "input.txt", inputBean.getValue());;
7. Example JSP interface - set input text
String WorkflowName = this.app_spec_service.getAPP_SPECInstance(roleName, usr_id, selected_instance).getAPP_SPECWorkflowName();setInitWorkflow diset=new setInitWorkflow(user.getUserID(),WorkflowName);diset.deleteFiles();this.app_spec_service.startInstance(user.getUserID(), this.app_spec_service.getAPP_SPECInstance(roleName, usr_id, WorkflowName));
this.app_spec_service.deleteAPP_SPECInstance(roleName,user.getUserID(),
this.app_spec_service.getAPP_SPECInstance(roleName,user.getUserID(),instancename));
this.app_spec_service.getAPP_SPECInstance(roleName,user.getUserID(),instancename));
Conclusions• Advantages:
– Portal Developers can costumise/create portal interface faster
– Provides high level API for P-Grade's services
• Further informationhttp://sourceforge.net/projects/pgportal/– This version has not released yet.– ASM for P-Grade Portal 2.7 can be
downloaded at sourceforge
Enjoy it !
Thank you for your attention!