Wsrp in uportal
Download
1 / 57

WSRP in uPortal - PowerPoint PPT Presentation


  • 132 Views
  • Uploaded on

WSRP in uPortal. Ken Weiner, UNICON, Inc. Introduction to WSRP WSRP’s role in uPortal WSRP Interfaces WSRP Concepts WSRP Channel Type WSRP/uPortal Roadmap. Overview.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'WSRP in uPortal' - shirley


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Wsrp in uportal l.jpg

WSRP in uPortal

Ken Weiner, UNICON, Inc.


Overview l.jpg

Introduction to WSRP

WSRP’s role in uPortal

WSRP Interfaces

WSRP Concepts

WSRP Channel Type

WSRP/uPortal Roadmap

Overview


Why wsrp l.jpg

We need an easy way to assemble visual, interactive Web applications with no programming while retaining a cohesive flow and common look-and-feel.

Why WSRP ?


Leading to wsrp l.jpg
Leading to WSRP… applications with

  • Web Services User Interface (WSUI) – Epicentric

  • Web Service eXperience Language (WSXL) – IBM

  • Interactive Web Services – WebCollage

  • Remote uPortal Channels – IBS and LAT


Wsrp working group l.jpg
WSRP Working Group applications with

Application server vendors

Portal vendors

Application integration vendors

Enterprise application providers


A joint effort l.jpg

OASIS Technical Committees applications with

WSIA: Web Services for Interactive Applications

http://www.oasis-open.org/committees/wsia/

WSRP: Web Services for Remote Portals

http://www.oasis-open.org/committees/wsrp/

A Joint effort


Wsrp goals l.jpg

To develop a web services standard that will allow for the applications with plug-n-play of Portlets

To enable an application administrator to pick from a rich choice of compliant remote content and application providers, and integrate them with just a few mouse clicks and no programming effort

WSRP Goals


Data oriented vs presentation oriented ws l.jpg
Data-oriented vs. Presentation-oriented WS applications with

WSRP Web Service

Typical Data Web Service

Business logic (JavaXML)

Business logic (JavaXML)

WSDL

Presentation logic (XSLT)

WSDL

<courses>

<course>…</course>

<course>…</course>

</courses>

XML

SOAP

HTML

Business logic (JavaXML)

Presentation logic (XSLT)

SOAP


Web services for remote portlets wsrp l.jpg
Web Services for Remote Portlets (WSRP) applications with

  • WSRP will define

    • WSDL interface description for invocation of WSRP services

    • How to Publish, Find, Bind WSRP services

    • Markup Fragment Rules for markup emitted by WSRP services

  • Developed by

    • Organization of the Advancement of Structured Information Standards (OASIS)

  • Current spec

    • 1.0, July 14, 2003


Wsrp actors l.jpg

Producer applications with

Provides a Portlet as a presentation-oriented web service

Consumer

Consumes a Portlet as a presentation-oriented web service

End-Users

Clients to Consumers

WSRP Actors


Wsrp uportal scenarios l.jpg
WSRP/uPortal Scenarios applications with

Consumer/Producer

Consumer

Producer

WSRP

WSRP

WSRP

SOAP

WSRP

SOAP

Producer

WSRP

WSRP

SOAP

WSRP

SOAP

Consumer

WSRP

SOAP

Swing


Wsrp data flow l.jpg
WSRP Data Flow applications with

Producer

Consumer

User

Describeservice

getServiceDescription()

Generatemarkup

getMarkup()

Views page

getMarkup()

Clicks link orsubmits form

Changestate

performBlockingInteraction()

Freeresources

releaseSessions()

Logs out


Wsrp interfaces l.jpg

Service description applications with [required]

Queries the “capabilities” of the Producer

Markup [required]

Request/interact with markup fragments

Registration [optional]

Consumer registers with Producer

Portlet management [optional]

Grants access to clone and customize Portlets

WSRP Interfaces


Service description data structures l.jpg

Extension, Handle, Key, ID, LocaledString, ResourceValue, Resource, ResourceList, ItemDescription, MarkupType, PortletDescription, Property, ResetProperty, PropertyList, PrepertyDescription, ModelTypes, ModelDescription, CookieProtocol, ServiceDescription, RegistrationState, RegistrationContext

Service Description Data Structures


Service description operations l.jpg

getServiceDescription() Resource, ResourceList, ItemDescription, MarkupType, PortletDescription, Property, ResetProperty, PropertyList, PrepertyDescription, ModelTypes, ModelDescription, CookieProtocol, ServiceDescription, RegistrationState, RegistrationContext

Service Description Operations


Service description operations details l.jpg

getServiceDescription() Resource, ResourceList, ItemDescription, MarkupType, PortletDescription, Property, ResetProperty, PropertyList, PrepertyDescription, ModelTypes, ModelDescription, CookieProtocol, ServiceDescription, RegistrationState, RegistrationContext

Parameters:

RegistrationContext, desiredLocales

Returns:

ServiceDescription

Faults:

InvalidRegistration, OperationFailed

Service Description Operations, Details


Markup data structures l.jpg

SessionContext, RuntimeContext, PortletContext, CacheControl, Templates, ClientData, NamedString, MarkupParams, MarkupContext, MarkupResponse, UpdateResponse, BlockingInteractionResponse, StateChange, UploadContext, InteractionParams, UserProfile, UserContext

Markup Data Structures


Markup operations l.jpg

getMarkup() CacheControl, Templates, ClientData, NamedString, MarkupParams, MarkupContext, MarkupResponse, UpdateResponse, BlockingInteractionResponse, StateChange, UploadContext, InteractionParams, UserProfile, UserContext

initCookie()

releaseSessions()

Markup Operations


Markup operations details l.jpg

getMarkup() CacheControl, Templates, ClientData, NamedString, MarkupParams, MarkupContext, MarkupResponse, UpdateResponse, BlockingInteractionResponse, StateChange, UploadContext, InteractionParams, UserProfile, UserContext

Parameters:

RegistrationContext, PortletContext, RuntimeContext, UserContext, MarkupParams

Returns:

MarkupResponse, SessionContext

Faults:

AccessDenied, InconsistantParameters, InvalidRegistration, MissingParameters, OperationFailed, InvalidUserCategory, InvalidHandle, InvalidCookie, InvalidSession, UnsupportedMode, UnsupportedWindowState, UnsupportedLocale, UnsupportedMimeType

Markup Operations, Details


Markup operations details20 l.jpg

initCookie() CacheControl, Templates, ClientData, NamedString, MarkupParams, MarkupContext, MarkupResponse, UpdateResponse, BlockingInteractionResponse, StateChange, UploadContext, InteractionParams, UserProfile, UserContext

Parameters:

RegistrationContext

Returns:

N/A

Faults:

AccessDenied, InvalidRegistration, OperationFailed

Markup Operations, Details


Markup operations details21 l.jpg

releaseSessions() CacheControl, Templates, ClientData, NamedString, MarkupParams, MarkupContext, MarkupResponse, UpdateResponse, BlockingInteractionResponse, StateChange, UploadContext, InteractionParams, UserProfile, UserContext

Parameters:

RegistrationContext, sessionIDs

Returns:

N/A

Faults:

AccessDenied, InvalidRegistration, MissingParameters, OperationFailed

Markup Operations, Details


Registration data structures l.jpg

RegistrationData CacheControl, Templates, ClientData, NamedString, MarkupParams, MarkupContext, MarkupResponse, UpdateResponse, BlockingInteractionResponse, StateChange, UploadContext, InteractionParams, UserProfile, UserContext

Registration Data Structures


Registration operations l.jpg

register() CacheControl, Templates, ClientData, NamedString, MarkupParams, MarkupContext, MarkupResponse, UpdateResponse, BlockingInteractionResponse, StateChange, UploadContext, InteractionParams, UserProfile, UserContext

modifyRegistration()

deregister()

Registration Operations


Registration operations details l.jpg

register() CacheControl, Templates, ClientData, NamedString, MarkupParams, MarkupContext, MarkupResponse, UpdateResponse, BlockingInteractionResponse, StateChange, UploadContext, InteractionParams, UserProfile, UserContext

Parameters:

RegistrationData

Returns:

RegistrationContext

Faults:

MissingParameters, OperationFailed

Registration Operations, Details


Registration operations details25 l.jpg

modifyRegistration() CacheControl, Templates, ClientData, NamedString, MarkupParams, MarkupContext, MarkupResponse, UpdateResponse, BlockingInteractionResponse, StateChange, UploadContext, InteractionParams, UserProfile, UserContext

Parameters:

RegistrationContext, RegistrationData

Returns:

RegistrationState

Faults:

InvalidRegistration, MissingParameters, OperationFailed

Registration Operations, Details


Registration operations details26 l.jpg

deregister() CacheControl, Templates, ClientData, NamedString, MarkupParams, MarkupContext, MarkupResponse, UpdateResponse, BlockingInteractionResponse, StateChange, UploadContext, InteractionParams, UserProfile, UserContext

Parameters:

RegistrationContext

Returns:

N/A

Faults:

InvalidRegistration, OperationFailed

Registration Operations, Details


Portlet management data structures l.jpg

DestroyFailed, DestroyPortletsResponse, PortletDescriptionResponse, PortletPropertyDescriptionResponse

Portlet Management Data Structures


Portlet management operations l.jpg

getPortletDescription() PortletDescriptionResponse, PortletPropertyDescriptionResponse

clonePortlet()

destroyPortlets()

setPortletProperties()

getPortletProperties()

getPortletPropertyDescription()

Portlet Management Operations


Portlet management operations details l.jpg

getPortletDescription() PortletDescriptionResponse, PortletPropertyDescriptionResponse

Parameters:

RegistrationContext, PortletContext, UserContext, desiredLocales

Returns:

PortletDescriptionResponse

Faults:

AccessDenied, InconsistantParameters, InvalidRegistration, MissingParameters, OperationFailed, InvalidUserCategory, InvalidHandle

Portlet Management Operations, Details


Portlet management operations details30 l.jpg

clonePortlet () PortletDescriptionResponse, PortletPropertyDescriptionResponse

Parameters:

RegistrationContext, PortletContext, UserContext

Returns:

PortletContext

Faults:

AccessDenied, InconsistantParameters, InvalidRegistration, MissingParameters, OperationFailed, InvalidUserCategory, InvalidHandle

Portlet Management Operations, Details


Portlet management operations details31 l.jpg

destroyPortlets() PortletDescriptionResponse, PortletPropertyDescriptionResponse

Parameters:

RegistrationContext, portletHandles

Returns:

DestroyPortletsResponse

Faults:

InconsistantParameters, InvalidRegistration, MissingParameters, OperationFailed

Portlet Management Operations, Details


Portlet management operations details32 l.jpg

setPortletProperties() PortletDescriptionResponse, PortletPropertyDescriptionResponse

Parameters:

RegistrationContext, PortletContext, UserContext, PropertyList

Returns:

PortletContext

Faults:

AccessDenied, InconsistantParameters, InvalidRegistration, MissingParameters, OperationFailed, InvalidUserCategory, InvalidHandle

Portlet Management Operations, Details


Portlet management operations details33 l.jpg

getPortletProperties() PortletDescriptionResponse, PortletPropertyDescriptionResponse

Parameters:

RegistrationContext, PortletContext, UserContext, names

Returns:

PropertyList

Faults:

AccessDenied, InconsistantParameters, InvalidRegistration, MissingParameters, OperationFailed, InvalidUserCategory, InvalidHandle

Portlet Management Operations, Details


Portlet management operations details34 l.jpg

getPortletPropertyDescription() PortletDescriptionResponse, PortletPropertyDescriptionResponse

Parameters:

RegistrationContext, PortletContext, UserContext, desiredLocales

Returns:

PortletPropertyDescriptionResponse

Faults:

AccessDenied, InconsistantParameters, InvalidRegistration, MissingParameters, OperationFailed, InvalidUserCategory, InvalidHandle

Portlet Management Operations, Details


Wsrp concepts l.jpg

Stateful Portlet Scenarios PortletDescriptionResponse, PortletPropertyDescriptionResponse

Modes

Window States

URL Considerations

Markup Fragment Rules

CSS Style Definitions

Caching

Security

User Information

User Categories

WSRP Concepts


Stateful portlet scenarios l.jpg

No state PortletDescriptionResponse, PortletPropertyDescriptionResponse

Information on URL determines state

Typically a single-page Portlet

Navigational state only

Portlet does not maintain state at the Producer

Portlet passes navigationState token to Consumer

Local state

Portlet maintains state on the Producer.

Typically involves session ID.

Can also involve navigationalState token

Stateful Portlet Scenarios


Modes l.jpg

How Consumer manages interaction with End-User PortletDescriptionResponse, PortletPropertyDescriptionResponse

Consumer indicates to Portlet the current mode, Portlet may request a mode change

Standard modes

wsrp:view [required]

Render markup reflecting current state of Portlet

wsrp:edit

Customization of Portlet

wsrp:help

Explanation of Portlet and its usage

wsrp:preview

Visual sample of how Portlet will appear on page

Custom modes are permitted

Modes


Window states l.jpg

Indicate amount of page space assigned to Portlet’s content

Consumer indicates to Portlet the current window state, Portlet may request a window state change

Standard window states

wsrp-normal [required]

Sharing aggregated page with other Portlets

wsrp-minimized

Portlet should not render visible markup

wsrp-maximized

Portlet has more space that other Portlets

wsrp-solo

Portlet is the only Portlet to be rendered on the page

Custom window states are permitted

Window States


Url considerations l.jpg

Portlet URLs need to target Portlets content

Users interact with Consumers, not Producers

Consumer URL Rewriting

Producer defines URL templates with replaceable tokens

Producer URL Rewriting

Consumer defines URL templates with replaceable tokens

URL Considerations


Consumer url rewriting l.jpg

Producer declares URL template content

wsrp_rewrite?wsrp-urlType=value&name=1=value1&name2=value2…/wsrp_rewrite

Parameter name choices

wsrp-urlType

wsrp-navigationalState

wsrp-interactionState

wsrp-mode

wsrp-windowState

wsrp-fragmentID

wsrp-secureURL

Example

Request that Consumer changes the Portlet window state

wsrp_rewrite?wsrp-urlType=render&wsrp-windowState=maximized/wsrp_rewrite

Consumer URL Rewriting


Producer url rewriting l.jpg

Consumer declares URL template content

http://www.consumer.com/path/{wsrp-urlType}?mode={wsrp-mode}&...

Parameter name choices

All the ones for Consumer URL Rewriting plus...

wsrp-portletHandle

wsrp-userContextKey

wsrp-portletInstanceKey

wsrp-sessionID

Example

Request that Consumer changes the Portlet window state

http://www.consumer.com/path/{wsrp-urlType}?portletEvent={wsrp-mode}

Producer URL Rewriting


Markup fragment rules l.jpg

Certain markup tags should be left out of a markup fragment emitted by a portlet

HTML and XHTML

Disallowed

<html>, <head>, <title>, <body>, <frameset>, <frame>

Not recommended

<base>, <link>, <meta>, <style>

Markup Fragment Rules


Css style definitions l.jpg

A standard set of CSS style definitions are needed so that aggregated Portlets retain a common look and feel on a page

Fonts

portlet-font, portlet-font-dim

Messages

portlet-msg-status, portlet-msg-info, portlet-msg-error, etc.

Sections

portlet-section-header, portlet-section-body, portlet-section-alternate, etc.

Tables

portlet-table-header, portlet-table-body, portlet-table-selected, etc.

Forms

portlet-form-label, portlet-form-input-field, portlet-form-button, etc.

Menus

portlet-menu, portlet-menu-item, portlet-menu-caption, etc.

CSS Style Definitions


Css style example l.jpg
CSS Style Example aggregated Portlets retain a common look and feel on a page

.portlet-form-label

.portlet-form-field

Favorite color

.portlet-form-input-field

.portlet-form-field-label

Blue

Green

Red

Pink

Other color:

.portlet-form-button

Submit


Security l.jpg

WSRP Specification 1.0, Section 9 aggregated Portlets retain a common look and feel on a page

“For this version of the specification, emphasis is placed on using transport-level security standards (e.g. SSL/TLS) to address the security issues involved in Consumers invoking Producers on behalf of End-Users.”

Producer declares an https endpoint in WSDL

Consumer lets Producer know if End-User is communicating securely

Security


User information l.jpg

Standard set of user attribute aliases mapped to local attributes

uPortal  EduPerson 1.0

Examples

sn

givenName

homePostalAddress

WSRP  P3P User Data

Examples

name/family

name/given

homeInfo/postal/street

User Identity – defer to other specifications

SAML

WS-Security

User Information


User categories l.jpg

A Producer declares which User Categories it supports attributes

A Consumer declares which User Categories it supports

Usage of these categories is optional for both Consumer and Producer

Standard User Categories

wsrp:full

Users can use full functionality of Portlet

wsrp:standard

Users may customize some set of properties for Portlet

wsrp:minimal

Users may view a Portlet, but not modify its properties

User Categories


Uportal wsrp consumer code l.jpg

Channel attributes

org.jasig.portal.channels.wsrp.CConsumer

WSDL Service Locator

org.jasig.portal.wsrp.wsdl.*

Interfaces

org.jasig.portal.wsrp.intf.*

Bindings (client stubs)

org.jasig.portal.wsrp.bind.*

Data Structures

org.jasig.portal.wsrp.types.*

uPortal WSRP Consumer Code


Uportal wsrp producer code l.jpg

Web application deployment descriptor attributes

web.xml

Deployed web services

server-config.wsdd

Bindings (server skeletons)

org.jasig.portal.wsrp.bind.*

Data Structures

org.jasig.portal.wsrp.types.*

uPortal WSRP Producer Code




Wsrp channel l.jpg
WSRP Channel attributes


Wsrp v1 1 l.jpg

Planned for early/mid 2004 attributes

Markup

VoiceXML fragment rules

Additional CSS classes?

WML fragment rules

Description and Transport Issues

Leveraging attachment mechanisms

Publish/Find/Bind

Information model for publishing

Technical notes for mapping the information model to UDDI and ebXML Registry

WSRP v1.1


Wsrp v2 0 l.jpg

Planned for early/mid 2005 attributes

Markup

Additional fragment rules?

Additional CSS classes?

Interfaces

Leveraging message level security mechanisms

Enhanced customization mechanisms

Define invalidation caching?

Cross-portlet coordination

Enabling the Consumer to broker the coordinated response of portlets to a user interaction

WSRP v2.0


Wsrp in uportal next steps l.jpg

WSRP4J attributes

Compatibility testing

Authentication

Consumer URL rewriting

File Upload/Downloading

Use of Registration Interface

Use of Portlet Management Interface

Portlet Browsing and Subscription

WSRP in uPortal – Next Steps


Uportal portlet roadmap l.jpg

uPortal 2.3 attributes

Support Portlets (JSR-168) via adapter

uPortal 3.0

Implement Portlet Specification (JSR-168)

Support IChannel via adapter

uPortal Portlet Roadmap

Portlet

Portlet

Portlet

Chan

Chan

Chan

Portlet

Portlet

Chan

Chan

Portlet

Chan

uPortal 2.3

uPortal 3.0

Framework

Framework

Pluto

Adapter

Adapter

Pluto


The end l.jpg

Speakers attributes: Ken Weiner

Presentation Title: WSRP in uPortal

Date: 12/08/2003

Time: 10:15 PM – 11:15 PM

Room: Crystal 1

The End

Questions ?

Speaker Evaluation Info:


ad