How Do You Implement Them?

Slides:



Advertisements
Similar presentations
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Advertisements

OASIS WSRP Technical Commitee Web Services for Remote Portlets (WSRP) Overview OASIS WSRP Technical Commitee September, 2003.
Web Services Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
IBM WebSphere Portal © 2008 IBM Corporation 1 Deliver an Irresistible User Experience  Provides an interactive user experience  No programming needed,
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved Chapter 42 Web Services.
Wesley Budziwojski Senior Architect Sun ONE Portal Server Web Services for Remote Portlets, WSRP Jun/2003.
2006 JavaOne SM Conference | Session TS-4160 | © 2006 by IBM Create, Test, and Consume Web Services with the Eclipse Web Tools Platform Jeffrey Liu, Release.
Indianapolis Java User Group JSR-168 Portal Presentation Introduction: Kurt Desserich.
Java Portlets (JSR-168) SSE USTC Qing Ding.
Introduction to UDDI From: OASIS, Introduction to UDDI: Important Features and Functional Concepts.
Indianapolis Java User Group Portal Presentation - Part 2 Introduction: Kurt Desserich.
OASIS ebXML Registry Standard Open Forum 2003 on Metadata Registries 10:30 – 11:15 January 20, 2003 Kathryn Breininger The Boeing Company Chair, OASIS.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere.
第十四章 J2EE 入门 Introduction What is J2EE ?
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
J2EE Structure & Definitions Catie Welsh CSE 432
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
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.
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.
Java Portals and Portlets Submitted By: Rashi Chopra CIS 764 Fall 2007 Rashi Chopra.
Zdenek Nejedly, Campus Services Rasim Duric, Lelio Fulgenzi, Deborah MacDougall, Networking Services Computing & Communications Services University of.
Web Services Presented By : Noam Ben Haim. Agenda Introduction What is a web service Basic Architecture Extended Architecture WS Stacks.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
1 Registry Services Overview J. Steven Hughes (Deputy Chair) Principal Computer Scientist NASA/JPL 17 December 2015.
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.
OASIS | November 16, 2003 Organization for the Advancement of Structured Information Standards OASIS OASIS | November 18, 2003 Web Services Remote Portlets.
Providing web services to mobile users: The architecture design of an m-service portal Minder Chen - Dongsong Zhang - Lina Zhou Presented by: Juan M. Cubillos.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
The Jetspeed Portal Bluesunrise.com and The Apache Software Foundation January 28, 2002 From
Portals, Services, Interfaces Marlon Pierce Indiana University March 15, 2002.
July 28, 2004WSRF Technical Committee F2F meeting1 WSRP leveraging WSRF Use case for Portlets as WS-Resources.
AJAX Use Cases for WSRP Subbu Allamaraju BEA Systems Inc WSRP F2F Meeting, May 2006.
Web Services for Remote Portlets (WSRP) WSRP Kickoff Meeting March Dr. Carsten Leue Thomas Schäck Peter Fischer.
OASIS ebXML Registry Standard Open Forum 2003 on Metadata Registries 10:30 – 11:15 January 20, 2003 Kathryn Breininger The Boeing Company Chair, OASIS.
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
Web Services. Web Service: Simple definition : “ Service Offered On the Web “ Technically : “ A Web Service is a programmable application component that.
OASIS WSRP Technical Commitee Web Services for Remote Portals (WSRP) Overview OASIS WSRP Technical Commitee April, 2002.
Net-centric Computing Web Services. Lecture Outline  What is Web Service  Web Service Architecture  Creating and using Java Web Services  Apache Axis.
Topics to be covered (ni) Client side validation JSF (free tools as well) Webservices Tell Resources e.g. sites Packaging and deploying web applications.
The Holmes Platform and Applications
Java Web Services Orca Knowledge Center – Web Service key concepts.
Access Policy - Federation March 23, 2016
Portlet specification
Portals: Background, Development & Conversion
Web Programming Developing Web Applications including Servlets, and Web Services using NetBeans 6.5 with GlassFish.V3.
Sabri Kızanlık Ural Emekçi
Subbu Allamaraju BEA Systems Inc
Sri Vatsav Konreddy CIS 764 FALL 2007
Notification Service May 19, 2006 Jon Atherton Mark Mara.
Introduction to J2EE Architecture
Unit 6-Chapter 2 Struts.
Web Services for Remote Portals (WSRP) Overview
Web-Services-based Systems Architecture, Design and Implementation
Distributed System Using Java 2 Enterprise Edition (J2EE)
Services-based Systems Architecture, Design and Implementation
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
Objectives In this lesson you will learn about: Need for servlets
WEB SERVICES DAVIDE ZERBINO.
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Introduction to Web Services
Distributed System using Web Services
Chapter 42 Web Services.
Introduction to Web Services and SOA
Distributed System using Web Services
Presentation transcript:

How Do You Implement Them? What are Portlets and How Do You Implement Them? Rima Patel Sriganesh Technology Evangelist Sun Microsystems, Inc.

Obectives Introduce Portlet components Provide information on various Portlet standards efforts Provide a basic how-to understanding about implementing Portlet components

Agenda Introduction to Portals and Portlets Portlet Standards JSR 168 Portlet Specification WSRP Web Services for Remote Portals Sample implemenation of a HelloWorld Portlet Resources

Agenda Introduction to Portals and Portlets Portlet Standards JSR 168 Portlet Specification WSRP Web Services for Remote Portals Sample implemenation of a HelloWorld Portlet Resources

Portals Portals are becoming a platform for Integration Aggregation Delivery of applications and content through different channels and devices Portals are common entry point for accessing applications and content

Portal Functions Typical portal functions Authentication and Authorization Personalization Customization Searching User relationship management Registration, Profile management, etc. Single sign-on Etc.

Portal example

Portlets Portals comprises of components called Portlets Alike web components such as Servlets with special properties Each Portlet produces a markup fragment that is combined with markup generated by other portlets, all within a portal page markup Designed to be aggregatable in larger context of a portal page

Portlet Context Managed by host Portal Provides information pertaining to User profile Individual portlet instance data Portlet settings UI related Portlet Window State (Min, Max, etc.) Portlet Modes (View, edit, configuration, help, etc.) Portlet Events (actions)

Portlet example If clicked on Edit, Portlet would generate appropriate EVENT and Perform appropriate ACTION UI related settings * Portlet is currently in View mode * Many such portlet components are invoked in a single request for a Portal page

Positioning of Portlet An important Service Delivery architectural component Other Service Delivery architectural components Java Server Pages (JSPTM) Application Frameworks Iplanet JATO/JSF (JSR 127) Struts, etc.

Agenda Introduction to Portals and Portlets Portlet Standards JSR 168 Portlet Specification WSRP Web Services for Remote Portals Sample implemenation of a HelloWorld Portlet Resources

JSR 168 Portlet Specification Aims towards Enabling interoperability between Portals and Portlets Defining a set of APIs for addressing different areas of Portal computing Aggregation Personalization Presentation Security Based on JavaTM Servlet API

JSR 168 Portlet Invocation Model Portal Page Servlet EJBs Action Local Portlet Connectors Local Portlet J2EE APIs Web Services Local Portlet Servlet API Portlet API Portlet Container Portlet Context Registries, Directories, Security and Content Management Infrastructure

Specification Areas JSR 168 will provide lifecycle and semantics for Portlets Deployment Descriptor Developer APIs Vendor Extension APIs for security, user customization and layout management

States defined JSR 168 defines a minimum set of possible states for a portlet Normal Minimized Maximized

Design Goals JSR 168 will try to achieve following design goals Client agnostic Support for multiple types of clients (multi- device) Simple Portlet API Support for Localization and Internationalization

Design Goals (Contd.) Hot deployment and re-deployment of Portal applications Declarative security (similar to that of Servlet and EJBTM) Architected to support remote execution of Portlets

Support for Portlet Context JSR 168 would provide APIs so that Portlets can perform contextual tasks Accessing user profile information for the current user Participation in portal window and action event model Accessing web client information Sharing information with other Portlets Storing/retrieving per-user/per-instance Portlet data persistently

URL Rewriting Support JSR 168 will support URL Rewriting mechanism so that Links within a Portlet would be able to trigger actions without requiring knowledge of how URLs are structured in a particular web application

Portlet Deployment Portlets would be grouped in a Portal application by bundling them in a single WAR with a Portlet deployment descriptor Portlet API will provide means for sharing data among portlets of the same Portal application

Support for Remote Portlets JSR 168 would allow support for remote Portlet execution Will not address transport protocol for remote execution of Portlets leaving specifics to Portal implementations For e.g. A static Portlet proxy could be used to invoke a remote Portlet OR can rely on WSRP mechanisms for invoking remote Portlets

Goals for consideration JSR 167 Expert Group will decide whether to support specialized Portlet implementations for Syndication (based on RSS) Web Services access Credential mapping service (somewhat akin to SSO)

Schedule and other information Release of 1.0 specification expected in in December, 2002 Proposed package namespace javax.servlet.portlet An extension to J2EETM 1.4 platform

Agenda Introduction to Portals and Portlets Portlet Standards JSR 168 Portlet Specification WSRP Web Services for Remote Portals Sample implemenation of a HelloWorld Portlet Resources

WSRP Aimed towards defining a protocol for Enabling interactive, user-facing web services to be easily plugged into standards compliant portals Making internet a marketplace of visual web services, ready to be integrated into portals Effort began in January 2002 WSRP Specification 1.0 and compliance Test Kit in December 2002

Portal Architecture and WSRP Portal Server Clients Local Portlets HTML WML VoiceXML... HTTP Portlet API Generic Portlet Proxies Other Portals WSRP Remote Portlets WSRP Pubish/Find Web Services (SOAP) UDDI Registry

WSRP Service Lifecycle UDDI Registry WSRP Services Register Bind Find Portal Client Request

WSRP Plug-n-Play

Scope WSRP will define A WSDL interface description for invocation of WSRP services Ways to Publish, Find and Bind WSRP services and their metadata Markup fragment rules for markup emitted by WSRP services Applicable Security mechanisms, Billing mechanisms, etc.

Business Scenarios supported Content/Application Provider providing WSRP Service Portal publishing Portlets as WSRP Services Provision of syndicated Content/Billing/Mobility services via WSRP Multimedia portals Enterprise Application services

Scenario Content/Application provider providing WSRP service Client Portals can aggregate presentation from many WSRP services WSRP Services can be portal context aware User profile from portal Desired locale and markup- type User's device constraints UI WSRP Consumer Portal Mark-up fragment transferred via SOAP WSRP Producer

Scenario Portals publishing Portlets as WSRP Service Multiple clients WSRP Consumer WSRP Producer WSRP Wrapper Server Portal Portlet Portal Portlet Portlet Intermediary Portal Publishing Portal Admin of Publishing portal publishes portlet as WSRP service to a UDDI registry Admin of Intermediary portal finds WSRP service through a UDDI browser and binds to it Clients of Intermediary portal select remote portlets like any local portlet to put on their page

Interaction between Portal and WSRP User WSRP Consumer WSRP Producer Allocate new Instance Adds Portlet Create Portlet Instance I Generate Markup Views Portlet Get Portlet Markup I I S A Action Handling Clicks Portlet Perform Portlet Action A S I I S A Destroy Instance Removes Portlet Destroy Portlet Instance I I

WSRP/WSIA Common Interfaces Share common interfaces for Basic life-cycle operations Basic operations for processing actions and getting markup

WSRP Interfaces Define interfaces for Advanced life-cycle operations Advanced operations for processing actions/getting markup pertaining to User profile information contained in requests Device information contained in requests Locale information contained in requests

WSRP Protocol Defines protocol of interaction between portal and services Caching considerations Contract for handling instances and sessions Order in which to invoke operations

WSRP Publish / Find / Bind / Metadata Defines method used to publish/find services to and from UDDI Defines metadata to be provided when publishing service Name, Titles, Descriptions Supported Markups/Locales Caching hints

WSRP Markup Fragment Rules/Styles Define valid markup fragments for XHTML/HTML WML/cHTML/VoiceXML (Second prirority) Define URL Rewriting

WSRP and Security, Identity, Single Sign-On (SSO) Define how security mechanisms can be employed with WSRP Define how identity is to be provided by consumers to producers Define how SSO via a consumer to multiple producers may be achieved

Agenda Introduction to Portals and Portlets Portlet Standards JSR 168 Portlet Specification WSRP Web Services for Remote Portals Sample implemenation of a HelloWorld Portlet Resources

HelloWorldPortlet Example Sample Implementation uses JetSpeed Import org.apache.jetspeed.portal.portlets.AbstractPortlet; ... public class HelloWorldPortlet extends AbstractPortlet { public ConcreteElement getContent (RunData objRunData) { return (new StringElement ("Hello World!!") } } * ConcreteElement is an Apache ECS (Element Construction Set, an object based markup generator) class * RunData -> Turbine Class. Would be used later. Source: www.bluesunrise.com

HelloWorldPortlet Registration To JetSpeed Portlets Registry <?xml version="1.0" encoding="UTF-8"?> <registry> <portlet-entry name="HelloWorld" hidden="false" type="instance" application="false"> <meta-info> <title>HelloWorld</title> <description> Portlet How To Example 1 – Hello World </description> </meta-info> <classname>HelloWorldPortlet</classname> <media-type ref="html"/> </portlet-entry> </registry> Source: www.bluesunrise.com

Customize portal page to add HelloWorldPortlet Source: www.bluesunrise.com

Personalizing Hello! public class HelloWorldPortlet extends AbstractPortlet { public ConcreteElement getContent (RunData objRunData) { StringBuffer objStringBuffer = new StringBuffer(); objStringBuffer.append("Hello "); String sName = objRunData.getUser(). getFirstName(); objStringBuffer.append (sName + "!"); return (new StringElement (objStringBuffer.toString()); } } Source: www.bluesunrise.com

Soft-coding Personalized Hello! public class NewsPortlet extends AbstractPortlet { public ConcreteElement getContent (RunData objRunData) { ... objStringBuffer.append(getPortletConfig(). getInitParameter ("greeting")); ... } } Configure parameters for this Portlet in Jetspeed Configuration file (jetspeed-config.jcfg) <portlet-entry ....> <classname>HelloWorldPortlet</classname> <parameter name="greeting" value = "Hello, " /> ... </portlet-entry> Source: www.bluesunrise.com

RunData and User RunData object provides access to Servlet Request object Other session context information Security, Turbine Actions, Cookies, Servlet Parameters (parsed), Current user (via getUser() as shown), etc. User object is used to access typical user information Name, contact information, password, login information, etc.

Resources JSR 168 http://www.jcp.org/jsr/detail/168.jsp SunTM ONE Portal Server http://wwws.sun.com/software/products/portal_srvr/home_portal.h tml WSRP and WSIA @ OASIS http://www.oasis-open.org/committees/wsrp/ http://www.oasis-open.org/committees/wsia/ WSRP and WSIA @ XML Cover Pages http://xml.coverpages.org/wsrp.html http://xml.coverpages.org/wscm.html

code/articles/links/chats/resources http://www.sun.com/developers/evangcentral In pursuit of the best software in the universe All presentations Audiocasts Codecamp materials Technology briefings code/articles/links/chats/resources

Rima Patel Sriganesh rima.patel@sun.com http://www.sun.com/developers/evangcentral