WebSphere Portal, Portlets and Web Services - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

WebSphere Portal, Portlets and Web Services

Description:

put stock symbol/price pairs in stock bean .. req.setAttribute('stockBean', stockBean) ... Cap Gemini Ernst & Young. Citrix. DaimlerChrysler. Documentum ... – PowerPoint PPT presentation

Number of Views:1055
Avg rating:3.0/5.0
Slides: 32
Provided by: thomass5
Category:

less

Transcript and Presenter's Notes

Title: WebSphere Portal, Portlets and Web Services


1
WebSphere Portal, Portlets and Web Services
  • June 2002
  • Peter Fischer
  • Developer, WebSphere Portal Server

2
Portal ArchitectureIntroduction
3
What are Portals ?
  • Common access point to distributed information
    and applications
  • Typical Functions
  • User registration
  • Authentication and Authorization
  • Pluggable portal components Portlets
  • Personalization based on profiles / behavior
  • Customization of pages by users
  • Search
  • Content Management

4
Example of a Portal View

5
Major Functional Components
User Registration/ Selfcare
Customization
Portlet Container
Local Portlet
Remote Portlet
Local Portlet
Remote Portlet
Remote Portlet
Portlet Proxy
Authentication
Authorization
Aggregation
Local Portlet
Remote Portlet
Local Portlet
Remote Portlet
Local Portlet
Web Services
6
WebSphere Portal Quick Overview
  • Multi-Platform Windows, AIX, Solaris
  • Multi-Client PCs, WAP, iMode
  • Multi-Language Serves different locales
    concurrently
  • Multi-Authentication Supports most relevant auth
    proxies
  • Provides well-defined Portlet API and portlet
    auto-deployment
  • Many Portlets on the IBM Portlet Marketplace
    (200)
  • Portlets can exploit WebSphere web service
    functions
  • Supports pluggable, interactive, user-facing web
    services
  • Can publish portlets as web services using admin
    UI

7
WebSphere Portal Server Architecture
Corporate UDDI Directory
Credential Vault
Content Mgmt
Search
Portlet Services
Intranet
Authorization
Local Portlets
SOAP
Local Portlets
Corporate Web Services
Portlet API
Aggregation Modules (HTML, WML, VoiceXML, ...)
Web Sphere Portal Server Engine
Local Portlets
Local Portlets
RPWS / SOAP
Local Portlets
Local Portlets
Local Portlets
Corporate RPWS Services
Authentication
Remote Portlet Web Services SOAP Router
Local Portlets
Local Portlets
Internet
Local Portlets
Local Portlets
Portlet Proxies
Public RPWS Services
J2EE/WebSphere APIs
WebSphere Portal Server Data Store
WebSphere Member Subsystem
Local Portlets
SOAP
Local Portlets
Public Web Services
Global UDDI Directory
...
JCA Connectors
Enterprise Java Beans
Message Beans
Site Analyzer
8
Portlets and Portlet API
9
Portlets
  • Components designed to be aggregated in portals
  • Aware of portal context
  • User profile information
  • Per-portlet instance data stored by portal
  • Per-portlet settings managed by portal
  • Portlet window state (NORMAL, MIN, MAX)
  • Portlet modes (VIEW, EDIT, CONF, HELP)
  • Portlet events (action / message events)
  • Can be packaged in normal WAR Files with
    descriptor extensions

10
Portlet Action Handling and Aggregation
Portal Servlet
Portlet Container
Connectors
Action
Web Services
Local Portlet
Portlet API (Invocation)
J2EE APIs
Local Portlet
Servlet API
EJBs
Local Portlet
Portlet API (context)
Portal Infrastructure, User Registry Persistent
and Transient Portal State
11
Example of a Stock Quote Portlet
  • Stock prices for user-selected list of stock
    symbols
  • VIEW mode shows stock prices doView method
  • EDIT mode lets user change stocks doEdit method
  • HELP mode explains the portlet doHelp method
  • CONFIG mode lets administrator select stock quote
    source to use doConfig method

12
Example of a Portlet
  • Portlets are specialized Servlets

public class StocksPortlet extends Portlet
public void init(PortletConfig config)
... initialize portlet ... public void
doView(PortletRequest req,
PortletResponse rsp) throws PortletException,
IOException ... generate the portlet view
... public void destroy(PortletConfig config)
... destroy portlet ...
13
Example of Portlet View Mode
  • Use of PortletData, Beans and JSP components

public void doView(PortletRequest req,
PortletResponse rsp) throws
PortletException, IOException // Get stock
symbols from portlet instance data PortletData
data req.getData() String symb (String)
data.getAttribute("symbols") .. get prices for
symbols from stocks service .. StockBean
stockBean new StockBean() .. put stock
symbol/price pairs in stock bean
.. req.setAttribute("stockBean",
stockBean) getPortletConfig().getContext().inclu
de( "/WEB-INF/ViewStockQuotes.jsp",req,rsp)
14
Example of Portlet Edit Mode
  • Tie Actions to PortletURLs to process Forms

public void doEdit(PortletRequest req,
PortletResponse rsp) throws
PortletException, IOException // Create URI
pointing to this portlet instance // and
attach a portlet action PortletURI saveUri
rsp.createURI() PortletAction saveAction
new Action(SAVE) saveUri.addAction(saveAction)
EditListBean editListBean new
EditListBean() .. put saveURI and other data
into the bean .. req.setAttribute("editList
Bean", editListBean) getPortletConfig().getC
ontext().include( "/WEB-INF/EditSymbolListForm.
jsp",req,rsp)
15
More Information about Portlet Development
  • see Portlet Development Guideavailable at the
    portal libraryhttp//www-3.ibm.com/software/webse
    rvers/portal/library.html

16
Java Portlet API (JSR 168)
  • Defines interaction between portals and portlets
  • Defines interfaces for interoperability of
    portals and portlets
  • Based on the JavaTM Servlet API
  • Provides additional abstractions for portal
    context
  • user object, persistent data objects, device
    information, portlet modes, window states, ...
  • Standardization in JSR 168 lead by IBM and Sun
    (see http//jcp.org/jsr/detail/168.jsp)
  • A Portlet API reference implementation will be
    donated to Apache Open Source Community

17
Java Portlet API Supporters
  • IBM (Spec Lead)
  • Interwoven
  • Macromedia
  • McDonal Bradley
  • Plumtree
  • SAP Portals
  • Silverstream
  • Sybase
  • Tarantella, Inc
  • Vignette
  • IONA
  • Sun (Spec Lead)
  • Computer Associates
  • Peoplesoft
  • SAS
  • Oracle
  • Accenture
  • Apache
  • ATG
  • BEA
  • Boeing
  • Borland
  • Bowstreet
  • Cap Gemini Ernst Young
  • Citrix
  • DaimlerChrysler
  • Documentum
  • Enformia Ltd
  • Epicentric
  • Fujitsu
  • Hewlett-Packard
  • Hitachi

18
Portal WebServices
  • Remote Portlets

19
Web Services
  • Web services are platform and language
    independent
  • Description of Web services in WSDL (Web
    Services Description Language)
  • Invocation of Web services via SOAP (Simple
    Object Access Protocol)
  • Publish Find through UDDI (Universal
    Description, Discovery Integration)

20
Service Oriented Architecture Publish, Find
Bind
Service Registry
Service Requestor
Service Provider
21
Traditional Web Service Usage Scenario
  • Portlets using data-oriented Web services
  • Different data-oriented Web services expose
    different interfaces
  • Specialized UI and proxy code required in
    specific portlets
  • Local deployment of code is still necessary

WS specific interface
Portlet API
Portlet 1 (Presentation)
Service Specific Proxy 1
Web Service 1 (Data only, no Presentation)
Aggregation
Users Client
Web Service 2 (Data only, no presentation)
Portlet 2 (Presentation)
Service Specific Proxy 2
Portlet API
WS specific interface
22
Remote Portlets Web Services
  • Generic Proxies using user-facing web services
  • All RPWS services have a common API
  • No service specific portlets required
  • Generic RPWS proxy portlet is implemented once
    and used for all RPWS services

Presentation and Interaction Layer
Portlet API
RPWS Service 1 (includes data and presentation)
Generic Proxy
SOAP
Aggregation
RPWS API
Users Client
RPWS Service 2 (includes data and presentation)
Generic Proxy
SOAP
RPWS API
Portlet API
23
Publishing Portlets as RPWS Services
UDDI
(2) Find Bind
Portal 1
Portal 2
(1) Publish
Portlet Entry
Portal Administration
Portal Administration
Portlet Entry
Portlet Entry
Portal 2
Portlet Registry
Portlet Registry
Portlet Entry
Portlet Proxy Entry
Portlet Proxy
Portal Aggregation
Portal Aggregation
Remote Portlet
RPWS/ SOAP
(3) Invoke
24
Remote Portlet Web Services Goals
  • Allow interactive, user-facing web services to be
    easily plugged into all standards-compliant
    portals
  • Let anybody create and publish their content and
    applications as user-facing web services
  • Portal administrators browse public or private
    UDDI directories for RPWS services to plug into
    their portals as new portlets, without any
    programming effort
  • Let portals publish portlets so that they can be
    consumed by other portals
  • Make the internet a market of visual web
    services, waiting to be integrated

25
Business Scenario Examples
  • To plug into portals ...
  • ... Content Providers publish content as RPWS
    services(e.g. Stock Quotes, News, Lottery
    Numbers, Sports Results, Flight Schedules, ...)
  • ... Application providers expose apps as RPWS
    services(e.g. Stock Option Programs, E-Mail,
    Calendar, CRM, Workflow, Tax Calculation, Ticket
    Ordering, Travel Booking,...)
  • ... Portal providers publish local portlets as
    RPWS services to share them with other portals
    (e.g. a content providers portal might publish
    its portlets for re-use in employee portals of
    different companies)

26
Web Services for Remote Portals (WSRP)
  • Standardization taking place in OASIS WSRP
    TCChairman Thomas Schaeck
  • WSRP services are user-facing, interactive web
    services that may be aware of portal-side user
    profile information, devices, locales
  • WSRP will standardize
  • How to publish, find, and bind to WSRP services
  • Metainformation for WSRP services (name,
    supported locales/markups, titles, and
    descriptions, ...)
  • Protocol for interaction between portals and WSRP
    services
  • WSRP Home Page http//oasis-open.org/committees/w
    srp/
  • Goal
  • WSRP 1.0 Spec and Implementation year end 2002

27
Companies who participate in WSRP TC
  • Netegrity
  • Oracle
  • Peoplesoft
  • Plumtree
  • Silverstream
  • Stellent
  • Sun
  • Sybase
  • Tibco
  • WebCollage
  • SAP Portals
  • SeeBeyond
  • BEA
  • Bowstreet
  • Divine
  • Epicentric
  • Factiva
  • France Telecom
  • Fujitsu
  • HP
  • IBM
  • Interwoven
  • Lexis-Nexis
  • Lotus
  • Moravia IT

28
How WSRP and Java Portlet API (JSR 168) fit
  • Portlet API defines Java API for local portlets
  • WSRP defines user-facing, interactive web
    services that plug play with portals
  • Goals
  • Allow Java portlets to be wrapped and published
    to UDDI as WSRP services
  • Allow WSRP services to be integrated in portals
    by using generic portlet proxies

29
Portal consuming .NET-based RPWS Services
Microsoft Office as OLE server
Portal Servers
.NET object
IIS
RPWS
30
RPWS service inside a Word Document
Portal Servers
.NET object
WSRP
31
Thank you !
Write a Comment
User Comments (0)
About PowerShow.com