Enabling Interactive, Presentation-Oriented Content Services through the wsrp standard Rich Thompson

Yüklə 1,45 Mb.
ölçüsü1,45 Mb.

Enabling Interactive, Presentation-Oriented Content Services through the WSRP Standard

  • Rich Thompson (OASIS WSRP TC Chair)

WSRP Motivation

  • Enable the sharing of portlets (markup fragments) over the internet with a common interface

  • => Cross vendor publishing and consuming of content

Technical Motivation for WSRP

  • API users need to compose presentations and their navigational flow from the underlying APIs, resulting in high setup costs for the API user.

  • API users need to track API changes resulting in high maintenance costs for the API user.

  • The application provider’s quality standards are not reflected in the resulting application.

  • Application provider loses opportunity to “brand” the user experience.

Presentation vs. Data Oriented WS

  • Presentation WS visual & user facing & interactive

Actors in a WSRP World

  • Portlet: A particular configuration of a component that renders its state in markup.

  • Producer: The service provider hosting the remote interactive Web service (for example, weather.com as a weather service provider)

  • Consumer: Integrates the remote service into its Web application, oftentimes using a portal toolkit (for example, Yahoo Weather or a corporate portal)

  • End User: The person that comes to the Consumer’s Web site to use the Producer’s application in the Consumer’s context

General Interaction Flow

General Interaction Flow - Render

  • The interaction only modifies navigational state

General Interaction Flow – Action

WSRP and the WS-Stack

Consumer URL Rewriting

Consumer URL Rewriting

  • wsrp_rewrite?wsrp-urlType=value&name1=value1& ... /wsrp_rewrite

  • Portlet URL parameters are:

    • wsrp-urlType (must be first; ‘render’, ‘blockingAction’, or ‘resource’)
    • wsrp-requiresRewrite wsrp-url
    • wsrp-navigationalState wsrp-token
    • wsrp-interactionState wsrp-mode
    • wsrp-windowState wsrp-secureURL
    • wsrp-fragmentID

Producer URL Writing

Producer URL Writing

  • Receives templates for how Consumer wants URLs

    • http://www.Consumer.com/path/{wsrp-urlType}?mode={wsrp-mode}&…
    • Everything outside the ‘{…}’ pairs is a constant.
    • Inside the ‘{…}’ pairs is a portletURL parameter
  • Additional portlet URL parameters are:

    • wsrp-portletHandle
    • wsrp-userContextKey
    • wsrp-portletInstanceKey
    • wsrp-sessionID


  • Issue:

    • Since the page is aggregated, multiple markups may contain items where uniqueness is required (e.g. a JavaScript function name).
  • Consumer rewriting:

    • Markup contains “wsrp_rewrite_” whenever an item needs to be uniquely namespaced. Consumer replaces all these with a single token that is unique to the instance of the portlet on the aggregated page.
  • Producer namespacing:

    • Consumer supplies a unique “namespacePrefix” that the Producer/Portlet can use to prefix items and make them unique.


Clone on Write

  • Scenario

    • Two users look at the same portlet on their private page
    • Until they customize this portlet it is backed by only one instance on the Producer (efficiency)
    • What happens if they customize their portlet? (i.e. modify persistent state)
  • Solution: Clone-on-write

    • The Consumer cannot detect if customization is required (detecting edit mode is not enough)
    • The Consumer passes a flag to the Producer that indicates whether cloning is necessary and acceptable
    • If the portlet is shared AND the interaction induces a customization, then the Producer clones the portlet (if permitted) before performing the customization

Modes and Window States

  • Consumer managed (i.e. properties of the aggregated page)

  • Producer/Portlet request changes via:

    • 1. Portlet URL parameters (wsrp-mode and wsrp-windowState)
      • => Consumer MUST decide whether or not to honor the request BEFORE invoking the target operation
    • 2. performBlockingInteraction() response
      • => Consumer MUST decide whether or not to honor the request BEFORE invoking getMarkup() [any returned markup assumes the request is honored]

WSDL definitions

Useful links

Markup Language Support

  • WSRP v1.0 defines fragment rules for:

    • HTML
    • XHTML
    • XHTML Basic
  • WSRP v1.1 intends to additionally define fragment rules for:

    • VoiceXML 2.0

CSS Support

  • WSRP v1.0 defines base set of CSS classes. This allows portlets to generate markup that automatically adjusts to the look and feel of the Consumer without having to know the vendor of the Consumer‘s implementation.

  • WSRP v1.1 intends to define additional CSS classes based on:

    • Submitted scenarios: It is recognized that the v1.0 classes do not cover all scenarios and additional scenarios are being sought.
    • Actual usage: As vendors submit the additional classes they define and the portlet controls those classes permit, the committee will consider adding such controls.

Leveraging Attachment Mechanisms

  • Attachment mechanisms potentially offer a substantial performance benefit as the attached documents do not have to be processed for insertion/extraction from the SOAP message.

  • Other standards bodies are working on standardizing attachment mechanisms, namely;

    • W3C XMLP Working Group
    • WS-I Basic Profile 1.1
  • WSRP v1.1 intends to track and leverage these mechanisms.

Leveraging Security Mechanisms

  • Due to the relative immaturity of message level security mechanisms, WSRP v1.0 depends only on transport security mechanisms.

  • Various OASIS Technical Committees (and others) are working on standarding message level security mechanisms, namely;

    • Access Control Markup Language (XACML)
    • Digital Signature Services
    • Public Key Infrastructure
    • Rights Language (XrML)
    • Security Services (SAML)
    • Web Services Security (WS-Security)
    • XML Common Biometric Format TC (XCBF)
  • WSRP intends to track and leverage these mechanisms.

Directory Support

  • WSRP v1.0 does NOT define any relationship to a directory service

  • WSRP v1.1 intends to define the information model that must be published independent of the directory service. Separate documents planned which define the mapping to UDDI and ebXML Registry.

Yüklə 1,45 Mb.

Dostları ilə paylaş:

Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2020
rəhbərliyinə müraciət

    Ana səhifə