Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy...
Transcript of Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy...
![Page 1: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/1.jpg)
Session 3469
Portals, Portlets and Web Services
Thomas SchaeckArchitect, WebSphere Portal Server IBM
![Page 2: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/2.jpg)
Session 34692
Presentation Goal
Learn about portal architecture,portlets, their relation to Web services, and emerging standards.
![Page 3: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/3.jpg)
Session 34693
Learning Objectives
• As a result of this presentation, you will:– Gain insight in Portal Architecture– Understand Portlets and Portlet API– Know relation of Portlets and Web Services– Understand Web Services for Remote Portals – Know about emerging standards
![Page 4: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/4.jpg)
Session 34694
Speaker’s Qualifications
• Initiated standards for– Java™ Portlet API – Web Services for Remote Portals (WSRP)
• Architect at the WebSphere Portal Server Development Team in Boeblingen, Germany
• Leads Portal standards activities at IBM• 5 years experience with Java technology
![Page 5: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/5.jpg)
Session 34695
Portals May Become the Center of the (IT) Universe …
… but only standards for dynamic integration of portlets and services will let portals reach their true potential:
Be a platform for quick integration, aggregation, and delivery of distributed applications and information through different channels and devices
![Page 6: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/6.jpg)
Session 34696
Presentation Agenda
• Portal Architecture Introduction• Portlets and Portlet API• Web Services• Portlets and Web Services• Web Services for Remote Portals• Demo
![Page 7: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/7.jpg)
Session 3469
Portal ArchitectureIntroduction
![Page 8: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/8.jpg)
Session 34698
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
![Page 9: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/9.jpg)
Session 34699
•
Example of a Portal View
![Page 10: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/10.jpg)
Session 346910
Example of a Portal Topology
IntranetClients
WAPGateway
VoiceGateway
Internet Intranet
Outbound Proxy
AuthorizationServer
ContentProviders
WebServices
Authent./ReverseProxy
PortalCluster
UserRegistry
Portal Database
SearchServer
ContentManagementServer
BackendSystems
Public UDDIRegistry Corporate
UDDI
FirewallFirewall Firewall
![Page 11: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/11.jpg)
Session 346911
LocalPortletLocalPortlet
Major Functional Components
Portlet Container
SOA
P
Aggregation
Customization
User Registration/Selfcare
Aut
hent
icat
ion
Aut
horiz
atio
n
LocalPortletLocalPortletLocalPortlet
RemotePortlet
RemotePortlet
RemotePortlet
RemotePortlet
RemotePortletWeb
Services
UserInformation
PortletSettings
Portlet Inst.Data
User‘sSelections
PortletProxy
PortletRegistry
![Page 12: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/12.jpg)
Session 346912
Typical Entities and Relations in a Portal
User
PortletData
PortletSettings
UserGroup
Page PortletInstance Portlet
Defined by User
Defined by Administrator
n
nn n n n n 1
![Page 13: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/13.jpg)
Session 3469
Portlets and Portlet API
![Page 14: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/14.jpg)
Session 346914
Portlets
• Components to be aggregated in portals• Specialized servlets 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)
![Page 15: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/15.jpg)
Session 346915
Examples of Portlets
•
![Page 16: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/16.jpg)
Session 346916
ConnectorsWeb
Services
Invocation of Portlets
Portlet Container
PortalServlet
LocalPortlet
LocalPortlet
LocalPortlet
Port
let A
PI (I
nvoc
atio
n)
Portlet API (context)
Serv
let A
PI
J2EE
API
s
Portal Infrastructure, User RegistryPersistent and Transient Portal State
EJBs
![Page 17: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/17.jpg)
Session 346916
ConnectorsWeb
Services
Invocation of Portlets
Portlet Container
PortalServlet
LocalPortlet
LocalPortlet
LocalPortlet
Port
let A
PI (I
nvoc
atio
n)
Portlet API (context)
Serv
let A
PI
J2EE
API
s
Portal Infrastructure, User RegistryPersistent and Transient Portal State
EJBs
![Page 18: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/18.jpg)
Session 346916
ConnectorsWeb
Services
Invocation of Portlets
Portlet Container
PortalServlet
LocalPortlet
LocalPortlet
LocalPortlet
Port
let A
PI (I
nvoc
atio
n)
Portlet API (context)
Serv
let A
PI
J2EE
API
s
Portal Infrastructure, User RegistryPersistent and Transient Portal State
EJBs
![Page 19: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/19.jpg)
Session 346916
ConnectorsWeb
Services
Invocation of Portlets
Portlet Container
PortalServlet
LocalPortlet
LocalPortlet
LocalPortlet
Port
let A
PI (I
nvoc
atio
n)
Portlet API (context)
Serv
let A
PI
J2EE
API
s
Portal Infrastructure, User RegistryPersistent and Transient Portal State
EJBs
![Page 20: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/20.jpg)
Session 346916
ConnectorsWeb
Services
Invocation of Portlets
Portlet Container
PortalServlet
LocalPortlet
LocalPortlet
LocalPortlet
Port
let A
PI (I
nvoc
atio
n)
Portlet API (context)
Serv
let A
PI
J2EE
API
s
Portal Infrastructure, User RegistryPersistent and Transient Portal State
EJBs
![Page 21: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/21.jpg)
Session 346916
ConnectorsWeb
Services
Invocation of Portlets
Portlet Container
PortalServlet
LocalPortlet
LocalPortlet
LocalPortlet
Port
let A
PI (I
nvoc
atio
n)
Portlet API (context)
Serv
let A
PI
J2EE
API
s
Portal Infrastructure, User RegistryPersistent and Transient Portal State
EJBs
![Page 22: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/22.jpg)
Session 346916
ConnectorsWeb
Services
Invocation of Portlets
Portlet Container
PortalServlet
LocalPortlet
LocalPortlet
LocalPortlet
Port
let A
PI (I
nvoc
atio
n)
Portlet API (context)
Serv
let A
PI
J2EE
API
s
Portal Infrastructure, User RegistryPersistent and Transient Portal State
EJBs
![Page 23: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/23.jpg)
Session 346917
ConnectorsWeb
Services
Portlet Action Handling
PortalServlet
LocalPortlet
LocalPortlet
LocalPortlet
Port
let A
PI (I
nvoc
atio
n)
Portlet API (context)
Serv
let A
PI
J2EE
API
s
Portal Infrastructure, User RegistryPersistent and Transient Portal State
EJBs
Action
Portlet Container
![Page 24: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/24.jpg)
Session 346917
ConnectorsWeb
Services
Portlet Action Handling
PortalServlet
LocalPortlet
LocalPortlet
LocalPortlet
Port
let A
PI (I
nvoc
atio
n)
Portlet API (context)
Serv
let A
PI
J2EE
API
s
Portal Infrastructure, User RegistryPersistent and Transient Portal State
EJBs
Action
Portlet Container
![Page 25: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/25.jpg)
Session 346917
ConnectorsWeb
Services
Portlet Action Handling
PortalServlet
LocalPortlet
LocalPortlet
LocalPortlet
Port
let A
PI (I
nvoc
atio
n)
Portlet API (context)
Serv
let A
PI
J2EE
API
s
Portal Infrastructure, User RegistryPersistent and Transient Portal State
EJBs
Action
Portlet Container
![Page 26: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/26.jpg)
Session 346917
ConnectorsWeb
Services
Portlet Action Handling
PortalServlet
LocalPortlet
LocalPortlet
LocalPortlet
Port
let A
PI (I
nvoc
atio
n)
Portlet API (context)
Serv
let A
PI
J2EE
API
s
Portal Infrastructure, User RegistryPersistent and Transient Portal State
EJBs
Action
Portlet Container
![Page 27: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/27.jpg)
Session 346917
ConnectorsWeb
Services
Portlet Action Handling
PortalServlet
LocalPortlet
LocalPortlet
LocalPortlet
Port
let A
PI (I
nvoc
atio
n)
Portlet API (context)
Serv
let A
PI
J2EE
API
s
Portal Infrastructure, User RegistryPersistent and Transient Portal State
EJBs
Action
Portlet Container
![Page 28: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/28.jpg)
Session 346917
ConnectorsWeb
Services
Portlet Action Handling
PortalServlet
LocalPortlet
LocalPortlet
LocalPortlet
Port
let A
PI (I
nvoc
atio
n)
Portlet API (context)
Serv
let A
PI
J2EE
API
s
Portal Infrastructure, User RegistryPersistent and Transient Portal State
EJBs
Action
Portlet Container
![Page 29: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/29.jpg)
Session 346917
ConnectorsWeb
Services
Portlet Action Handling
PortalServlet
LocalPortlet
LocalPortlet
LocalPortlet
Port
let A
PI (I
nvoc
atio
n)
Portlet API (context)
Serv
let A
PI
J2EE
API
s
Portal Infrastructure, User RegistryPersistent and Transient Portal State
EJBs
Action
Portlet Container
![Page 30: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/30.jpg)
Session 346917
ConnectorsWeb
Services
Portlet Action Handling
PortalServlet
LocalPortlet
LocalPortlet
LocalPortlet
Port
let A
PI (I
nvoc
atio
n)
Portlet API (context)
Serv
let A
PI
J2EE
API
s
Portal Infrastructure, User RegistryPersistent and Transient Portal State
EJBs
Action
Portlet Container
![Page 31: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/31.jpg)
Session 346918
Portlet API
• API defining interaction between portals and portlets
• Defines interfaces for interoperability between portals and portlets
• Based on the Java™ Servlet API• Provides additional abstractions for portal
context and functions• Standardization initiated in the Java
Community ProcessSM program (JSR 168)
![Page 32: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/32.jpg)
Session 346919
Core Classes and Interfaces: Example From WPS Portlet API
• Portlet base class• PortletRequest/Response, PortletSession• PortletData, PortletSettings• Events: ActionEvent, MessageEvent• Listeners: ActionListener, MessageListener• User
![Page 33: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/33.jpg)
Session 346920
Example of a Stock Quote Portlet
• Stock prices for user-selected list of stock symbols:– VIEW mode shows stock prices: doView– EDIT mode lets user change stocks: doEdit– HELP mode explains the portlet: doHelp– CONFIG mode lets administrator select stock – Quote source to use: doConfig
![Page 34: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/34.jpg)
Session 346921
A Portlet Class: Example Using WPS Portlet API
• Portlets are similar to Servletspublic 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 ... }
}
![Page 35: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/35.jpg)
Session 346922
Portlet View Mode: Example Using WPS Portlet API
• Use of PortletData, Beans and JSP™ components
public void doView(PortletRequest req, PortletResponse rsp)
throws PortletException, IOException {// Get stock symbols from portlet instance dataPortletData data = request.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().include(
"/WEB-INF/ViewStockQuotes.jsp",req,rsp);}
![Page 36: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/36.jpg)
Session 346923
Portlet Edit Mode:Example Using WPS Portlet API
• Tie Actions to PortletURLs to process Formspublic void doEdit(PortletRequest req,
PortletResponse rsp) throws PortletException, IOException {
// Create URI pointing to this portlet instance// and attach a portlet actionPortletURI 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("editListBean", editListBean);getPortletConfig().getContext().include("/WEB-INF/EditSymbolListForm.jsp",req,rsp);
}
![Page 37: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/37.jpg)
Session 3469
Web Services
![Page 38: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/38.jpg)
Session 346925
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 and Find through UDDI (Universal Description, Discovery and Integration)
![Page 39: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/39.jpg)
Session 346926
Service Oriented Architecture
ServiceRequestor
ServiceProvider
ServiceRegistry
![Page 40: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/40.jpg)
Session 346926
Service Oriented Architecture
ServiceRequestor
ServiceProvider
ServiceRegistry
Publish
![Page 41: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/41.jpg)
Session 346926
Service Oriented Architecture
ServiceRequestor
ServiceProvider
ServiceRegistry
PublishFind
![Page 42: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/42.jpg)
Session 346926
Service Oriented Architecture
ServiceRequestor
ServiceProvider
ServiceRegistry
PublishFind
Bind
![Page 43: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/43.jpg)
Session 346927
Using “Traditional” Web Services
• Data-oriented with service type-specific interfaces– Different WSDL definitions, different methods– Service-specific presentation must be provided– Programming effort for integration of each service
Data-orientedWeather Web Service
Data-orientedStocks Web Service
WeatherProxy
StocksProxy
ClientProgram
![Page 44: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/44.jpg)
Session 346928
Visual, User-Facing Web Services
• Visual, user-facing, Web services, common interface– Same WSDL definition– No service specific-presentation on portal side– Pluggable, NO programming effort– Once created many channels can be
reached quickly
Visual Web Service:Weather
Visual Web Service:Stocks
GenericProxy
GenericProxy
ClientProgram
![Page 45: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/45.jpg)
Session 3469
Portlets and Web Services
![Page 46: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/46.jpg)
Session 346930
Portlets Invoking Web Services
• Portlets can invoke any Web service via a service interface-specific SOAP Proxy
• Tools can be used to automatically generate SOAP Proxies for the Java platform from Web service’s WSDL description
PortalData-oriented
Weather Web Service
Data-orientedStocks Web Service
WeatherProxy
StocksProxy
StocksPortlet
WeatherPortlet
SOAP
SOAP
![Page 47: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/47.jpg)
Session 346931
Example: Invoking Web Services from a Portlet
• Use of SOAP Proxy to invoke a Web servicepublic void doView(PortletRequest req,
PortletResponse rsp) throws PortletException, IOException {
// Get stock symbols from portlet instance data PortletData data = request.getData();String symbols = (String)
data.getAttribute("symbols");// Get prices for symbols from stocks proxyfloat[] stockPrices =
stocksProxy.getCurrentPrices(symbols);... display result ...
}
![Page 48: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/48.jpg)
Session 346932
Aggregation of Visual, User-Facing Web Services in Portals
• Common interface enables plug-n-play• Use of generic Portlet Proxies as adapters• No need for specific presentation in the portal
PortalData-oriented
Weather Web Service
Data-orientedStocks Web Service
SOAPProxy
SOAPProxy
PortletProxy
PortletProxy
SOAP
SOAP
![Page 49: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/49.jpg)
Session 3469
Web Services for Remote Portals
![Page 50: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/50.jpg)
Session 346934
Web Services for Remote Portals (WSRP)
• Visual, user-facing Web services for integration and aggregation in portals
• WSRP interfaces include– Life-cycle methods: create/delete instances,
sessions, bindings …– Methods for getting markup and processing actions
• WSRP technical contracts define– Action handling and embedding in URLs– Restrictions on markup produced– Allowed order of method invocation
• For Publish/Find WSRP defines– Information about WSRP services to be published– How to find WSRP services
![Page 51: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/51.jpg)
Session 346935
Use of WSRP Services in Portals
• Portals can aggregate many visual WSRP services• WSRP services optionally are aware of portal context
– Remote user profile– Desired language and markup-type– User’s device type
HTML, WML, VoiceXML, ... over HTTP
User Info, Actions, Mark-Up Fragments
Transferred via SOAP
Portal
WSRP Service
WSRP Service
WSRP Service
![Page 52: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/52.jpg)
Session 346936
Related Standards
• WSRP is based on existing standards– UDDI—Publish, Find, Bind– WSDL—Interface Description– SOAP—Invocation
• Coordinated with WSIA (Web Services for Interactive Applications)
![Page 53: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/53.jpg)
Session 346937
performAction
destroyInstance
createPortletInstance
Portal-WSRP Service Interaction
Portal Web Service for Remote PortalsAddsPortlet
RemovesPortlet
ClicksAction
getMarkupI S
S
User
ViewsPortlet
Allocate New Instance
Generate Markup,(opt: create Session)
Action Handling(opt: create Session)
I
I
A
I S A
I
I A
I
I S
IDestroy Instance
I
AS
I A
![Page 54: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/54.jpg)
Session 346938
ServerPortalPortals
Example: Portal Sharing Portlets
• Administrator publishes portlet as WSRP service to UDDI using portal’s admin user interface
• Administrator of other portal finds WSRP service using portal’s UDDI browser and binds to it with a few mouse-clicks
• Users of the second portal can select remote portlets like any local portlet and put them on their pages
Huge Numberof Users
Many Portals as Intermediaries Publishing Portal
WSRPService
(Wrapper)PortalsPortalsCient
Portal
Portlet
Portlet
Portlet
![Page 55: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/55.jpg)
Session 346939
Example: Portal Sharing Portlets
Portal 1
Portal 2
PortletProxy
PortalAdministration
PortletRegistry
PortalAggregation
Portlet Proxy Entry
PortalAdministration
PortletRegistry
PortalAggregation
Portlet Entry
RemotePortlet
Portal 2UDDI
Portlet EntryPortlet EntryPortlet Entry
PublishFind and Bind
Invoke(SOAP)
![Page 56: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/56.jpg)
Session 346940
Distributed Portal Systems
Bank’sPortal
AccountWeb Service
StocksWeb Service
AccountPortlet
StocksPortlet
CorporateEmployee
Portal
PortletProxy
PortletProxy
ContentProvider
NewsPortlet
PortletProxy Corp. News
Portlet
SupplierPortal
PurchasePortlet
PortletProxy
Corporate NewsWeb Service
![Page 57: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/57.jpg)
Session 3469
![Page 58: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/58.jpg)
Session 346942
Summary
• A standardized portlet model is key to interoperability between portal servers and portlets
• Portal servers should support both local and remote portlets
• Emerging standards: – Java™ Portlet API (JCP, JSR 168)– Web Services for Remote Portals (OASIS)
• Portlets can be published as WSRP services• WSRP services can be wrapped in Portlets
![Page 59: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/59.jpg)
Session 346943
If You Only Remember One Thing…
Portals will have to dynamically integrateand aggregate local portlets as well as Web services across the Internet.
This can be achieved through the Java™ Portlet API combined withWeb Services for Remote Portals.
![Page 60: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/60.jpg)
Session 3469
![Page 61: Portals, Portlets and Web Serviceslawtonb/215/Portals.pdfStocks Web Service SOAP Proxy SOAP Proxy Portlet Proxy Portlet Proxy SOAP SOAP. Session 3469 Web Services for Remote Portals.](https://reader034.fdocuments.net/reader034/viewer/2022042310/5ed7d0108e533201dc4adcc6/html5/thumbnails/61.jpg)
Session 3469