Title: Web Service for Interactive Application WSIA
1Web Service for Interactive Application (WSIA)
- ?????????
- ????GI1-08???
- ????2004/04/24
2Outline
- Introduction
- What is WSIA?
- Why need WSIA?
- WSIA/WSRP Technology Overview.
- Conclusion
- Reference
3Introduction
Human understanding
presentation
User interactive
HTML
Extent Transaction
DHTML
Server Page
Java script VB script
JSP ASP .NET
4Introduction
Machine understanding / Cross platform
Data/Message exchange
XML
Application-Application
Web Service
interoperability
Presentation/interactive
SOAP
?
WSDL
UDDI
5Introduction
- Ed Anuff, chief strategy officer at Epicentric.
A web service up until now using SOAP and WSDL
has had no presentational aspect to it. With
component model Web Services you can provide a
complete user interface for an end-user involved
in that which can be dynamically plugged into a
portal without development effortsOctober,2001
6Introduction
- Why little focus on UI in Web Service?
- Lack of perception of the UI as a distributed app
problem. - Lack of focus on the need to support diversity of
the UI. - Its a messy problem
- XHTML, WML lack semantics of data-oriented XML
- How to raise level of abstraction without
introducing new and hard-to-get-adopted markup
languages.
7Introduction
- Web services user interface may be created
automatically? - How to deliver Web Services to end users?
- Directly to a browser or mobile device
- Indirectly through a portal
- Indirectly embedding into a 3rd party web
application.
8What is WSIA?
- A New web services standard for Interactive
application in Web Service - enable organization can easily plug and play web
service into their applications and portals just
a few mouse clicks and no programming effort.
9What is WSIA?
Security / Privacy
Quality of service
Management
10What is WSIA?
- History
- January 21, 2002 the OASIS Rename Web service
Component Model ( WSCM) as WSIA - Novembre 2002 Working Draft 0.8 (with WSRP)
11What is WSIA?
- OASIS Current Technical Committees.
- Provisioning Services (PSML)
- Rights Language
- RELAX NG
- Security Services
- Topic Maps Published Subjects
- Topic Maps Published Subjects for Geography and
Language - Topic Maps Vocabulary for XML Standards
- Universal Business Language
- Web Services for Interactive Applications (WSIA)
- Web Services Remote Portal (WSRP)
- XSLT Conformance
- Access Control (XACML)
- Business Transaction Protocol (BTP)
- Common Biometric Format (XCBF)
- Conformance
- Customer Information (CIQ)
- Directory Services (DSML)
- DocBook
- ebXML CPPA
- ebXML IIC
- ebXML Messaging
- ebXML Registry
- Election Services
- Entity Resolution
- Human Markup
12What is WSIA?
13What is WSIA?
- The goals of the OASIS WSIA TC
- To create an XML and web services centric
framework for interactive web applications. - To Harmonize WSIA with
- existing web application
- The work of W3C
- Emerging web services standard
- Appropriate business information bodies
- To ensure that WSIA application can be deployed
on any tier of network and remain target device - Promote WSIA to the status of international
standard for based Web application development.
14What is WSIA?
- 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
15What is WSIA?
WSXL
JSP-168
WSUI
WSIA
WSRP
WSCM
XML API
16What is WSIA?
- WSRP
- Web Service Remote Portal
- WSIA focus on the framework for creating
interactive Web services, and WSRP defines the
interfaces to include portal-specific features. - WSIA is of broader scope than WSRP
17What is WSIA?
(X)HTML
WML
Voice XML
cHTML
...
WSRP
WSRP/WSIA Common Base
WSIA
SOAP (Invocation)
WSDL (Description)
UDDI (Publish,FindBind)
18What is WSIA?
WSRP
IBM
19Why need WSIA?
2
retailer
manufacture
1
3
XML APIs dont provide the simplicity needed to
scale integration to thousands of channel partners
20Why need WSIA?
tool
Internet
tool
intranet
tool
How to transition as many processes as possible
into self-service tasks over the web to reduce
operation costs
21Why need WSIA?
- Technical Motivation
- API users incur the effort of integrating the
application into their sites. - High setup cost
- Maintenance cost
- How to ensure Quality
- WSIA and WSRP provide an alternative to
data-centric Web Services and simple XML APIs.
22Why need WSIA?
Presentation oriented web service
Data oriented web service
Database
Database
Business logic layer
Business logic layer
Presentation layer
XML
HTML
Presentation layer
For API users, data-oriented Web Services require
further work to transform the XML to HTML
23Why need WSIA?
API users incur the effort of integrating the
application into their sites.
24WSIA/WSRP Technology Overview
- WSIA and WSRP define
- a set of APIs
- Three types of actors
Producers
Consumers (or integrators)
Client
Application Back End Services
User Experience Services
25WSIA/WSRP Technology Overview
- Typical Process Flow
- Establishment of a relationship between the
Consumer and Producer. (registration) - Establishment of a relationship between the
Consumer and End-User. ( authentication) - Production of aggregated pages by Consumer.
- Request for a page by End-User.
- Processing interactions.
- Destruction of relationship.
26WSIA/WSRP Technology Overview
- Various levels of interaction between roles
- Simpler Producer
- Maintain interaction state using a sessioin
- Sophisticated Producer
- A number of entities
- Require consumers to register in DBMS
- Simple Consumer
- Explicit declarations for binding to producers
- Sophisticated Consumer
- Support discovery of new producers by End-Users.
27WSIA/WSRP Technology Overview
End User Interactions in simple Consumer /
Producer
28WSIA/WSRP Technology Overview
End User Interactions in sophisticated Consumer /
Producer
29WSIA/WSRP Technology Overview
- WSIA and WSRP fulfill the following roles
- Define the notion of valid markup fragments based
on the existing markup languages, such as HTML,
XHTML, VoiceXML, cHTML... - Provide a set of standard calls to enable a
Consumer to request these markup fragments from a
Producer based on the existing state. - Supply a set of calls that support the concept of
multistep user interaction and preservation of
state across those calls
30WSIA/WSRP Technology Overview
- There are four central parts to the WSIA and WSRP
APIs - Retrieving markup fragments (encapsulated in the
getMarkup() call) - Managing state
- Handling user interaction (encapsulated in the
performInteraction() call) - Supporting customization and configuration
31WSIA/WSRP Technology Overview
- Retrieving Markup Fragments
- getMarkup() call requests a markup fragment based
on the state of the Web service.
embed into page
Fragment of Html Code
2
4
Return to user
consumer
producer
3
0
getMarkup() call
1
32WSIA/WSRP Technology Overview
- Retrieving Markup Fragments
- Container page (adapters)
- In WSIA, it can be any web application.
- In WSRP, it is generated by a portal toolkit.
- URL rewriting
- Any further user interaction with the service is
routed through the Consumer application.
Fragement / portlet
Container
producer
consumer
33WSIA/WSRP Technology Overview
- Managing State
- Reasons
- Multistep interaction
- Requiring several calls from the Consumer to the
Producer. - WSIA/WSRP are connectionless protocols.
- Three Types of state
- Navigational state
- Allow the current page to be correctly generated
- send from Producer to Consumer
- stored in URLs ns parameter.
- Transient state
- Related to a sequence of operations. ( not
explicitly terminated) - stored on the Producer.
- Consumer is then responsible for attaching it to
any subsequent calls. - Persistent state
- Consumer Registration
- Entity
34WSIA/WSRP Technology Overview
- Handling User Interaction
- All the URLs embedded in the markup fragment
returned by the remote Producer service must
point back to the Consumer application. - For example
- the consumer may send the following URL template
- www.consumer.com/path?nspage1si4ABB33A
- The producer is responsible for generating a
markup fragment in which all the interaction URLs
point back to the Consumer. - www.consumer.com/path?nspage2si4ABB33A
35WSIA/WSRP Technology Overview
Two-step protocol
API CALLS FLOW
36WSIA/WSRP Technology Overview
- Supporting Customization and Configuration
- A single hosted service can be used across
multiple consumer applications and users. - Consumers can create and manage additional
configurations of the same service. - For example
- A remote interactive product catalog may be
configured to display different prices depending
on the Consumer application.
37WSIA/WSRP Technology Overview
- Supporting Customization and Configuration
- A single hosted service can be used across
multiple consumer applications and users. - Consumers can create and manage additional
configurations of the same service. - For example
- A remote interactive product catalog may be
configured to display different prices depending
on the Consumer application.
38WSIA/WSRP Technology Overview
- Interaction Lifecycle states
State 0 Unknown
discovery
interaction
State 1 Known
State 2 Active
registration
39WSIA/WSRP Technology Overview
- Operations
- Service Description Interface
- getServiceDescription( registrationContext,userCon
text) - Markup Interface
- getMarkup(refHandle,groupID,userContext,markupPara
ms,templates) - performInteraction(refHandle,groupID,entityContext
,userContext,markupParams,interactioinParams) - initEnvironment(registrationContext, groupID)
- Registration Interface
- Register(registrationData)
- ModifyRegistration(registrationContext,
registrationData) - Deregister(registrationContext)
40WSIA/WSRP Technology Overview
- Operations (cont.)
- Entity Management Interface
- getEntityDesctiption(entityHandle,
registrationContext, entityContext, userContext) - cloneEntity(entityHandle, registrationContext,
entityContext, userContext) - destroyEntities(registrationContext,
entityHandles) - setEntityProperties()
- getEntityProperties()
- getEntityDescription()
41WSIA/WSRP Technology Overview
- New Data Structures
- EntityDescription
42WSIA/WSRP Technology Overview
- New Data Structures
- InteractionParams
- O StateChange entityStateChange
- O base64Binary uploadData
- O String uploadDataMimeType
- O Extension extensions
- Others
43WSIA/WSRP Technology Overview
Performinteraction()--entityStateChange
44WSIA/WSRP Technology Overview
- the Consumer is managing the interaction with the
End-User through - Modes in MarkupParams
- VIEW Mode
- EDIT Mode
- HELP Mode
- CONFIG Mode
45WSIA/WSRP Technology Overview
- Markup Fragment Rules
- To ensure the coherence
- Disallowed Tags in HTML
46Conclusion
- WSIA/WSRP are important technologies that help
bring the promise of Web services to end users by
providing - a standard to manage user interaction
- application display
47Conclusion
- Practical solutions now
- Epicentric and portal vendors
- Aggregating existing remote Web services into
portals - IBM and J2EE application server vendors
- Tools to make it possible to create Web services
with WSIA/WSRP. - Webcollage and interactive application
integration vendors - Helping companies package their existing Web
applications, so that they can be used remotely
by customers and business partners alike.
48Conclusion
- WSIA/WSRP are designed to be pluggable
application components that can be assembled into
visually rich composite Web applications.
49Reference
- Web Services Journal Build Interactive Web
Services with WSIA WSRP - HTTP//www.sys-con.com/webservices/article.cfm?id
415 - Epicentric (www.epicentric.com) aggregating
existing remote web services into portals. - IBM (www.ibm.com)
- WebCollage (www.webcollage.com)
- OASIS WSIA-WSRP Core specification v0.8