web services experience language web services experience language technical overview ravi konuru...
TRANSCRIPT
Web
Ser
vice
s E
xper
ienc
e La
ngua
ge
Web Services eXperience LanguageWeb Services eXperience Language
Technical OverviewTechnical Overview
Ravi Konuru ([email protected])e-Business Tools and Frameworks, IBM Research
IBM WSXL Team
OASIS WSCM Technical CommitteeOASIS WSCM Technical Committee
January 2002January 2002
Web
Ser
vice
s E
xper
ienc
e La
ngua
geThe Innovation Context
ApplicationBack End Services
User Experience Services
Leverage Web services and XML technologies• B2B Integration Experience Integration• Enable simple solutions for syndication, adaptation, delegation and composition of web experience• Ensure migration path for existing applications
Providers Integrator Client
Web
Ser
vice
s E
xper
ienc
e La
ngua
geExperience Integration: Requirements & Related Work
– Provider• Migrating Interactive Web Applications
– Converting existing web applications to interoperable services– Describing their inputs and outputs.
• Syndication– Separation of Style from Presentation (XML/XSL)– Adaptation description– Explicit MVC decomposition (XFORMS)– Explicit Flow Modeling (WSFL)
– Integrator• Style Composition
– XSL, CSS
• Data binding, sharing and synchronization across components– XFORMS, XML Events, XLINK, XPATH, XML plug-in?
• Event interoperability and synchronization – XML Events, XLINK, XPATH, XML plug-in?
• Flow composition– WSFL
Web
Ser
vice
s E
xper
ienc
e La
ngua
geRelationship to WSCM Charter
• define a set of "base" web services interfaces that can be used to expose interactive web application function and adaptation.
• define a set of web services interfaces that can be used to partition web applications into model, view and control (MVC).
• define a "wiring mechanism" to declaratively specify web application semantics.
Web
Ser
vice
s E
xper
ienc
e La
ngua
geWSXL Elements• WSXL Components are built on four kinds of web services:
Base, Data, Presentation and Control.
• The Extensible Control Language (XLink and XML Events) wires WSXL Components.
• A WSXL Container service hosts WSXL components and can provide optional functionalities.
• WSXL Adaptation Description Language enables application providers to specify the adaptability of their service.
• WSXL Applications can be created from one or more WSXL components (Base, Data, Presentation, and Control) and wired using the Extensible Control language.
Web
Ser
vice
s E
xper
ienc
e La
ngua
geWSXL Base ComponentThe WSXL Base Component specifies the interfaces required by all WSXL Components.
• W3C DOM Events interface is used for describing event listeners, event handlers and WSXL Event types.
• Lifecycle interfaces is the means to identify and manage instances
• getMarkup interface provides its output
All WSXL Entities can additionally export application specific operations
WSXL BaseComponent
W3C DOM Events
getMarkup Interface
Lifecycle Interfaces
Web
Ser
vice
s E
xper
ienc
e La
ngua
geWSXL Data ComponentThe WSXL Data Component - Interfaces to describe and maintain instances of data - Adopts concepts and ideas from XFORMS - Desired functionality in the data interface
- Access (DOM subset),- Validation, - Update Control, - Re-computation,- Data Availability.
WSXL DataComponent
WSXL Base Interface
Data Interfaces
Application Interfaces
Web
Ser
vice
s E
xper
ienc
e La
ngua
geWSXL Presentation ComponentThe WSXL Presentation Component - Describes and maintains instances of presentation - Elements from arbitrary namespaces (XHTML, WML, XFORMS, …) - DOM 2 based access interface - Defined events such as focus, select, execute and DOM mutation.
WSXL PresentationComponent
WSXL Base Interface
Presentation Interfaces
Application Interfaces
Web
Ser
vice
s E
xper
ienc
e La
ngua
geWSXL Control ComponentThe WSXL Control Component implements interfaces used to - Manage the arcs connecting WSXL components - Control the propagation of bi-directional event notification - Parse and interpret the Extensible Control Language.
WSXL ControlComponent
WSXL Base Interface
Control Interfaces (Arc management, Update Model)
Application Interfaces
Common case: Connecting presentation and data components.
Web
Ser
vice
s E
xper
ienc
e La
ngua
geWSXL Event Wiring
WSXL PresentationComponent
WSXL DataComponent
W3C XML Events
WSXL ControlComponent
W3C XML Events
W3C XML Events
The Extensible Control Language (XLINK and XML Events) wires any WSXL Components together for event synchronization.
Web
Ser
vice
s E
xper
ienc
e La
ngua
geWSXL ContainersA WSXL Container is responsible for providing an execution and management environment for WSXL Components.
Discovery
Specialized
Lifecycle
Web
Ser
vice
s E
xper
ienc
e La
ngua
geAdaptation Description Language
• Driven by Integrator Requirements– Robust adaptation
• Reliably observe and/or modify the output of a service
• Reliably change behavior by replacing invocations of one service to invocations of another service.
– Exploit provider capabilities• Use provider’s services/operations to perform adaptations.
• Application Provider specifies– Category of adaptation (XML, CSS, ….)– Points of adaptability– Kinds of adaptability– Assistance for adaptation
Web
Ser
vice
s E
xper
ienc
e La
ngua
geCreating Applications
A WSXL application can consist of:– A single WSXL component– An adaptation description– Event wiring and synchronization– Flow composition across multiple WSXL
components
Web
Ser
vice
s E
xper
ienc
e La
ngua
geDistributed Stock Plotting Application
Web
Ser
vice
s E
xper
ienc
e La
ngua
geMapping WSXL to WSCM-specific elements
WSXL Base Service
WSXL Container
WSFL - Flow modeling
WSFL - Global modeling
WSDL - Operations
Event wiring
WSXL Event Controller
WSXL Data Service WSXL Presentation Service
Existing WS infrastructure
WSXL
Adaptation Description LanguageExtensible Control Language
Web
Ser
vice
s E
xper
ienc
e La
ngua
ge
Questions/Comments?