GridSphere: A Portal Framework Jason Novotny Michael Russell Oliver Wehrens Albert Einstein Institute.

Slides:



Advertisements
Similar presentations
Jason Novotny GridSphere / Portlets GridSphere Status Update Jason Novotny Lawrence Berkeley National Laboratory Jason Novotny,
Advertisements

1 Actuate Corporation © 2010 THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE.
Apache Struts Technology
An architecture for webb applications, J2EE
IBM WebSphere Portal © 2008 IBM Corporation 1 Deliver an Irresistible User Experience  Provides an interactive user experience  No programming needed,
Starting with Gridsphere Albert Einstein Institute Gridsphere Installation.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of The Eclipse Web Tools Platform.
GridScape Ding Choon Hoong Grid Computing and Distributed Systems (GRIDS) Lab. The University of Melbourne Melbourne, Australia WW Grid.
Indianapolis Java User Group JSR-168 Portal Presentation Introduction: Kurt Desserich.
UPortal: A framework for the Personalization of Library Services John Fereira: Programmer/Analyst Cornell University Mann Library.
Portlet Deployment Albert Einstein Institute Deploying JSR portlet applications to GridSphere.
Java Portlets (JSR-168) SSE USTC Qing Ding.
Portals and portlets Sean C. Sullivan October 24, 2006 Portland Java Users Group.
UNIT-V The MVC architecture and Struts Framework.
Portal and AQAS-Philadelphia University 21-22/6/2011 AVCI Platform in PU Dr. Abdel-Rahman Al-Qawasmi Philadelphia University Director of Computer Center.
JavaServer Faces: The Fundamentals Compiled from Sun TechDays workshops (JSF Basics, Web-Tier Codecamp: JavaServer Faces, Java Studio Creator; IBM RAD)
11. Java-Based Web: JSP, JSF. 2 Motto: Rule 1: Our client is always right Rule 2: If you think our client is wrong, see Rule 1. - Anonymous.
Supervisor: Victor Kulikov Oded Duek Aviv Grinblat Final presentation Spring 2010.
NBCR Summer Institute 2006 GridSphere:Hands-on Installation and Development Jason Novotny
Java Beans.
Portals & Portlets 2003 GridSphere: A Portal Framework An Overview Jason Novotny Michael Russell
Indianapolis Java User Group Portal Presentation - Part 2 Introduction: Kurt Desserich.
Portals Team GridSphere: A Grid Portal Framework An Overview Ian Kelley Jason Novotny
INDIVIDUAL ACHIEVEMENT. EDUCATIONAL EXCELLENCE. ADMINISTRATIVE INNOVATION. INSTITUTIONAL PERFORMANCE. 1 Develop and Deploy JSR-168 Portlets Presented by:
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
® How to Build IBM Lotus Notes Components for Composite Applications 정유신 과장 2007 하반기 로터스 알토란.
GridSphere/Portlet Workshop, March 3 rd – 4 th, 2005 LC Portal via GridSphere Mark Baker and Hong Ong Distributed Systems Group University of Portsmouth.
J2EE Structure & Definitions Catie Welsh CSE 432
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.
New uPortal Contributions from the University of Wisconsin-Madison Jim Helwig University of Wisconsin-Madison Eric Dalquist Unicon, Inc. JA-SIG December.
1 ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe confidential. 1 Building Portlets with ColdFusion Pete Freitag Foundeo, Inc.
Peter Laird. | 1 Building Dynamic Google Gadgets in Java Peter Laird Managing Architect WebLogic Portal BEA Systems.
GridLab Review - WP4 WP4 - Grid Portals GridLab Review Michael Russell Albert Einstein Institute.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Java Portals and Portlets Submitted By: Rashi Chopra CIS 764 Fall 2007 Rashi Chopra.
JSF Framework Java Server Faces Presented by Songkran Totiya (6/10/2014)
JSR 168 Overview Copyright © 2000 – 2007 Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
Portlets 1.
All Hands Meeting 2005 GridSphere: A Portal Framework Jason Novotny
Dr. David Roldán Martínez Universidad Politécnica de Valencia, Spain & Nuno Fernandes Universidade Fernando Pessoa, Portugal Site Stats, the power of event.
UPortal and CHEF Charles Severance University of Michigan
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
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
Portals: Architecture & Best Practices Greg Hinkle February 2005.
Enterprise Portals Empowering Business via Technology Rajesh Moparthi.
AHM, Aug-30-Sept-2, 2004 Virtual Research in the UK: Advanced Portal Services Mark Baker and Hong Ong Distributed Systems Group University of Portsmouth.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
1 Java Server Pages A Java Server Page is a file consisting of HTML or XML markup into which special tags and code blocks are inserted When the page is.
July 28, 2004WSRF Technical Committee F2F meeting1 WSRP leveraging WSRF Use case for Portlets as WS-Resources.
Rendering Syndicated Library Content in an Institutional Portal: Integrating MyLibrary into uPortal John Fereira: Cornell University Eric Lease Morgan:
APACHE STRUTS ASHISH SINGH TOMAR ast2124. OUTLINE Introduction The Model-View-Controller Design Pattern Struts’ implementation of the MVC Pattern Additional.
Securing Web Applications Lesson 4B / Slide 1 of 34 J2EE Web Components Pre-assessment Questions 1. Identify the correct return type returned by the doStartTag()
Expense Tracking System Developed by: Ardhita Maharindra Muskan Regmi Nir Gurung Sudeep Karki Tikaprem Gurung Date: December 05 th, 2008.
SDJ INFOSOFT PVT. LTD. 2 BROWSERBROWSER JSP JavaBean DB Req Res Application Layer Enterprise server/Data Sources.
By Jonathan Smith. Road Map Introduction Company Information Project Overview Java Web Design and Development Summary Relation to IUP Acknowledgments.
Apache Struts Technology A MVC Framework for Java Web Applications.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax:
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
Portals and Portlet Containers How Portals play an important role in e-Research applications. Mathew Wyatt.
Tutorial on Science Gateways, Roma, Riccardo Rotondo Web Application Development Introduction to application servers, web applications and portlets.
Introduction to portlet development Carla Carrubba INFN Dpt. Of Catania Giuseppina Inserra
Portals: Background, Development & Conversion
Sri Vatsav Konreddy CIS 764 FALL 2007
Cognos 8 Cognos Connection Cognos CoE
Building an Integrable XBRL Portal Daniel Hamm German Central Bank
JavaServer Faces: The Fundamentals
Presentation transcript:

GridSphere: A Portal Framework Jason Novotny Michael Russell Oliver Wehrens Albert Einstein Institute

Introduction Web based portals 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

Portal standards JSR 168 Portlet API ratified August 2003 Similar to Servlet API in providing reusable web applications Ratified by vendors including BEA, Sun, IBM, Oracle, Plumtree and others... WSRP (Web Services for Remote Portlets) ratified by OASIS committee Specifies how web services can be consumed by standards compliant portals Java Server Faces ratified Specifies an event based user interface for web presentation development

Portlets Standardized packaging model makes it easier to share portlet applications among portal vendors. Supports window states and mode settings like desktop environment

Portlet Implementations Current vedors offer compliant portals or fix-it packs... IBM WebSphere Oracle 10g Portal Sun Application Server Jakarta Pluto open-source implementation of Portlet API Used by Jetspeed, uPortal, wsrp4j Jetspeed 2 still not out... Emerging open source projects Exo and Liferay And GridSphere...

GridSphere 2.0 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. (GridSphere 2.0) 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. Sophisticated portlet service model that allows for creation and reusability of new business logic with support for persistence of data

GridSphere 2.0 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 and Layout customization Administration portlets for creation of users, groups, portlet management and portal layout customization Localization support in the Portlet API implementation and portlets support French, English, German, Czech, Polish, Hungarian and Italian. Open-source and 100% free! :-)

GridSphere Implementation The GridSphere portlet container is implemented as a web application and requires a hosting environment such as the Jakarta Tomcat container. Many additional libraries are used and deployed to the servlet container during installation.

Portlet Life-Cycle The GridSphere portlet container loads and instantiates portlet classes. Portlet Container Portlets Rendered output GridSphere Portal initializedrenderprocessActiondestroy

JSR 168 Portlet Interfaces Portlet, GenericPortlet All portlets must implement Portlet interface or subclass from GenericPortlet that define portlet lifecycle methods PortletConfig Provides portlet with its initial configuration RenderRequest, ActionRequest Encapsulates the a request sent by client RenderResponse, ActionResponse Represents response to client PortletContext Defines portlets view of the portlet container in which portlet is runninng PortalContext Provides vendor information and portal properties

PortletRequest additions PortletPreferences 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 User information defined in request attribute as a map of key value pairs

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 (not required by spec. but supported) Allows a portlet to display its own configuration mode Generally, you want to restrict access to this mode to portal administrators

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. portlet.xml A portlet definition defines configuration information valid for a single portlet/servlet for all users Specifies portlet deployment attributes Supported markups, portlet modes and window states Display name and title information Security role information Supported locales Time for portlet to expire cached output

Deployment Descriptor (cont) A TextMessagingPortlet TextMessagingPortlet TextMessaging org.gridlab.gridsphere.extras.portlets.textmessaging.TextMessagingPortlet 60 text/html help text/wml edit help en TextMessaging TextMessaging textmessaging GUEST auth-user

GridSphere Lifecycle GridSphere Servlet Core services Portlets Layout Engine init() render() action() Users Layout TabbedPane Tab Frame TitleBar etc... doView() processAction() client request

GridSphere Presentation Portal uses header and double layer tabbed pane to organize content Portal layout specified as XML descriptor: 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 All components have init, action and render lifecycle methods 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:

Presentation tags continued Additional “container” tags make it possible to quickly create interfaces that hide CSS/HTML from presentation design

Visual Bean Model For each visual tag, there is a visual bean counterpart that provides access to the visual component from the portlet. A visual bean is obtained from a FormEvent object public void doViewUserFiles(RenderFormEvent event) throws PortletException { log.debug("in LoginPortlet: doViewUser"); RenderRequest request = event.getRenderRequest(); ListBoxBean lb = event.getListBoxBean("filelist"); lb.clear(); String userid = (String)request.getAttribute(”userid”); String[] list = userStorage.getFileList(userid); … }

Portlet Services A “portlet service” moves logic from a portlet to a reusable service that may be used by other portlets PortletService is the base interface for all portlet services. PortletService instances are created by a PortletServiceFactory. Similar to Portlets, PortletService objects are configured at initialization with a PortletServiceConfig object. A service may be created per instance or cached PortletServices can make use of GridSphere provided persistence classes. Similar to Spring service framework

Portlet Services Descriptor Portlet Manager Service Provides Administration Capabilities for Portlet Web Applications org.gridlab.gridsphere.services.core.registry.PortletManagerService org.gridlab.gridsphere.services.core.registry.impl.PortletManagerServiceImpl 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 Hibernate libraries which provides mechanisms for mapping objects to SQL and an object query language (OQL) Hibernate supports many databases including hsqlDB, MySQL, Postgres, Oracle, etc.. Every portlet app manages its own database keeping data independent

GridSphere Security Access control based on 4 defined roles within a group: Guest < User < Admin < Super A guest is anyone that has not logged in An admin has permissions to manage users in the group and edit group layout Super is the portal administrator A group defines a set of deployed portlets with access restrictions Users can be in multiple groups, but can only add portlets that they have access to

GlobusWorld 2004 Core User Portlets Login/Logout portlet Enables user to logon/logout Allows user to refresh password if forgotten Configurable option enables new users to request an account. Locale portlet Simple locale chooser in the portal banner offers support for 7 languages User profile portlet Enables users to configure personal information e.g. name, , locale, preferences Layout configuration portlet Enables users to customize their layout by creating new tabs which portlets can be easily added to.

GlobusWorld 2004 Core Administrative Portlets User Manager Portlet Enables admins to create/delete/edit portal users Group Manager Portlet Enables admins to add/remove users to/from portlet groups Enables admins to select whether a group is public or private (public means anyone can join, private requires an administrator approval) Portlet Manager Portlet Enables admins to start, stop, or redeploy a portlet application Layout Manager Portlet Enables admins to edit existing group layouts

Extra Portlets GridSphere provides “extras” portlet application: Text Messaging portlet communicates to IM users Photo album portlet allows users to upload and display photos Poll portlet to create polls and display results Chart portlets demonstrating a chart service that uses JFreeChart to display plots, timeseries graphs, etc. Commander portlet manages secure portal filesystem to upload, download and transfer files

Future directions Integrate JSF into portlet development Develop a WSRP “consumer” portlet using WSRP4J Support JSR 170, content management Further improve upon the GridSphere portlet development model Continue seeking collaborations with other groups requiring portal frameworks