Date post: | 19-Dec-2015 |
Category: |
Documents |
View: | 218 times |
Download: | 0 times |
Wesley Budziwojski
Senior Architect
Sun ONE Portal Server
Web Services for Remote Portlets, WSRP
Jun/2003
Agenda
● History & Currant Status● Portal Server Architecture● Sun ONE Portal Server ● Integration with EIS● WSRP Architecture● WSRP Interfaces● WSRP & Portlets
History and Current Status
● Started in March/2002
● All key Portal vendors are involved
● Just finished Public Review
● Expected to be finalized by August
Portal-Common Terminology
Por
tlet
Con
tain
er
Network
Portlet
Portlet
Portlet
User AgentBrowserPhone,PDA
AggregationPersonalizationSecurity
Portal
Portal Integration
Portal
Por
tlet
Con
tain
er
Network
User Agent(Browser)
(PDA)(Phone)
EISVendorSpecific
Html
WebServer
PSFTPortlet
JDBCPortlet
SAPPortlet
JCAPortlet
WSPortlet
URLPortlet
XMLPortlet XML
SOAP
JDBC
Network
What is WSRP?● Presentation Oriented Web
Service● Interface and Protocol● Handles User Interaction ● Provides Presentation
Fragments tailored for aggregation
High Level WSRP Actors’ Interactions ● Finding Producer● Establishing Consumer-Producer
Relationship● Establishing User-Consumer Relationship● Aggregating● Requesting Portal Page● Processing Interaction● Terminating CP Relationships
WSRP Portal Architecture
Portal
Por
tlet
Con
tain
er
Portlet
Portlet
Portlet
HT
TP
/S
SO
AP
WS
RP
Pro
du
cer
HT
TP
/S
SO
AP
WS
RP
Con
sum
er
User Agent(Browser)
Network
Network
Sun ONE Portal Architecture
HT
TP
/S
HT
ML
/WM
LV
oice
XM
L
Portal
Por
tlet
Con
tain
er
SO
AP
SO
AP
HT
TP
/S
Portlet
Portlet
Portlet
User Agent(Browser)
Network
Network
WS
RP
Pro
du
cer
WS
RP
Con
sum
er
WSRPConsumer
(remote Portal)
WSRPProducer
(remote Portal)
Sun ONE Portal Server
● Upcoming support for WSRP
● Comprehensive integration into the customer's infrastructure (Identity Management, Profile Management, Single Sing-On and Administration via Sun ONE Identity Server)
● Developer tools for building Portlets (Portlet Builder plug-in for Forte For Java)
Who will use WSRP?● Portal vendors (Producer &
Consumer)
● Content/Vertical vendors -Producer (Doc Management, ERP, CRM, etc)
● Portlet developers *should never*
WSRP Portlets Context Info● Interaction Parameters
● Navigational State
● Portlet Mode (VIEW, EDIT, HELP)
● Window State (MIN, NORMAL, MAX)
● Session
● Properties
● User Profile Attributes
● User Categories
WSRP Interfaces● Service Description (required)
● Registration
● Portlet Management
● Markup (required)
Service Description Interface● Indicates capabilities of the
WSRP Producer
● Indicates requirements WSRP Consumers must meet to interact with the WSRP Producer
Service Description Info● It indicates if Consumer must register in
order to use the Producer
● Portlets the Producer offers
● Properties Consumers must supply during registration
● Extensions the Producer supports. Such as custom portlet modes, custom window states and custom user profile attributes
● …
Registration Interface● It allows Consumers to register,
modify their registration and deregister from Producers
● It allows Consumers to indicate their capabilities to Producers
Registration Info● Consumer info (name, version)
● Portlet Modes, Window States and user profile attributes the Consumer will support
● Registration properties for the Consumer
● Extensions the Consumer supports
● …
Portlet Management Interface● It allows Consumers to clone the
Portlets offered by a Producer with their own properties
● It allows Consumers to destroy cloned Portlets
● It allows Consumers to access and modify properties of cloned Portlets
Markup Interface● Consumers use this interface
when handling requests for portal pages that include Portlets hosted by a Producer
Two Types of Markup Calls
● performBlockingInteraction– Invoked only when the User request to
the Portal is an action targeted to the portlet
● getMarkup– Invoked on every request to the
portal, it produces output to create the portal page
Portal & WSRP Requests
User
Portal
WSRPProducer
PortletsA B C
markup
markup
markup
interaction
A
B C
A’
B’ C’
Action on BperformBlockingInteraction(A)
getMarkup(A)
getMarkup(B)
getMarkup(C)
WSRPConsumer
Portlet Container
performBlockingInteraction● It can modify Portlet Navigation
State, Portlet properties, Portlet Mode and Window States
● It can trigger a redirection
● It can create a Session
● It can do implicit Portlet cloning (I.e. because of a properties change)
Creating Portlet URLs● Producer rewriting (templates)
– Consumer provides templates– Portlet generates URLs using the supplied
templates
http://foo.com/{wsrp-urlType}?mode={wsrp-mode}&
● Consumer rewriting (tokens)– Producer writes info between tokens– Consumer scans Portlet generated content
and rewrites tokens into URLswsrp-rewrite?wsrp-urlType=###&wsrp-mode=###&name1=value1&.../wsrp-
rewrite
Caching● Producers may indicate to the
Consumer to cache Portlet content
● Types of cache: perUser & forAll
● Expiration based cache with validateTag
Portal Common Look & Feel● WSRP defines CSS style names
– Links, Fonts, Messages (status, info, error, etc), Sections (header, footer, subheader, body, etc), Tables (header, body, alternate, etc), Forms (label, input, button, icon, etc.), Menus (menu, item, selected, hover, etc)
● Portals (Consumer) provides the CSS definition with their style
● The Portlets use the define CSS style names
Some of WSRP Benefits
● Flexible Architecture - decouples Portal aggregation from Portlet execution
● Scalable - allows Portals to use/include Portlets running somewhere else
● Plug and Play Solution -by standardizing on interface (WSDL)
Important● Producer implementations
SHOULD hide the complexity of WSRP from Portlets [Developers]
● Programming a Portlet should be similar to programming a [I.e.] Java Servlet