Title: Web Services for Interactive Applications
1Web Services for Interactive Applications
- Overview of the OASIS WSIA Technical Committee
- Charlie Wiecha, IBM T.J. Watson Research Center,
Yorktown Hts NY - www.oasis-open.org/committees/wsia
2WSIA Technical Committee Members
- BEA
- Bowstreet
- Cisco
- Computer Associates
- CrossWeave
- Cyclone Commerce
- Divine
- USAF/Dept of Defense
- Epicentric
- France Telecom
- Fujitsu
- HP
- IBM
- Intel
- KiNZAN
- Macromedia
- Nokia
- Peregrine Systems
- Plumtree
- Pointgain Corp
- SAP
- SeeBeyond
- Silverstream
- Sterling Commerce
- Vitria
- WebCollage
3WSIA Positioning in the Web Services standards
stack
Security / Privacy
Quality of service
Management
4The business payoff...
- Business want to distribute web applications
through multiple distribution channels and
multiple deployment mechanisms. - Business want to easily create new web
applications by leveraging a world wide pallet of
user interface assets.
5Producers and consumers ofend-user experience
Consumers (or integrators)
Producers
Client
Application Back End Services
User Experience Services
6Producers and consumers ofend-user experience
Consumers (or integrators)
Producers
Client
Application Back End Services
User Experience Services
7WSIA Business Scenarioswww.oasis-open.org/committ
ees/wsia/scenarios/index.shtml
8Business Scenario - OEM Value Chain
9Range of service composition use cases
- Embedded
- Placing the WSIA Web Service inside a new
container side-by-side. - Example Stock plot applications as-is within a
corporate portal. - Customized
- Embedding the WSIA Web Service inside a new Web
application, with look and feel modifications,
adding or excluding elements, altering actions
associated with elements, in/out data
transferred. Provides for customization both of
the process of generating output, and for
handling interaction returning from the end-user. - Example Altering the options in the navigation
bar for the stock plot or excluding some
elements. Customization can either be static
(offline configuration, a typical portal
scenario) or dynamic (a per-user or per-session
configuration, a.k.a., personalization).
10Range of service composition use cases
- Coordinated
- Integrating the WSIA Web Service into a new Web
application, providing in-page wiring. Note that
the Consumer can coordinate Producer and Consumer
elements, or coordinate between multiple
Producers. - Example As the user selects options in the
Consumers customized stock plot navigation bar
the separate WSIA plotting service is updated. - Orchestrated
- Integrating the WSIA Web Service, while
customizing and adapting the flow of the Web
Service. - Example Instead of displaying the stock plot
standard dialog box for entering a symbol,
provide the symbol directly from the Consumer. - Republished
- The Consumer of the WSIA Web Service republishes
the new experience as a new WSIA Web Service. - Example After performing the flow changes, the
Consumer wraps the new stock plot experience as a
WSIA Web Service, and integrates it into
different locations on its e-banking site (Gold
Site, Silver Site, Standard Site).
11Embedded WSIA services
12Embedded WSIA services
Consumer
Producers
Users
WSIA Proxy
HTTP(SOAP)
WSIA Application
WSIA Runtime
WSIA Proxy
Travelers Check Application
HTTP(SOAP)
HTTP(HTML)
WSIA Application
WSIA Application
Stock Application
WSIA Runtime
WSIA Runtime
13Possible interfaces for Embedded level of WSIA
function
- Lifecycle
- createInstance
- destroyInstance
- User interaction
- getOutput
- invokeAction
- Service description
- getInterface
- hasInterface
14Customized WSIA services
Users
Consumer
Producer
Data and presentation properties
WSIA Proxy
Producer specific operations
HTTP(SOAP)
HTTP(HTML)
Stock Application
WSIA Application
WSIA Application
WSIA Runtime
WSIA Runtime
WSIA Runtime
15Possible interfaces for Customized level of
function
- Properties
- getPropertySchema
- setProperties
- getProperties
- An example of a PropertyList
- ltPropertyListgt
- ltProperty propertyLocatora/b/cgta
stringlt/Propertygt - ltProperty propertyLocatorf/d/e/tgt
- lt someComplexType gt
-
- lt/ someComplexType gt
- lt/Propertygt
- lt/PropertyListgt
16Coordinated WSIA services
17Coordinated WSIA services
Users
Consumer
Producer
WSIA Service
Data and presentation properties
WSIA Proxy
HTTP(SOAP)
HTTP(HTML)
WSIA Application
WSIA Application
WSIA Runtime
WSIA Runtime
18WSIA Control Component
- Event handlers associated with arcs can
- Modify the structure of data and/or presentation
components. - Make calls to external services
- Trigger the instantiation of additional WSIA
components.
Property mutation events
WSIA Presentation Component
Property mutation events
Extensible Micro Control Language
WSIA Presentation Component
Property mutation events
WSIA Control Component
19Coordination through adaptation of output and
user interaction
Consumer
Producer
Output Adaptation
getOutput
End user
Input Adaptation (interception)
invokeAction on original Producer
Local implementation or redirection to
other Producer
Custom
Base WSIA Service
20Coordination through property setting and change
notification
Consumer
Producer A
getOutput
End user
invokeAction on original Producer
Base WSIA Service
Producer B
getOutput
21Consumer
3
, 10a
WSIA Pres. Service
4
Action bar properties
User
5
9
WSIA Control Service
6
8
10b
WSIA Pres. Proxy
7
Stock plot properties
22Possible interfaces for Coordinated level of
function
- Property change (event) notification
- addEventListeners
- removeEventListeners
- handleEvent
- Patterned after XML Events
- ltListenerListgt
- ltlistener eventPropertyMutation
propertya/b/d - handlerrefFor-EventSinkDocU
RI/gt - lt/ListenerListgt
23Overview of the WSIA service model
Producer
Lifecycle createInstance, destroyInstance Service
description getInterface, hasInterface
User interaction getOutput, invokeAction
Properties getPropertySchema, setProperties,
getProperties
Property synchronization addEventListener,
removeEventListener, handleEvent
Custom service specific operations to affect
either properties or output
Base WSIA Service
24Assumed WSRP design point
- Pluggable Producers
- administrator/end-user configuration - no
programming at Consumer (local portal) - generic proxy for all remote portlet services (no
Producer-specific properties, operations) - Standard types for
- user profile
- device description
- markup preferences
- locale
- Portal-specific lifecycle
- persistant portlet definitions
- transient user-specific sessions
25Alignment of WSIA and WSRP
Producer
Lifecycle createInstance, destroyInstance,
createSession( persistant-portlet-key ) Service
description getInterface, hasInterface
User interaction getOutput, invokeAction getPort
letOutput( WSRP-properties ) invokePortletAction(
WSRP-properties)
Properties getPropertySchema, setProperties,
getProperties
Property synchronization addEventListener,
removeEventListener, handleEvent
Custom service specific operations to affect
either properties or output
Base WSIA Service
26Orchestrated WSIA services
Users
Consumer
Producer
WSIA Service
Data and presentation properties
WSIA Proxy
HTTP(SOAP)
HTTP(HTML)
WSIA Application
WSIA Application
WSIA Runtime
WSIA Runtime
27Republished WSIA services
Consumer becomes a WSIA service
Users
Producer
Consumer
WSIA Service
Data and presentation properties
WSIA Proxy
HTTP(SOAP)
HTTP(SOAP)
WSIA Application
WSIA Application
WSIA Runtime
WSIA Runtime
28Open Issues and Focus Areas
- Requirements -- driven by business scenarios and
use-cases - Usage patterns and requirements
- Core functionality and architecture of the UI
framework - Base interfaces base service, adaptation, data
inputs and outputs, page entry points, and
collection/container - Flow composition
- Aggregation (global composition)
- Event interaction and composition
- Surrounding issues
- Security
- Performance
- Management model
- Agreements
- Availability, failure and recovery semantics
- Adoption
- Tools and runtime support
- Sample service implementations
- Business/technical education training
- Standardization
- Standardization process for core architecture
29For further information...
- On WSIA
- www.oasis-open.org/committees/wsia
- On WSXL
- http//www-106.ibm.com/developerworks/library/ws-w
sxl/