26
Developing an Application- Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

Embed Size (px)

Citation preview

Page 1: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

Developing an Application-Specific Portal with P-GRADE Portal 2.9

Author: Ákos Balaskó, Date : 03-06-2010

Page 2: 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

Page 3: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

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

Page 4: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

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

Page 5: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

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

Page 6: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

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

Page 7: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

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)

Page 8: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

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

Page 9: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

4. Core Portlets of ASM : Publisher

Page 10: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

4. Core Portlets of ASM : Role manager

Page 11: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

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

Page 12: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

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

Page 13: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

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

Page 14: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

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

Page 15: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

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)

Page 16: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

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

Page 17: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

7. Example

Developed Interface for an Example Application

(Sample Workflow)

Page 18: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

7. Example

Page 19: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

7. Example

Page 20: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

7. Example - JSP interface - overview

Page 21: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

7. Example - JSP interface - overview

ArrayList<APP_SPECInstance> arrayofinsts = this.app_spec_service.getAPP_SPECInstances(roleName,user.getUserID());

Page 22: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

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());

Page 23: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

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());;

Page 24: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

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));

Page 25: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

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

Page 26: Developing an Application-Specific Portal with P-GRADE Portal 2.9 Author: Ákos Balaskó, Date : 03-06-2010

Enjoy it !

Thank you for your attention!