160 likes | 318 Views
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.
E N D
WSRPWeb 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 Apache JetSpeed Portal WebServices Web Service User Interface uPortal WebService channel 1999 2000 2001 2002 2003 Very rough timeline…
Overview • Web Services for Remote Portals (WSRP) definesa 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) Platform Independent Web Service Interface Platform specific, local Portlet APIs C# „Portlet API“ (.NET) WSRP Impl. on plain J2EE or .NET platform Java Portlet API (JSR 168) . . . 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 services WSRP services can be integrated through Portlet Proxies written to Portlet API
WSRP Services Plug&Play with Portals Registry Find Publish Portals Portals Clients Portals Clients WSRP Services Portals Portals WSRP Services Portals Portals WSRP Services Web Clients Web Clients Web Clients Web Clients Portals Web Clients Portals Web Clients Bind Portals Web Clients Portals Web Clients Portals Web Clients Web Clients e.g.
WSRPand related Standards (X)HTML WML Voice XML cHTML ... WSRP WSRP/WSIA Common Base WSIA UDDI (Publish,Find&Bind) WSDL (Description) SOAP (Invocation)
Local and Remote Portlets JetSpeed API uPortal API JSR 168 etc. WebService Server WebService Client SOAP UDDI
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
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
Overview User WSRP Producer (Service) WSRP Consumer (Portal) Adds Portlet Create Portlet Instance I I Allocate new Instance Views Portlet Get Portlet Markup A I S I I Generate Markup, (opt: create Session) S A Clicks Action Perform Portlet Action I S A I S A I A Action Handling (opt: create Session) Removes Portlet Destroy Portlet Instance I I I Destroy instance
Markup getMarkup performBlockingInteraction releaseSessions initCookies Registration register deregister modifyRegistration ServiceDescription getServiceDescription Portlet Management getPortletDescription clonePortlet destroyPortlets getPortletPropertyDescription getPortletProperties setPortletProperties Full API Overview
uPortal - WSRP Crosswalk public 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?