Portals Team GridSphere: A Grid Portal Framework An Overview Ian Kelley Jason Novotny

Slides:



Advertisements
Similar presentations
Grid Portals Rajesh Chhabra QPSF Grid Manager Project Leader- User Interface and Visualization Infrastructure (UIVI) Supported by Queensland Parallel Super.
Advertisements

W w w. h p c - e u r o p a. o r g HPC-Europa Portal: Uniform Access to European HPC Infrastructure Ariel Oleksiak Poznan Supercomputing.
Jason Novotny GridSphere / Portlets GridSphere Status Update Jason Novotny Lawrence Berkeley National Laboratory Jason Novotny,
Data Management Expert Panel - WP2. WP2 Overview.
Using the Collaborative Tools in NEESgrid Charles Severance University of Michigan.
UWCalendar 2 1 Communication & Collaboration Technologies Rensselaer Polytechnic Institute June 21, 2004 Rensselaer and UWCalendar2 an institute-wide open-source.
Holding slide prior to starting show. Supporting Collaborative Working of Construction Industry Consortia via the Grid - P. Burnap, L. Joita, J.S. Pahwa,
1 Software & Grid Middleware for Tier 2 Centers Rob Gardner Indiana University DOE/NSF Review of U.S. ATLAS and CMS Computing Projects Brookhaven National.
GridSphere: A Portal Framework Jason Novotny Michael Russell Oliver Wehrens Albert Einstein Institute.
GridLab Enabling Applications on the Grid Jarek Nabrzyski et al. Poznań Supercomputing and Networking.
Portals Team GridSphere and the GridLab Project Jason Novotny Michael Russell Oliver Wehrens Albert.
1-2.1 Grid computing infrastructure software Brief introduction to Globus © 2010 B. Wilkinson/Clayton Ferner. Spring 2010 Grid computing course. Modification.
GridScape Ding Choon Hoong Grid Computing and Distributed Systems (GRIDS) Lab. The University of Melbourne Melbourne, Australia WW Grid.
© 2005, Cornell University. Rapid Application Development using the Kuali Architecture (Struts, Spring and OJB) A Case Study Bryan Hutchinson
W4: Grid Portals Building Web-enabled End-User Environments for accessing Grid Services By Michael Paul Russell Dept Computer Science.
GridSphere for GridLab A Grid Application Server Development Framework By Michael Paul Russell Dept Computer Science University.
Web-based Portal for Discovery, Retrieval and Visualization of Earth Science Datasets in Grid Environment Zhenping (Jane) Liu.
System Design/Implementation and Support for Build 2 PDS Management Council Face-to-Face Mountain View, CA Nov 30 - Dec 1, 2011 Sean Hardman.
Midwest Documentum User Group Harley-Davidson Documentum WCM 10/10/2006.
UNIT-V The MVC architecture and Struts Framework.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
W w w. h p c - e u r o p a. o r g The HPC-Europa project and GridSphere Dawid Szejnfeld Poznan Supercomputing.
W w w. h p c - e u r o p a. o r g Single Point of Access to Resources of HPC-Europa Krzysztof Kurowski, Jarek Nabrzyski, Ariel Oleksiak, Dawid Szejnfeld.
WP6: Grid Authorization Service Review meeting in Berlin, March 8 th 2004 Marcin Adamski Michał Chmielewski Sergiusz Fonrobert Jarek Nabrzyski Tomasz Nowocień.
QCDgrid Technology James Perry, George Beckett, Lorna Smith EPCC, The University Of Edinburgh.
Grid Computing, B. Wilkinson, a.1 Grid Portals.
Portals & Portlets 2003 GridSphere: A Portal Framework An Overview Jason Novotny Michael Russell
General Intro to GridLab Jarek Nabrzyski et al. Poznań Supercomputing and Networking Center.
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.
SOS EGEE ‘06 GGF Security Auditing Service: Draft Architecture Brian Tierney Dan Gunter Lawrence Berkeley National Laboratory Marty Humphrey University.
GridLab A Grid Application Toolkit and Testbed IST Jarek Nabrzyski GridLab Project Coordinator Poznań.
5th GridLab Review, 8 April 2005, Amsterdam WP12: Access for mobile users What's new in mobile user support Piotr Grabowski, Bartek Lewandowski
CoG Kit Overview Gregor von Laszewski Keith Jackson.
Flexibility and user-friendliness of grid portals: the PROGRESS approach Michal Kosiedowski
Portals & Portlets 2003, 14 July 2003 The GridLab Portal Portals & Portlets 2003 Albert Einstein Institute Jason Novotny
第十四章 J2EE 入门 Introduction What is J2EE ?
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Grids and Portals for VLAB Marlon Pierce Community Grids Lab Indiana University.
GridLab: A Grid Application Toolkit and Testbed Jarosław Nabrzyski GridLab Project Manager Poznań Supercomputing and Networking Center, Poland
GridLab: A Grid Application Toolkit and Testbed
The PROGRESS Grid Service Provider Maciej Bogdański Portals & Portlets 2003 Edinburgh, July 14th-17th.
GridLab Review - WP4 WP4 - Grid Portals GridLab Review Michael Russell Albert Einstein Institute.
GEM Portal and SERVOGrid for Earthquake Science PTLIU Laboratory for Community Grids Geoffrey Fox, Marlon Pierce Computer Science, Informatics, Physics.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
General Intro to GridLab Jarek Nabrzyski et al. Poznań Supercomputing and Networking Center.
April 1st, The ASC- GridLab Portal Edward Seidel, Michael Russell, Gabrielle Allen, and the rest of the team Max Plank Institut für Gravitationsphysik.
Grid Architecture William E. Johnston Lawrence Berkeley National Lab and NASA Ames Research Center (These slides are available at grid.lbl.gov/~wej/Grids)
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.
GRIDS Center Middleware Overview Sandra Redman Information Technology and Systems Center and Information Technology Research Center National Space Science.
GRID Overview Internet2 Member Meeting Spring 2003 Sandra Redman Information Technology and Systems Center and Information Technology Research Center National.
GridLab Resource Management System (GRMS) Jarek Nabrzyski GridLab Project Coordinator Poznań Supercomputing and.
Some comments on Portals and Grid Computing Environments PTLIU Laboratory for Community Grids Geoffrey Fox, Marlon Pierce Computer Science, Informatics,
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
Development of e-Science Application Portal on GAP WeiLong Ueng Academia Sinica Grid Computing
System/SDWG Update Management Council Face-to-Face Flagstaff, AZ August 22-23, 2011 Sean Hardman.
Hiding Grid Complexity Behind SSH Session Server framework Tomasz Kuczyński (1,2) 1) Poznan Supercomputing and Networking Center.
Portals: Architecture & Best Practices Greg Hinkle February 2005.
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.
25 April Unified Cryptologic Architecture: A Framework for a Service Based Architecture Unified Cryptologic Architecture: A Framework for a Service.
GridLab Resource Management System (GRMS) Jarek Nabrzyski GridLab Project Coordinator Poznań Supercomputing and.
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
Portals, Services, Interfaces Marlon Pierce Indiana University March 15, 2002.
PROGRESS: GEW'2003 Using Resources of Multiple Grids with the Grid Service Provider Michał Kosiedowski.
Application Web Service Toolkit Allow users to quickly add new applications GGF5 Edinburgh Geoffrey Fox, Marlon Pierce, Ozgur Balsoy Indiana University.
Holding slide prior to starting show. Lessons Learned from the GECEM Portal David Walker Cardiff University
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
The EPIKH Project (Exchange Programme to advance e-Infrastructure Know-How) gLite Grid Introduction Salma Saber Electronic.
Presentation transcript:

Portals Team GridSphere: A Grid Portal Framework An Overview Ian Kelley Jason Novotny Michael Russell Oliver Wehrens Albert Einstein Institute

The State of Grid Computing Access to Grid services and resources still difficult for end users Current API’s and tools are still very primitive Grid middleware and tools are constantly evolving making it difficult to provide reliable, robust infrastructure Ultimately end users want to be hidden from technical or implementation specific details of Grids Growing infrastructure complexity means diminished usability Many projects focusing on a narrow range of services for a very specific set of users There is a real need for higher level tools and grid computing environments

Grid Portals Grid Portals build upon the familiar Web portal model, such as Yahoo or Amazon, to deliver the benefits of Grid computing to virtual communities of researchers and scientists, providing customizable, easy-to- use, singular access points to Grids.

Virtual Organizations A Virtual Organization (VO) consists of resources, services, and people collaborating across institutional, geographical, and political boundaries. Grid Portals provide a gateway for linking all of these elements together Grid Portals hide the complexity of the underlying Grid infrastructure that make VOs possible. Furthermore, Grid Portals can provide value-added services with Web interfaces tailored to the specific applications that are most important to particular VO.

3-Tier Architecture Grid portals are examples of 3-tier architectures

Application Server The application server is the cornerstone of any Grid portal. Many Grid portals use open-source Java technologies that conform to the latest Java development standards, such as Jakarta Tomcat, which implements the Java Servlets/JSP specification.

Frameworks The first step in building a Grid portal is to decide whether to adopt or develop a framework to support Web interface development. The key features that a Grid portal framework should provide are: Support for the Virtual Organization concept Support for authorizing access to all elements of portal The ability to administer the portal at runtime Support for persistence management Clear separation of Logic and Presentation Support for multiple devices (PCs, mobile phones, PDAs) Value added classes, libraries, utilities Reusable core components

Early Grid Portal Projects Grid-Port: Perl-based framework developed by Mary Thomas and Steve Mock at San-Diego Supercomputing Center (SDSC) Grid Portal Development Toolkit (GPDK): Developed by Jason Novotny at Lawrence Berkeley National Laboratories (LBNL) Astrophysics Simulation Collaboratory (ASC): Developed by Michael Russell at University of Chicago, now lead by Greg Daues of National Super-Computing Alliance (NCSA)

GridSphere Portal Framework We are combining the lessons we learned in the development of the Astrophysics Simulation Collaboratory and the Grid Portal Development Toolkit, one of the earliest and most widely used research projects within the Grid portal community. Provides a “white-box” framework Framework users override base classes and “hook” methods Requires users to become familiar with core framework interfaces Core framework interfaces based on community standard API Makes use of design patterns Provides solutions to commonly recurring software design problems Provides common language that makes code easier to read and understand MVC pattern used to separate logic from presentation

Portlets The Portlet Java Specification Request (JSR-168) lays the foundation for a new open-standard for Web portal development frameworks. Portlets define an API for building atomic, composable visual interfaces to Web content or service providers A portlet provides a “mini-window” within a portal page. Multiple portlets can be composed in a portal page. Portlets extend servlets. The idea being to reuse common method signatures.

Portlet Implementations Still waiting for standardized Portlet API but implementations already exist: Jakarta Jetspeed IBM WebSphere Oracle i9AS Portal BEA WebLogic Portal 7.0 (?) GridSphere… Why not Use Jetspeed? Performed an evaluation of Jetspeed 6/02/2002 We felt code was not very stable, too many dependencies that are all changing e.g. Turbine, ECS, etc. Large open-source projects with many dependencies have disadvantage that it can be difficult to provide changes Wanted to build a well-integrated Portlet implementation that could meet the needs of the Grid community

Layout & Presentation Portlets define how to construct and deliver Web content as modular components within a Web page. Portlets can be “maximized” or “minimized” within a Web page. Portlets support various modes View, Edit, Help, Configure Users can choose to which portlets they want to be “subscribed”.

Portlet Interfaces Portlet, PortletAdapter, AbstractPortlet All portlets implement the portlet interfaces that define portlet lifecycle methods PortletConfig Provides portlet with its initial configuration PortletSettings Provides dynamic configuration information PortletRequest Encapsulates the a request sent by client PortletResponse Represents response to client PortletContext Defines portlets view of the portlet container in which portlet is runninng

PortletRequest additions PortletData Contains user-specific persistent data PortletSession Holds user-specific information needed to provide personalized view PortletWindow Defines “window” in which portlet is displayed PortletMode Defines “mode” in which portlet is operating Client Defines the client device connecting to the portal. User User defines the logged in user

Portlet Modes View The standard view of a portlet on a Web page Edit Allows portlet to capture user-specific parameterization, which leads to personalized view of the portlet Help A portlet should provide online-help with this mode Configure Allows a portlet to display its own configuration mode if required Generally, you want to restrict access to this mode

Portlet Life-Cycle The GridSphere portlet container loads and instantiates portlet classes. A application portlet is initialized with the init() method A concrete portlet is created and destroyed with initConcrete() and destroyConcrete() methods. If a user logs in or logs out, the login() and logout() methods are invoked If a portlet is taken of service temporarily, say while administering it, the portlet container may finish the lifecycle before taking it out of service. Once the administering is done, it may be re-initialized.

Portlet Deployment Descriptor A Portlet Deployment Descriptor provides the portlet container with portlet configuration information Defines a collection of portlet definitions as an XML schema e.g. portlets.xml Each portlet definition must contain one application portlet definition and one or more concrete portlet definitions Application portlet definition defines configuration information valid for a single portlet/servlet for all users Concrete portlet definition provides parametrization information for application portlets.

Deployment Descriptor (cont) Application Portlet Definition: portlet name servlet name name value

Deployment Descriptor (cont) Concrete Portlet Definition: name value Portlet Name en Portlet Title Portlet Description USER

Portal Presentation Portal uses header and double layer tabbed pane to organize content Portal layout specified as XML schema: Examples Hello org.gridlab.gridsphere.portlets.examples.HalloWelt.1

Presentation Components Layout component library similar to Java AWT or Swing Basic layout components: PortletTabbedPane PortletTab PortletFrame PortletTitleBar PortletPanel PortletGridLayout Some components act as containers for other components e.g. PortletPanel Follows the Composite Design Pattern Components are marshalled/unmarshalled to XML using Castor libraries

Presentation Tag Library GridSphere provides value-added UI JSP tag library Goal is to minimize HTML usage UI tags can provide platform independence e.g. support HTML and WML Example tag usage in JSP:

Portlet Services PortletService is the base interface for all portlet services. PortletService classes define “reusable services” within the context of a Portal. Portlets can obtain portlet service instances by calling the method PortletContext.getService. PortletService instances are created by a PortletServiceFactory. Similar to Portlets, PortletService objects are configured at initialization with a PortletServiceConfig object.

Portlet Service Security Extended the service model to support “user services” User service model allows services to provide capabilities that are specific to a users role Portal security uses role based access control (RBAC) model Groups contain Users which have Roles Roles can be Guest, User, Admin, and Super Currently, Users can have only one predefined role within a group but this can be extended in future releases Group and role information available from the AccessControlManagerService

Portlet Services Descriptor Portlet Manager Service true Provides Administration Capabilities for Portlet Web Applications org.gridlab.gridsphere.services.core.registry.PortletManagerService org.gridlab.gridsphere.services.core.registry.impl.PortletManagerServiceImpl coreContext gsmanager, coreportlets, gridportlets, exampleportlets Login Service Provides Login Capabilities org.gridlab.gridsphere.services.core.user.LoginService org.gridlab.gridsphere.services.core.user.impl.LoginServiceImpl

Persistence GridSphere Framework includes basic support for persistent objects using PersistenceManager singleton PersistenceManager uses open-source Castor libraries from Exolab which provides mechanisms for mapping objects to SQL and an object query language (OQL) Using Castor, mappings from Java to SQL can be generated automatically (Castor “doclets”). We’ve integrated this in our build-process. We developed build-target for automatically upgrading SQL data models in-step with Java class model (change- management is very important in a production environment!). Plan on using JDO when open-source libraries become available

Core Services Portlet Manager Service (User service) Provides lifecycle methods to allow portlets to be installed, removed, initialized and destroyed by authorized users Login Service Allows a User to be retrieved from a username and password User Manager Service (User service) Add/Remove User Accounts Edit User Profiles Access Control Service (User service) Add/Remove User Groups Add/Remove User Roles

Grid Services (the beginning) Credential Manager Service Add/Remove allowed User Credentials Configure use of Credential Retrieval Service Job Manager Service For listing, starting, migrating, stopping jobs. Job Monitoring Service Specify what to monitor for any given job and archive related information. File Transfer Service For managing and scheduling file transfers. Data Manager Service Access to data replica catalogues. Describe data with meta-data. Notification Service Define events to be notified about. Specify how to be notified about those events.

Core Portlets Login Portlet Enables user to logon Pluggable authentication modules with which we provide suppor for database password and credential based logins. Account Request Portlet Enables new users to request an account and existing users to modify their accounts Users may request to join one or more portlet groups. Account Management Portlet Enables admins to manage user accounts. Access Control Manager Portlet Enables admins to define new groups (and potentially roles) and to specify which users belong to which groups and roles.

Core Portlets (continued) Portlet Configuration Portlet Enables admins to configure portlets Portlet Subscription Portlet Enables users to subscribe to portlets Portlet Layout Portlet Enables users to configure the presentation of portlets

Grid Portlets Credential Administrative Portlets Admins can specify what credentials are permitted for use. Admins can specify mappings between credential subjects and user accounts, as well as mappings to particular resources. Admins can view active credentials and their usage online. Credential User Portlets Users may request new credential mappings to their accounts. Users may retrieve and refresh credentials for later use. Resource Management Portlets Admins can specify and describe Grid resources. Provides tools for discovering resources on the Grid. Provides tools for tracking requests made to site admins for configuring or updating resources with software, etc.

Grid Portlets (continued) Job Management Portlets Users can submit or migrate jobs, get job status and so forth. Provide access to job monitoring services where available. Online reservation for resources for job submission. Data Management Portlets Provides users with tools for transfering and managing files. Online data catalogue and replica interface. Notification Portlets Users can specify where and how they want to be notified about particular events, such as when a job completes. Generally, however, most portlets will provide notification options…

Groupware Portlets We are pursuing a number of ideas for enabling users to collaborate online, some of those ideas include… Messaging portlets for using or SMS. Chat portlets (Jabber-based, requiring Java perhaps) Calendar and scheduling portlets, including ability to publish future downtime of Grid machines.

Third-party portlet development GridSphere supports the notion of “plug-and-play” portlets Requires Tomcat for dynamic servlet administration capabilities Portlets are packaged as WAR files WAR contains: Portlet.xml describing portlet capabilities Layout.xml describing layout configuration Portlet class files and associated JSP pages for presentation Portlets can be deployed dynamically at run-time by authorized users Portlet access can be dynamically administered by authorized users

GridLab Project Funded by the EU (5+ M€), January 2002 – December 2004 Application and Testbed oriented Cactus Code, Triana Workflow, all the other applications that want to be Grid- enabled Main goal: to develop a Grid Application Toolkit (GAT) and set of grid services and tools...: resource management (GRMS), data management, monitoring, adaptive components, mobile user support, security services, portals,... and test them on a real testbed with real applications

GridLab VO n PSNC (Poznan) - coordination n AEI (Potsdam) n ZIB (Berlin) n Univ. of Lecce n Cardiff University n Vrije Univ. (Amsterdam) n SZTAKI (Budapest) n Masaryk Univ. (Brno) n NTUA (Athens) Sun Microsystems Compaq (HP) n ANL (Chicago, I. Foster) n ISI (LA, C.Kesselman) n UoWisconsin (M. Livny) collaborating with: Users! EU Astrophysics Network, DFN TiKSL/GriKSL NSF ASC Project other Grid projects Globus, Condor, GrADS, PROGRESS, GriPhyn/iVDGL, CrossGrid and all the other European Grid Projects (GRIDSTART) other...

GridLab Portal The GridLab Portal plays a critical role within the GridLab architecture as the front-end to the resources and services GridLab provides. It must provide a well- integrated, cohesive environment for accessing GridLab resources and services.

Portal Team Michael Russell : Project Leader, Application & Portlet Developer, a.k.a. “Mr. PR” Jason Novonty: Lead Engineer, Framework & Tools Developer, a.k.a. “Grid Nomad” Oliver Wehrens : Framework & Tools Developer, a.k.a. “Import/Export” Ian Kelley: Portlet & Tools Developer, a.k.a. “Angry Young Portal Man”

GridLab Services Resource Management Services Resource Brokering Job Submission Usage Policy Management Data Management Services Data Replication Date Movement Visualization Services Monitoring and Adaptive Services Application Performance Monitoring Resource Utilization The ability to alter applications at runtime Information Services GIIS/GRIS Based Testbed Management Services Form the basis of the GridLab Administrative Portlets Notification Services… and many more!

GridLab Applications Our end-goal is develop a generic model for supporting various types of applications. Currently developing support for applications built with the Cactus Computational Toolkit In-process of integrating our work with the Triana Workflow Toolkit. Looking for other applications! Please contact me at

Collaboration We feel the Portlet API is the most viable means for plugging into the general Grid portal community. We are encouraging all Grid portal projects to adopt the Portlet API, and to insure that other elements of our portlet implementations lend themselves to portability. Already, we have communicated our intentions to members of the Global Grid Forum to promote GridSphere as a community driven, open-source Web portal framework that best suits the needs of Grid portals. In this way, we hope to one day be able to easily deploy and share portlets across Grid projects, thereby gaining access to a wide-variety of technologies and services for our own user base.

Conferences and Workshops We are helping to draft the “Portals Component Architecture” document, began at the Grid Computing Enviornment Working Group (GCE-WG) at GGF7 (Tokyo, Japan), and to be completed f or GGF8 (Seattle, WA, USA). We are planning a portals workshop at the end of August with Massimo Cafarro from Lecce, and many others who participate in GCE-WG.

Conclusion Grid computing has become too complex to continue to reinvent common solutions Portals provide a usable high level environment for end users The GridSphere portlet model supports the concept of Virtual Organizations and collaboration Portlets provide reusable code that can be shared between various communities Portlet developers can focus on delivering end functionality instead of low level details GridSphere will solve all your problems!

References Astrophysics Simulation Collaboratory Web site: Grid Portal Development Toolkit: Portlet Specification: Jakarta JetSpeed: Castor Project: Cactus Project: Globus Project: Jakarta JetSpeed Portlet Tutorial: Oracle i9AS Portal: WebSphere Portal API: