1 / 40

GridSphere Portal Framework

GridSphere Portal Framework. Oliver Wehrens ( wehrens@aei.mpg.de ). Agenda . Portals JSR 168 and why you should use it Grid Portals GridSphere. Portals. What are Portals ?. What is a portal ?.

Download Presentation

GridSphere Portal Framework

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GridSpherePortal Framework Oliver Wehrens (wehrens@aei.mpg.de)

  2. Agenda • Portals • JSR 168 and why you should use it • Grid Portals • GridSphere

  3. Portals

  4. What are Portals ?

  5. What is a portal ? • A portal is a Web-based application that provides personalization, single sign-on, and content aggregation from different sources, and hosts the presentation layer of information systems. Aggregation is the process of integrating content from different sources within a Webpage. A portal may have sophisticated personalization features to provide customized content to users. Portal pages may have different sets of portlets creating content for different users. (javaworld.com)

  6. Portals • Web based portals can provide a customizable user environment. • Portals act as a gateway between users and services • Portal standards have evolved to enable separation of business functions from application server • Portlets are the driving concept to deliver reusable web functionality

  7. Components of a Portal • Single Point of Access - Single sign on • Different modules can be accessed • Unified look & feel • Different types of portals • Internet portals for content aggregation • Application portals (intra/internet) • Mixture of both

  8. JSR 168

  9. JSR 168 • The Portlet Java Specification Request (JSR-168) lays the foundation for a new open-standard for Web portal development frameworks. • Available summer/fall 2003 • Gained lots of support • Apache Software Foundation • BEA Systems • IBM  • Novell, Inc. • Oracle • SAP AG • Sun Microsystems, Inc. • Vignette • ...

  10. JSR 168 (cont.) • Reference Implementation (Apache Pluto) and certification (TCK) from SUN are available • Many other open source and commercial portal containers are available today (uPortal, liferay, IBM Websphere, Sun Portal Server) • Find more about this at http://www.jcp.org/?jcp=168

  11. JSR 168 Promises • This specification establishes a standard API for creating Portlets, thus avoiding locking in Portal developers in a specific implementation and allowing Portlets developers to reach a wider audience while reducing their development efforts. • The Portlet specification is required to achieve interoperability between Portlets and Java-based Portal servers or other web applications that implement the specification. The goal is to allow Portlets to be packaged into WAR files and deployed in a standard way on any server implementing the specification.

  12. JSR 168 • 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. • Does not say anything about layout, user management, etc. This is up to the portal implementation.

  13. Why use Portals/JSR 168? • Reducing Development effort • Developer does not have to care about user management, security, access rights • e.g. the Portlet API has build in support for persisting preferences per portlet/user • Layout is handled by the portlet container and does not need to be programmed • Programmer can focus on the business logic • Interoperability between Portal Servers • Write once run on any portal server (almost ;-) )

  14. JSR 286 • Portlet Specification 2.0 • Currently under Review • Might be final at the end of the year • Will introduce some of the desired features which did not make it into JSR 168 (e.g. inter portlet communication) • Reference Implementation will be available from the Apache Group

  15. Grid Portals Slides by Marlon Pierce

  16. What Is a Grid Computing Portal? • Browser based user interface for accessing grid and other services • “Live” dynamic pages available to authenticated, authorized users. • Use(d) Java/Perl/Python COGs • Manage credentials, launch jobs, manage files, etc. • Hide Grid complexities like RSL • Can run from anywhere • Unlike user desktop clients, connections go through portal server, so overcome firewall/NAT issues

  17. What Is a Grid Computing Portal? • Combine “Science Grid” with traditional web portal capabilities • Get web pages for news feeds • Post and share documents • Search engine interfaces, calendars, etc. • Enabled by portlets • Customizable interfaces and user roles/views

  18. Three-Tiered Architecture • Three-tiered architecture is accepted standard for accessing Grid and other services Grid and Web Protocols JDBC, Local, or Remote Connection Portal Client Stub Database Service Database Portal User Interface Portal Client Stub Grid Resource Broker Service HPC or Compute Cluster Portal Client Stub Information and Data Services Grid Information Services, SRB

  19. GridSphere

  20. GridSphere • The primary goal of the GridSphere Project is to develop a Grid portal framework that we call GridSphere • GridSphere is a JSR-168 compliant portlet container that offers a set of core portlets that provide the base functionality we think is required for all Web portals. • GridSphere also provides a framework for developing and packaging portlets as well as additional libraries to make portlet development easier

  21. GridSphere History • 2002: EU 5th Framework Program Project ‘Gridlab’ started development of GridSphere • 2003: GridSphere evolves into highly functional portal complete with core set of portlets, sophisticated service model and visual tag library • 2004: JSR 168 Portlet API implementation • 2005: Gained adoption in eScience communities worldwide, e.g. APAC choose GridSphere as their Portal of choice • 2006: Integral Part of D-Grid and many other projects, Development of next major release started • 2007: Version 3.0 available

  22. GridSphere Feature List • Portlet API passed Sun TCK and is 100% JSR 168 compliant • Additional Portlet API implementation nearly fully compatible with IBM's WebSphere 4.2 (in version 2.x). • Support for the easy development and integration of new portlet applications • 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.

  23. GridSphere Feature List • Persistence of data provided using Hibernate OQL for database support • Integrated Junit/Cactus unit tests for complete server side testing of portlet services including the generation of test reports. • GridSphere core portlets: • Login, Logout, Locale settings • Profile personalization • Administration portlets for creation of users, groups, portlet management and portal layout customization

  24. GridSphere Feature List (cont.) • Sophisticated portlet service model that allows for creation and reusability of new business logic with support for persistence of data • Localization support in the Portlet API implementation and portlets support French, English, German, Czech, Polish, Hungarian and Italian. Even Arabic and Chinese as well ;-) • Open-source and 100% free! • 2.x License similar to Globus Toolkit • 3.x is released under Apache License

  25. i18n

  26. Grid Portlets • The GridSphere portlet container is designed to be web application independent. Indeed, one of the key advantages of the Portlet API is the reuse of web applications. • Thus, the GridSphere portlet container does not contain any support for using Grid technologies. • Instead, GridSphere’s Grid related functionality is contained in a web application we call Grid Portlets. • Grid Portlets, together with the GridSphere portlet container, offers a generic Grid portal and can be used to develop application-specific Grid portal applications.

  27. The Grid Portlets Project • High-level API and model of the Grid. • Portlets that provide basic Grid functionality • Distributed with support for GT2/GT4. • Supports ability to “plugin” support for other Grid technologies in a variety of ways.

  28. Typical Tasks • Need credential • Locate executable • Add parameters and parameterfiles • Choose machine to run on • Transfer executable & parameterfiles to the selected resource • Execute job • Get Status on job • Transfer StdOut/StdErr and other outputfiles

  29. GridSphere’s Grid Portlets • Credential Manager Portlet • File Browser Portlet • Job Submission Portlet • Resource Browser Portlet • Resource Registry Portlet Resource Registry Portlet.. File Browser Portlet...

  30. public void init(PortletConfig config) throws PortletException { super.init(config); try { ums = (UserManagerService)createPortletService(UserManagerService.class); cms = (CredentialManagerService)createPortletService(CredentialManagerService.class); crs = (CredentialRetrievalService)createPortletService(CredentialRetrievalService.class); } catch (PortletServiceException e) { log.error("Unable to initalize Credential/UsermanagerService."+e); } } GridPortlet Services • Everything is wrapped up in services • CredentialManagerService • JobSubmissionService • UserManagementService • ... • To use these any portlet or other service has to instantiate the needed services

  31. Submit a Job I • Defining a method to submit a Job to a remote machine • Parameter: userinformation, hostname, number of cpu's, directory, executable and parameterfile public Job submitSimulation(User user, String hostName, int numCpus, String directory, FileLocation executable, FileLocation parameterFile) throws PortletException {

  32. Job job = null; try { // Create the job spec log.debug("Creating job spec for " + user.getUserName()); JobSpec jobSpec = jobSubmissionService.createJobSpec(JobType.INSTANCE); jobSpec.setUser(user); // Set the directory jobSpec.setDirectory(directory); // Set the executable location // The executable could be on the local host // on the same host as job, or some other host jobSpec.setExecutableLocation(executable); Submit a Job II • JobSpec holds a specification for a • Can also set the location of stdOut/Err

  33. Adding paramters • Very easy to add paramters and parameterfiles • If parameterfile needs to be copied to the machine just add it as 'staged' parameter, will be staged to the same directory where this job will be run • set the Host and # of cpu's used // Add the parameter file name as an argument jobSpec.addArgument(parameterFile.getFileName()); // Add the parameter file as a file stage parameter jobSpec.addFileStageParameter(parameterFile); // Set host name jobSpec.setHostName(hostName); // Assume we want mpi job if num cpus > 1 if (numCpus > 1) { jobSpec.setExecutionMethod(ExecutionMethod.MPI); jobSpec.setCpuCount(new Integer(numCpus)); }

  34. // Submit the job job = jobSubmissionService.submitJob(jobSpec); } catch (JobException e) { log.error("Unable to submit job", e); throw new PortletException(e.getMessage()); } return job; } Submitting the Job • Use the JobSubmissionsService to submit the job

  35. GridSphere Vine Toolkit • Developed by a group at Poznan Supercomputing and Networking Center • Evolved from GridSphere GridPortlets • Brand new, to be released fall this year (OGF Seattle) • Support for GT2/GT4 • GLite/Unicore is in development • Already available: • voms-proxy support • Automated user creation • Initial support for SRM • Job Submission

  36. GridSphere Adoption • In the US • Open Grid Computing Environment (OGCE) • TeraGrid (i.e. the LEAD Portal) • USCD, SDSC, LSU-CCT and other institutes • In Europe • OMII-Europe, HPC-Europa and other trans-Europe projects • UK E-Science, D-Grid and other European national initiatives • Australian Partnership for Advanced Computing • In Asia • K*Grid / E-Science • UCLA GridPortal based on GridSphere is now Globus Incubator Project

  37. Community outreach • We regularly hold & participate in events around the world • GridSphere Workshops • PSNC - 6-7 November 2006 • Mardi Gras 2005, etc.. • Portals & Portlets Workshops • Edinburgh July 2003 - Co-organized • Edinburgh July 2006 • Supercomputing conferences since 2003! • GGF / OGF since 2003!

  38. gridsphere.org visitors • Gathered using Google Analytics (March 2007)

  39. gridsphere.org • Website: http://www.gridsphere.org • BugTracker: http://bugs.gridsphere.org (Jira) • Subversion: http://svn.gridsphere.org • Mailingslists gridsphere-devel, gridsphere-users (http://lists.gridsphere.org) • Documentation & Tutorials are available on website as well: http://docs.gridsphere.org (wiki) • Build Reports: http://build.gridsphere.org • Always looking for people to contribute

  40. Summary • If you need access to your Grid via a Webbrowser, use a JSR 168 portal • You can develop on one portal and deployed it on another, no vendor lock in • A portal framework provides all common functionality like user management, layout etc. • GridSphere and GridPortlets/Vine provide functionality to use the Grid from a Browser • Provides both Visual Components as well as an API to tailor it to your needs

More Related