The GridLab Portal Portals & Portlets 2003 Jason Novotny novotny@aei.mpg.de Michael Russell russell@aei.mpg.de Oliver Wehrens wehrens@aei.mpg.de Albert Einstein Institute Portals & Portlets 2003, 14 July 2003 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 Portals & Portlets 2003, 14 July 2003 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 Gridenabled 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 Portals & Portlets 2003, 14 July 2003 GridLab VO PSNC (Poznan) - coordination AEI (Potsdam) ZIB (Berlin) Univ. of Lecce Cardiff University Vrije Univ. (Amsterdam) SZTAKI (Budapest) Masaryk Univ. (Brno) NTUA (Athens) Sun Microsystems Compaq (HP) ANL (Chicago, I. Foster) ISI (LA, C.Kesselman) UoWisconsin (M. Livny) collaborating with: Portals & Portlets 2003, 14 July 2003 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 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 Resources, user profiles, applications… Testbed Management Services Grid-wide administration, testing and QA services. Notification Services… and many more! Portals & Portlets 2003, 14 July 2003 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 wellintegrated, cohesive environment for accessing GridLab resources and services. Portals & Portlets 2003, 14 July 2003 Gateway to GridLab Portals & Portlets 2003, 14 July 2003 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: Single sign-on to all elements of portal Support for authorizing access to all elements of portal The ability to administer the portal at runtime Built-in support for persistence management Caching and connection pooling Model-View-Controller pattern Support for multiple devices (PCs, mobile phones, PDAs) Portals & Portlets 2003, 14 July 2003 MVC Pattern Support for the MVC Pattern is just one of the many aspects that are important to a solid Grid portal framework. Portals & Portlets 2003, 14 July 2003 Early 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) Portals & Portlets 2003, 14 July 2003 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. Portals & Portlets 2003, 14 July 2003 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. Users can choose to which portlets they want to be “subscribed”. Portals & Portlets 2003, 14 July 2003 Portlet Implementations Jakarta Jetspeed jPortal IBM WebSphere Oracle i9AS Portal GridSphere… Portals & Portlets 2003, 14 July 2003 GridSphere Project GridSphere is already in beta mode…. We are using it to support the development of the GridLab Portal and several other portal projects. Visit our website is at http://www.gridsphere.org Portals & Portlets 2003, 14 July 2003 GridSphere Feature List Portlet API implementation nearly fully compatible with IBM's WebSphere 4.2. Support for the easy development and integration of "third-party portlets" Higher-level model for building complex portlets using visual beans and the GridSphere User Interface (UI) tag library. Flexible XML based portal presentation description can be easily modified to create customized portal layouts. Built-in support for Role Based Access Control (RBAC) separating users into guests, users, admins and super users. Sophisticated portlet service model that allows for creation of "user services", where service methods can be limited according to user rights. Portals & Portlets 2003, 14 July 2003 GridSphere Feature List (cont.) Persistence of data provided using Castor JDO for RDMS database support Integrated Junit/Cactus unit tests for complete server side testing of portlet services including the generation of test reports. Documentation uses DocBook for HTML & PDF output of guides and tutorials GridSphere core portlets offer base functionality including login, logout, user and access control management. Localization support in the Portlet API implementation and GridSphere core portlets support English, German, Czech, Polish, Hungarian and Greek. Open-source and 100% free! :-) Portals & Portlets 2003, 14 July 2003 But wait, there’s more… Our goal is to develop a general web portal framework that can be used to host information oriented web sites, like www.gridlab.org. We’re developing more advanced content management tools (in the “conman” webapp) to support online and offline content management. In essense, going the opposite route the CHEF Portal folks went… from Grid to Web and back again. Portals & Portlets 2003, 14 July 2003 GridLab Portal Revisited In the GridSphere model, the GridLab Portal is a portlet web application managed with the GridSphere framework. The GridLab Portal is a collection of portlets for using the services developed by the GridLab Project. Ideally, if the Portlet API were available and a standard deployment model existed, the GridLab Portal web application would be reusable in other portlet frameworks, like JetSpeed. The GridLab Portal is currently in alpha development but will be online soon! Portals & Portlets 2003, 14 July 2003 GridLab Portal Status The following portlets have been prototyped: Credential retrieval and administration Using latest MyProxy client Job submission GridLab Resource Management System Globus Gatekeeper Condor Job Manager (over GSI-SSH) (GridLab) Monitoring Generic interface to monitoring service Outside developers are getting involved: Martin Kuba from WP5 Jean-Claude and others from NRC Portals & Portlets 2003, 14 July 2003 Future Development GAT integration We’re already buidling portlet service factories that hide the underlying details of working with remote services. Within the GridLab Project, we’re developing the Grid Application Toolkit as Grid access layer. OGSA integration Make it easier to use OGSA services within portal. Make it easy to publish portlet services as OGSA, thereby turning GridSphere into an OGSA development environment. IDE We are already building higher-level tools to support portlet development. We would like, one day, to explore the idea of building a visual integrated development environment (IDE). Flash presentation By adhering to the MVC model and using JSP strictly for rendering (i.e. keeping all programming logic inside Java, not JSP) we can consider rendering our portlets in other technologies. One of our colleagues (at one point) agreed to prototyping a Flash presentation layer. Portals & Portlets 2003, 14 July 2003 External Collaborations Working to support GridSphere for the general Grid portal community Collaborations with folks from Canadian National research Council (NRC) to develop grid data transfer portlets using GridFTP Collaborations with SZTAKI research center in Budapest to use GridSphere to support users of SuperGrid and ClusterGrid projects Collaboration with physicists at Albert-Einstein-institute in Berlin to develop portlets for studying numerical relativity. Submittted proposal to support development of ENZO-Grid Portal. Collaborating with the Global Grid Forum (GGF) on enhancing the usefulness and awareness of portlets in the Grid Computing Environments WG. Interested in promoting GridSphere and Portlets to more communities! Please e-mail us if interested! Portals & Portlets 2003, 14 July 2003 Conclusion GridSphere is one of many implementations of the Portlet JSR. The point is Portlets is the standard for the future of Web development. But this standard and how it is being used is still evolving! We hope to play an active role here! Portlets are just the beginning… there are many other aspects to portal development that we are exploring and are just now starting to apply to real application scenarios. More information can be found on our GridLab web pages at http://www.gridlab.org/WorkPackages/wp-4 Visit our project website at http://www.gridsphere.org! Portals & Portlets 2003, 14 July 2003 Some References GridSphere Project http://www.gridsphere.org GridLab Project http://www.gridlab.org Astrophysics Simulation Collaboratory http://www.ascportal.org Grid Portal Development Toolkit: http://www.doesciencegrid.org/Projects/GPDK Portlet Specification: http://www.jcp.org/en/jsr/detail?id=168 Jakarta JetSpeed: http://jakarta.apache.org/jetspeed Cactus Project: http://www.cactuscode.org Globus Project: http://ww.globus.org Jakarta JetSpeed Portlet Tutorial: http://www.bluesunrise.com/jetspeed-docs/JetspeedTutorial.htm WebSphere Portal API: http://www7b.software.ibm.com/wsdd/zones/portal/portlet/4.2api/ Portals & Portlets 2003, 14 July 2003