IBM WebSphere Portal 6.1. Standarts - Presentation Transcript
Portal Standards Richard Jacob, Portal Standards Lead
Agenda
Portal Standards 2.0
Major New Concepts
Coordination Mechanisms
Eventing
Public Parameters
Resource Serving
AJAX use cases
WebSphere Portal - Standards support
Portal Standards 2.0 JSR 286 & WSRP 2.0
Why 2.0?
1.0 design goal
Define how independent web apps (portlets) may be aggregated onto a single page
Portlet communication via common session
For portlets bundled into same web application
Applies to WSRP 1.0 & Java Portlet API 1.0 (JSR168)
2.0 design goal
Define how portlets may be coordinated and react as a whole
Portlet communication cross boundaries
Cross web application
Cross Producers
Applies to WSRP 2.0 & Java Portlet API 2.0 (JSR286)
Both standards are closely aligned
Concepts match
JSR portlets can easily exposed as WSRP remote portlets
Standard Roadmaps
WSRP
October 2007: public review
December 2007: approve committee specification
February 2008: submit final committee draft to OASIS for standardization
Final review and approval by OASIS
March 2008: WSRP 2.0 approved OASIS standard
JSR286
July 2007: 1 st public draft
December 2007: final public draft
March 2008: Spec approved in JCP
Standards 2.0 – Major Features
Common New Features:
Consumer mediated coordination
Eventing notification based coordination
Public Navigational Parameters shared navigational state
Resource serving in protocol / API
Support for AJAX patterns
CC/PP support
…
WSRP 2.0
Leasing
Portlet factories
JSR286
Better support for Web Frameworks like JSF and Struts
Alignment with Web Service for Remote Portlets (WSRP) 2.0
Eventing – An Example
Portlets react on events
Event name
Event payload
(Remote) Portlets participate in event distribution
Events can be distributed between local & remote portlets
Remote systems can react in a distributed and cooperative manner
Eventing – Loosely Coupled Model
Enables Portlets to generate and consume events
Semantic meaning through qualified event name
Schema described data in the event payload
Auto-wiring possible
Declarative wiring
Portlets describe the events they eventually emit
Portlets describe the events they are interested in
Flexible wiring, possible at deployment/page placement/integration or runtime
Three step protocol
performAction handleEvents getMarkup
Consumer/Portal acts as mediator
Events gathered in action and event distribution phases
Consumer/Portal can also generate/fire events
Stayed in the synchronous model
Portlets can only emit events based on user interaction or other events received
JSR 286 – Eventing
Declarative Definitions of Portlet Events
In the Portlet Deployment Descriptor (portlet.xml)
Portlet API extended to additional processEvent() method
Portlets implement this to receive events brokered to them
Portlet API extended to allow portlets to fire events
As a result of processAction() or processEvent()
Event names
Are defined as QNames in the DD
May have additional aliases for automatic event mapping
Event Types
Defined in the portlet deployment descriptor via the Java class name
Can be complex, but must be Java and JAXB serializable
JSR286 – Event Flow
WSRP 2.0 – Declarative Event Wiring ServiceDesc Portlet 3 Events … ServiceDesc Portlet 1 Events … Portlet 2 Events … getServiceDescription Event Wiring wire* wire* *Events can be mapped: - automatically by event Qname and payload type - manually with wiring tool (incl. payload transformation) 1 1 2 2 Producer A Portlet 1 Event out : selected Payload: itemNo Portlet 2 Event in : addToCart selected Payload: itemNo Producer B Portlet 3 Event in : addToCart selected Payload: itemNo Consumer Portlet 1 Event out : selected Payload: itemNo Portlet 2 Event in : addToCart selected Payload: itemNo Portlet 3 Event in : addToCart selected Payload: itemNo
WSRP 2.0 – Eventing Interaction Flow
Event Phase as a new element in the protocol flow
Consumer distributes events to portlets which match event wire
Events can be fired to portlets in parallel
WSRP optimizations
Events can be transferred as a bulk operation
handleEvents() can return portlet markup
Any type of state change interaction Producer Click! performBlockingInteraction markup fragment 1 2 handleEvents 3 4 getMarkup 5 6 Portlet Portlet Portlet Consumer this is a link this is a link
Public Parameters – An Example
Portlets automatically render in context
Portlets automatically pick up current context when added to the page.
e.g. city when the weather Portlet is added.
Context is propagated to all pages.
No wiring needed
Remote Portlets participate in Context
Easily consume Partner Services (WSRP 2.0)
E.g. weather service
Portlets share context
Without locally deploying any partner Portlets
Public Parameters
Extension to the portlet navigational state, managed by Consumer
Can be thought of as Consumer managed and shared portion of navigational state
Enables portlets to react in a coordinated manner
Declarative “subscription”
Portlets describe in metadata the navigation parameters they want to receive
Portlets allowed to “write” navigation parameters
on URL invocation
on action/event response
Any Consumer/Portal constituent can also write the navigation parameters
JSR 286 – Public Parameters
Re-use existing render parameter APIs
Allows to even enable JSR 168 portlets to use public render params
by just giving changing the deployment descriptor to JSR 286
Public Parameter Declaration
Defined in the portlet.xml which render parameters are public
Has an simple ID string that the portlet can use in the code
Provides a QName and optional alias names for wiring the parameter
Public Parameter Retrieval
Just use the standard PortletRequest interface to obtain those parameters
Federated Portals – Service Federation (WSRP) Vertical (Services) Portals Enterprise Portal WebServices for Remote Portlets (WSRP) Other Portals BEA, SAP, Sharepoint, Oracle, ... WebSphere Portal 5.0, 5.1, 6.0 WebSphere Application Server 6.1 WebSphere Portal 6.1, NEW: JSR286 & WSRP 2.0 Composite Applications build from remote components. publish Deploy services in vertical sites Consume these services in Enterprise Portal (WSRP) Build coordinated composite applications consisting of standard based local and remote and services WSRR can be used as repository of WSRP providers. WebSphere Portal WebSphere Application Server WebSphere Portal WebSphere Portal
WSRP 2.0 Support – Resource Serving
In-band (WSRP)
JSR286 Portlets can encode resourceIDs in resource URLs
Portlets can serve content from virtually any source
Out-of-band (HTTP)
Maintain and enhance support for Resource Proxy
URL protection
Easy SSL repertoire management integrated with WebSphere Application Server
State management
Advanced Cookie Management
Enable portlets and resoures to set cookies & receive cookies
Coordinate cookie distribution
better integration with portlet applications and existing web applications
Share session between remote portlets & remote servlets
Support AJAX use cases: servlet serves AJAX request, wants access to shared state
WSRP 2.0 Support – WS-Security
Consumer administrator can assign WS-Security profile to remote Producer
Via portal admin UI
WebSphere Portal comes with pre-defined set to choose from
Will also contain profiles the OASIS WSRP TC agreed on for identity assertion
Customers can create own profiles using WAS tooling
Producer A Producer B Producer Configuration Profile Selector Effective WSS Profile Consumer Profiles Profile (1) identity assertion: LTPA Profile (2) identity assertion: signed UNT Secured Messages Profile 2 Secured Messages Profile 1
0 comments
Post a comment