Designing Grid Tag Libraries and Grid Beans Mehmet Nacar, Marlon Pierce, Gordon Erlebacher, Geoffrey Fox GCE 2006 Tampa, FL.

Slides:



Advertisements
Similar presentations
Open Grid Computing Environments Marlon Pierce (IU) & Gopi Kandaswamy (RENCI)
Advertisements

Using the Collaborative Tools in NEESgrid Charles Severance University of Michigan.
Developing Grid User Interface Components Portlets, gadgets, etc.
Apache Struts Technology
Building Grid Portlets with GTLAB Mehmet A. Nacar and Marlon E. Pierce Community Grids Lab Indiana University.
Building QuakeSim portlets with GTLAB Mehmet A. Nacar 1, Marlon E. Pierce 1, Andrea Donnellan 2, and Geoffrey C. Fox 1 1 Community Grids Lab, Indiana University.
VLab: Collaborative Grid Services and Portals to Support Computational Material Science Mehmet Nacar, Mehmet Aktas, Marlon Pierce, Zhenyu Lu, Gordon Erlebacher,
Building Science Gateways Marlon Pierce Community Grids Laboratory Indiana University.
Internet Technologies 1 Master of Information System Management Java Server Faces Model/View/Controller Design Pattern for Web Development Slides.
Java Server Faces Model/View/Controller Design Pattern for Web Development Slides adapted from “Core JavaServer Faces” by Geary and Horstmann and the J2EE.
Session-02. Index. Jsp in Struts 2 Web.xml File in Struts 2.
Introduction to Java web programming Dr Jim Briggs JWP intro1.
UNIT-V The MVC architecture and Struts Framework.
The SAM-Grid Fabric Services Gabriele Garzoglio (for the SAM-Grid team) Computing Division Fermilab.
JavaServer Faces: The Fundamentals Compiled from Sun TechDays workshops (JSF Basics, Web-Tier Codecamp: JavaServer Faces, Java Studio Creator; IBM RAD)
Apache Airavata GSOC Knowledge and Expertise Computational Resources Scientific Instruments Algorithms and Models Archived Data and Metadata Advanced.
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Application Web Service Toolkit Geoffrey Fox, Marlon Pierce, Ozgur Balsoy Indiana University July
Holding slide prior to starting show. A Grid-based Problem Solving Environment for GECEM Maria Lin and David Walker Cardiff University Yu Chen and Jason.
HPC club presentation A proposal for a campus-wide research grid Barry Wilkinson Department of Computer Science UNC-Charlotte Dec. 2, 2005.
A Component Framework for Building Web Science Gateways and Portals Mehmet Nacar Indiana University Computer Science Department Advisor:
Towards a Javascript CoG Kit Gregor von Laszewski Fugang Wang Marlon Pierce Gerald Guo
CSCI 6962: Server-side Design and Programming Introduction to Java Server Faces.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
Flexibility and user-friendliness of grid portals: the PROGRESS approach Michal Kosiedowski
Grid Computing, B. Wilkinson, b.1 National Science Foundation Middleware Initiative (NMI) Started in 2001 initially over 3 years “to create and deploy.
Grids and Portals for VLAB Marlon Pierce Community Grids Lab Indiana University.
JSF Introduction Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
23:48:11Service Oriented Cyberinfrastructure Lab, Grid Portals Fugang Wang April 29
CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework.
GEM Portal and SERVOGrid for Earthquake Science PTLIU Laboratory for Community Grids Geoffrey Fox, Marlon Pierce Computer Science, Informatics, Physics.
Java Web Development with NetBeans IDE -- Kai Qian Chapter 5 JavaServer Faces (JSF) Technology.
Java Portals and Portlets Submitted By: Rashi Chopra CIS 764 Fall 2007 Rashi Chopra.
JAVA SERVER FACES ADITI RAJORIYA UNI – ar2630. POINTS TO BE DISSCUSED WHAT IS JSF? WHY JSF? ARCHITECTURE JSF VERSIONS UI COMPONENTS JSF STRUCTURE AND.
1 Grid Portal for VN-Grid Cu Nguyen Phuong Ha. 2 Outline Some words about portals in principle Overview of OGCE GridPortlets.
JSF Framework Java Server Faces Presented by Songkran Totiya (6/10/2014)
Holding slide prior to starting show. A Portlet Interface for Computational Electromagnetics on the Grid Maria Lin and David Walker Cardiff University.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
The Open Grid Computing Environments Project Marlon Pierce Community Grids Laboratory Indiana University.
CS562 Advanced Java and Internet Application Introduction to the Computer Warehouse Web Application. Java Server Pages (JSP) Technology. By Team Alpha.
Some comments on Portals and Grid Computing Environments PTLIU Laboratory for Community Grids Geoffrey Fox, Marlon Pierce Computer Science, Informatics,
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Biomedical and Bioscience Gateway to National Cyberinfrastructure John McGee Renaissance Computing Institute
Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University.
Development of e-Science Application Portal on GAP WeiLong Ueng Academia Sinica Grid Computing
VisPortal Project developer’s experience C.E.Siegerist, J. Shalf, E.W. Bethel NERSC/LBNL Visualization Group T.J. Jankun-Kelley, O. Kreylos, K.L. Ma CIPIC/UC.
Building Science Gateways Marlon Pierce Community Grids Laboratory Indiana University.
Chapter 12© copyright Janson Industries Java Server Faces ▮ Explain the JSF framework ▮ SDO (service data objects) ▮ Facelets ▮ Pagecode classes.
The Gateway Computational Web Portal Marlon Pierce Indiana University March 15, 2002.
® IBM Software Group © 2003 IBM Corporation IBM WebSphere Studio V5.1.2: Making Java Development Easier May 2004.
Chapter 6 Chapter 6 Server Side Programming (JSP) Part 1 1 (IS 203) WebProgramming (IS 203) Web Programming.
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
A Component Framework for Building Web Science Gateways and Portals Mehmet Nacar Indiana University Computer Science Department Advisor:
Application Web Service Toolkit Allow users to quickly add new applications GGF5 Edinburgh Geoffrey Fox, Marlon Pierce, Ozgur Balsoy Indiana University.
SDJ INFOSOFT PVT. LTD. 2 BROWSERBROWSER JSP JavaBean DB Req Res Application Layer Enterprise server/Data Sources.
V7 Foundation Series Vignette Education Services.
Lightweight OGCE Gadget Portal for Science Gateways Zhenhua Guo, Marlon Pierce Community Grids Laboratory, Pervasive Technology Institute, Indiana University,
Convert generic gUSE Portal into a science gateway Akos Balasko.
OGCE Short Summary Marlon Pierce Community Grids Lab
Writing Grid Portlets.
Unit 6-Chapter 2 Struts.
GTLAB: Grid Tag Libraries Supporting Workflows within Science Gateways
Standard Portlet Architecture Supports Reusable Components
Metadata-rich Service Oriented Grid Portals
JavaServer Faces: The Fundamentals
OGCE Portal Software for Big Red and the TeraGrid
Open Grid Computing Environments
OGCE Architecture: Portlets and Services for Science Gateways
Presentation transcript:

Designing Grid Tag Libraries and Grid Beans Mehmet Nacar, Marlon Pierce, Gordon Erlebacher, Geoffrey Fox GCE 2006 Tampa, FL

Introduction Science portals and gateways gain importance by providing portable and useful tools for community.  TeraGrid User portal and Science Gateways There are efforts to provide reusable Grid portlets and portal containers for Grid community  JSR-168 compatible portlets uPortal, GridSphere, Jetspeed2  Grid portlets from OGCE, GridSphere, and others Portlets can be shared between members of the Grid community  Work across JSR 168 compliant containers

Problems with portlet development Grid portlets typically wrap each single Grid capability in a separate portlet  Credential generation and management  Job Submission  File transfer and operations  Workflow management Problem is that Grid portlets need to combine these operations  Portlets are entire web applications  We need a way of making it easier to build Grid portlets out of reusable parts  We need a component model for portlets Why is JSFsuitable for Grid Portals?  OGCE community used templates to develop portlets Velocity and JSP (web development templates)  JSF uses Inversion of Control pattern to implement its Model-View- Controller architecture Remove dependencies on the Servlet API. Backing beans are just beans, so can be reused more easily outside of web and portlet applications.  JSF also provides an extensible framework (tag libraries)

Related Work Grid Portlets 1.3 of GridSphere  Now they are trying to decouple with GridSphere. It’s called Vine (Portlet Vine) as separate project  Grid Portlets 1.3 provide API and UI tags to build Grid portlets RSF (Reasonable Server Faces)  Derived from JSF, but it separates HTML pages and backing beans  RSF provides non-visual components unlike JSF  Beans can be contained by Spring like containers. Lifecycles of beans managed by Spring OGCE portlets  Packages Velocity, JSP and JSF portlets  Provides portlet package for several Grid applications such as Globus, Condor, SRB and GPIR

GTLAB: Grid Tag Libraries and Beans Grid tag libraries are built using JSF custom component development techniques Grid tags are associated with Grid services via Grid beans.  Grid Beans wrap the Java COG Kit (version 4) We show an example JSF page section below.  This allows you to develop new Grid portlets with no additional Java code.

Grid TagsAssociated Grid BeansFeatures ComponentBuilderBean Creating components, job handlers, submitting jobs MonitorBean Handling monitoring page actions MultitaskBean Constructing simple workflow MultitaskBean Defining dependencies among sub jobs MyproxyBean Retrieving myproxy credential FileOprationBean Providing Gridftp operations JobSubmitBean Providing GRAM job submissions FileTransferBean Providing Gridftp file transfer ResourceBean Describes common properties among all tags and beans. Passing values given by standard visual JSF components.

Advanced Operations GTLAB can be used to associate multiple Grid tasks with a single action click.  We call this a “multitask” This is a form of workflow (DAG)  We build on top of CoG workflow capabilities.  We are investigating how to abstract this to use other workflow engines. Each multitask should be associated with a submit button.  This allows many multitasks in a JSF form.  It’s useful in some cases to bind relatively different multitask with the same user input parameters.

Multitask Multitask provides a simple workflow Directed Acyclic Graph (DAG) This example demonstrates a composite Grid job using Grid tags

<o:fileoperation id=”taskA” command=”mkdir” hostname=”cobalt.ncsa.teragrid.org” path=”/home/manacar/tmp/” /> <o:filetransfer id=”taskB” from=”gridftp://gf1.ucs.indiana.edu:2811/home/manacar/input_file” to=”gridftp://cobalt.ncsa.teragrid.org:2811/home/manacar/tmp/input_file” /> <o:jobsubmit id=”taskC” hostname=”cobalt.ncsa.teragrid.org” provider=”GT4” executable=”/bin/execute” stdin=”tmp/input_file” stdout=”tmp/result” stderr=”tmp/error” /> <o:filetransfer id=”taskD” from=”gridftp://cobalt.ncsa.teragrid.org:2811/home/manacar/tmp/result” to=” gridftp://gf1.ucs.indiana.edu:2811/home/manacar/result” /> GTLAB: Multitask Example JSF Page

Going Beyond JSF Tag Libraries JSF Tag Libraries framework is a starting point, but we had to extend it in several ways to support GTLAB requirements.  Parsing XML tag library description and constructing the workflow  Maintaining jobs within a session Bean and listener tables keep handler information  Sharing job handlers between multiple tags in different pages. Job submission forms create job handlers Monitoring pages retrieve handlers from tables and list the status information

Component and session management We need to handle JSF component model to import Grid tags that embedded into JSF page  ComponentBuilderBean (CBB) parses JSF page and extracts Grid tags Standard JSF session can also manage only one job submission at a time But GTLAB framework provide session management to handle multiple jobs in a session Most of the Grid jobs are either batch or takes long time to finish. Obviously portlet pages should not block while the job runs  Need to manage job sessions GTLAB allows users proceeding to next pages  Depending on the navigation rules, users can move on to monitoring pages

Architecture CBB handles user requests using JSF form pages CBB parses custom components embedded into JSF view page. Creates corresponding Grid task using Factory bean Constructs the workflow by using Multitask bean with dependencies Maintains task handlers and task objects in the session Submit multitasks to Grid services

GTLAB Portal Applications Virtual Laboratory for Earth and Planetary Materials (VLAB)  Focuses on computational material science  Scientists launch PWSCF simulations and get visual results.  Composite tasks are orchestrated within a workflow Preparing entry parameters, simulation submissions, transferring results, starting visualization applications Common Instrument Middleware Architecture (CIMA)  Focuses on X-Ray crystallography, instruments and sensor data.  Scientists launch SAINT application Integrates CCD image frames  Example of simple workflow through portlets.

Advantages of GTLAB Grid tags provide rich selection of attributes to initialize Grid beans. Composite tasks can contain an unlimited number of subtasks GTLAB gives flexibility to developers to use their own Grid beans library or add more Grid beans to the existing ones.  Following the method name convention of GTLAB Grid bean methods are bound to tags with attributes to simplify the building of new Grid portlets

Conclusion and Future Work We have developed GTLAB Tag Libraries and Java Beans for Java Server Faces.  Encapsulate common Grid tasks  Build Grid portlets out of reusable components  Support multiple Grid tasks in a single user action.  Adapt JSF to consume tag workflow expressions and manage multiple Grid jobs. We will investigate use of sub-graphs within We are investigating abstracting our approach to support different workflow engines. Investigate integrating AJAX with our session management and monitoring.

Acknowledgments OGCE This work is supported by the National Science Foundation’s Information Technology Research (NSF grant ITR , , VLab) and Middleware Initiative (NSF Grant SCI ) programs.

Additional Slides

Overview of JSF Tag Development Basically JSF uses JSP Standard Tag Library (JSTL) and Expression Language (EL) for tag development. There are two types of JSF standard components  Visual: CommandButton, InputText etc.  Non-visual: form, param etc. Two classes required for development of the tags:  UIComponent: Describes encoding/decoding HTML.  ComponentTag: Describes attributes Tag classes should describe attribute bindings.  Value binding -> #{bean.property}  Method binding -> #{bean.method} Grid tags are embedded into JSF view pages and decorated with standard JSF form, input, output and button components

Grid tags and attributes

Sequence diagram

Monitoring and management MonitorBean keeps track of status information  Updates archival storage  Retrieves information about jobs Status, input parameters, results and time  MonitorBean caches the monitoring info within the session. Monitoring pages list jobs within HTML Data Table Refreshing the page updates the job list with current information MonitorBean allows users to manage job archive:  Delete tasks, rename for resubmission  Download output files or transfer to the storages Action methods of MonitorBean are fired off by handler tag

Input values and navigation handling Grid tags are primarily non-visual tags  They need to bind to JSF form, input and output tags A mediator (ResourceBean) collects user-provided Resource bean describes common property values  Values are hostname, provider, taskname, username etc.  Values are bound to tags using expression language semantic. Grid tags decouples submit pages and monitoring pages Users need not wait on the submit page until it is completed. Directed to the next page immediately. JSF page navigation is done by configuration file called faces- config.xml which describes navigation rules.

Background Grid tags have advantages:  Provides more attributes specific to Grid tags that are self- contained and can be customized easily  Composite tasks can contain an unlimited number of subtasks  It gives flexibility to developers to use their own Grid beans library or add more Grid beans to the existing ones.  Grid bean methods are bound to tags with attributes to simplify the building of new Grid portlets  JSF eliminates intervention by proposing JSF tags that separate backing bean and server pages.  Mediates between visual tags and non-visual tags using standard JSF components.

JSF Grid Beans Using the factory bean for constructing GenericGridBean beans. We create and manage multiple beans for each task.  That is, I submit the job four times in one session. Beans have listeners and maintain state called TaskListener  Unsubmitted, submitted, active, suspended, resumed are “live”  Failed, canceled, completed, unknown are “dead” Stored in archive (WS-Context or other) Core beans are:  ResourceBean - No action methods defined  MonitorBean, ComponentBuilderBean (CBB) - Action methods