Upload
brianne-haughey
View
32
Download
0
Embed Size (px)
DESCRIPTION
WSRP Web Services for Remote Portlets. Matthew J. Dovey Oxford e-Science Centre. JCP - Java Portlet API JSR 168. OASIS TC Web Service for Remote Portals. OASIS TC WSIA Family WSRP as the initial spec. OASIS TC Web Service for Interactive Applications. Potted History. - PowerPoint PPT Presentation
Citation preview
WSRPWeb Services for Remote Portlets
Matthew J. Dovey
Oxford e-Science Centre
Potted History
Apache JetSpeed Portal
WebServices
Web Service User Interface
JCP - Java Portlet APIJSR 168
OASIS TCWeb Service for Remote Portals
1999 2000 2001 2002 2003Very rough timeline…
OASIS TCWeb Service for Interactive Applications
OASIS TCWSIA Family
WSRP as the initial spec.
uPortal WebService channel
Overview Web Services for Remote Portals (WSRP) defines
a standard for interactive, user-facing web services that plug and play with portals.
WSRP defines: A WSDL interface description for invocation of WSRP services How to Publish, Find, Bind WSRP services and metadata Markup Fragment Rules for markup emitted by WSRP services Applicable Security Mechanisms, Billing information ?, ...
Companies involved in WSRP: Bea, Bowstreet, Divine, Epicentric, Factiva, France Telecom, Fujitsu, HP, IBM,
Interwoven, Lexis-Nexis, Lotus, Moravia IT, Netegrity, Oracle, Peoplesoft, Plumtree, Silverstream, Stellent, SUN, Sybase, Tibco, WebCollage, SAP Portals, SeeBeyond
Committee Draft – about to go to OASIS vote - BEA, IBM, Oracle, Plumtree, SAP, Vignette
WSRP and Portlet API(s)
Web Services for Remote Portals (WSRP)
Java Portlet API (JSR 168)
C# „Portlet API“
(.NET). . .
Platform Independent Web ServiceInterface
Platform specific, local Portlet APIs
Portlet APIs may be defined for different programming languages; WSRP can bridge between the different platforms, leveraging platform independence of Web services
Goal:Portlets written to Portlet API can be published as WSRP servicesWSRP services can be integrated through Portlet Proxies written to Portlet API
WSRP Impl. onplain J2EE or .NET
platform
WSRP Services Plug&Play with Portals
PortalsWSRPServicesPortalsPortals
PortalsPortalsClientsClients
WebClientsWeb
ClientsWeb
ClientsWeb
ClientsWeb
ClientsWeb
ClientsWeb
ClientsWeb
ClientsWeb
ClientsWeb
Clients
PortalsPortals
Registry
PortalsPortalsPortals
PublishFind
WSRPServicesPortalsPortals
Bind
WSRPServices
e.g.
WSRP and related Standards
WSRP
SOAP(Invocation)
WSDL(Description)
UDDI(Publish,Find&Bind)
WSIAWSRP/WSIA
Common Base
(X)HTML WMLVoiceXML
cHTML ...
Local and Remote Portlets
JetS
peed
AP
IuP
ort
al A
PI
JSR
16
8 e
tc.
Web
Ser
vice
Ser
ver
WebServiceClient
UDDI
SOAP
Simple WSRP Service – View only
Interactive WSRP Service with transient conversational State API
getMarkup performInteraction/performBlockingInteraction releaseSessions initCookies
Interactive WSRP Service with persistent Entity API
clonePortlets getMarkup performInteraction/performBlockingInteraction initCookies releaseSessions destroyPortlets
Persistent Entity and Session State
Other API
Portlet Entity Properties getPortletPropertyDescription getPortletProperties setPortletProperties
cf OGSI ServiceData
Non anonymous consumers (e.g. authentication) register deregister modifyRegistration
Metadata (e.g. requires ssl, uses cookies etc) getPortletEntityDescription getServiceDescription
Perform Portlet Action
Destroy Portlet Instance
Create Portlet Instance
OverviewWSRP Consumer
(Portal)WSRP Producer
(Service)AddsPortlet
RemovesPortlet
ClicksAction
Get Portlet MarkupI S
S
User
ViewsPortlet
Allocate new Instance
Generate Markup,(opt: create Session)
Action Handling(opt: create Session)
I
I
A
I A
I
I A
I
I S
I
Destroy instance
I
AS
I A
Full API Overview
Markup getMarkup performBlockingInteraction releaseSessions initCookies
Registration register deregister modifyRegistration
ServiceDescription getServiceDescription
Portlet Management getPortletDescription clonePortlet destroyPortlets getPortletPropertyDescripti
on getPortletProperties setPortletProperties
uPortal - WSRP Crosswalkpublic void authenticate(String username, String password)
register
public String instantiateChannel(String fname)clonePortlet
public Element renderChannel(String instanceId, ChannelRuntimeData runtimeData)getMarkup
public void receiveEvent(String instanceId, PortalEvent portalEvent)performBlockingInteraction
public void freeChannel(String instanceId) destroyPortlet/releaseSessions
public void logout()deregister
Discussion
Where does WSRP fit into the GRID?