web service for interactive application ( wsia )
DESCRIPTION
Web Service for Interactive Application ( WSIA ). 授課老師:葉慶隆教授 報告學生: GI1-08 蕭正凌 報告日期: 2004/04/24. Outline. Introduction What is WSIA? Why need WSIA? WSIA/WSRP Technology Overview. Conclusion Reference. Introduction. Human understanding. presentation. User interactive. HTML. DHTML. - PowerPoint PPT PresentationTRANSCRIPT
1
Web Service for Interactive Application (WSIA)
授課老師:葉慶隆教授報告學生: GI1-08蕭正凌報告日期: 2004/04/24
2
Outline
Introduction What is WSIA? Why need WSIA? WSIA/WSRP Technology Overview. Conclusion Reference
3
Introduction
HTML
presentation
Extent Transaction
DHTML
Java scriptVB script
User interactive
Server Page
JSPASP.NET
Human understanding
4
Introduction
XML
Data/Message exchange
Presentation/interactiveSOAP
interoperability
?
Machine understanding / Cross platform
Web Service
WSDL
UDDI
Application-Application
5
Introduction
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 efforts’[October,2001]
6
Introduction
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. It’s 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.
7
Introduction
Web service’s 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.
8
What is WSIA?
A New web services standard for Interactive application in Web Serviceenable organization can easily plug and play
web service into their applications and portals just a few mouse clicks and no programming effort.
9
What is WSIA?
Internet, intranet Network
HTTP, HTTPR, SMTP, MQ Transport
SOAP / XML Protocol Message / Protocol
???Transactions / Reliability /
Routing
Security / P
rivacy
Quality of service
Managem
ent
WSDL Service Descriptions
WSFL Flow Descriptions
WSIA Web Applications
UDDI Publishing & discovery
TPA Service negotiation
10
What is WSIA?
History January 21, 2002 the OASIS Rename Web
service Component Model ( WSCM) as WSIANovembre 2002 Working Draft 0.8 (with
WSRP)
11
What is WSIA?
OASIS Current Technical Committees. Access Control (XACML) Business Transaction Protocol (BT
P) 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
• 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
12
What is WSIA?
13
What 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.
14
What is WSIA?
WSIA TC 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
15
JSP-168
What is WSIA?
WSUI
WSCM
WSXL
WSIA WSRP
XMLAPI
16
What is WSIA?
WSRPWeb Service Remote PortalWSIA 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
17
What is WSIA?
WSRP
SOAP(Invocation)
WSDL(Description)
UDDI(Publish,Find&Bind)
WSIAWSRP/WSIA
Common Base
(X)HTML WMLVoiceXML
cHTML ...
18
What is WSIA?
WSXL
Web Service Experience Language
IBMWSUI
Web Service User Interface
Epicentric
WSIAWSRP
Web Service Interactive Applications (Web Service Remote Potal)
OASIS
WSRPIBM
19
Why need WSIA?
retailer manufacture
1
2
3
XML APIs don’t provide the simplicity needed to scale integration to thousands of channel partners
20
intranet
Why need WSIA?
How to transition as many processes as possible into self-service tasks over the web to reduce operation costs
Internet
tool
tool
tool
21
Why need WSIA?
Technical MotivationAPI 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.
22
Why need WSIA?
For API users, data-oriented Web Services require further work to transform the XML to HTML
Presentation oriented web service Data oriented web service
Database
Business logic layer Business logic layer
Presentation layer
HTML
Presentation layer
XML
Database
23
Why need WSIA?
API users incur the effort of integrating the application into their sites.
24
WSIA/WSRP Technology Overview
WSIA and WSRP define a set of APIsThree types of actors
ApplicationBack End Services
User Experience Services
Producers Consumers(or “integrators”)
Client
25
WSIA/WSRP Technology Overview
Typical Process FlowEstablishment 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.
26
WSIA/WSRP Technology Overview
Various levels of interaction between rolesSimpler Producer
Maintain interaction state using a sessioinSophisticated 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.
27
WSIA/WSRP Technology OverviewEnd User Interactions in simple Consumer / Producer
28
WSIA/WSRP Technology OverviewEnd User Interactions in sophisticated Consumer / Producer
29
WSIA/WSRP Technology Overview
WSIA and WSRP fulfill the following roles Define the notion of valid markup fragments based o
n 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
30
WSIA/WSRP Technology Overview
There are four central parts to the WSIA and WSRP APIsRetrieving markup fragments (encapsulated in
the getMarkup() call)Managing stateHandling user interaction (encapsulated in the
performInteraction() call)Supporting customization and configuration
31
WSIA/WSRP Technology Overview
Retrieving Markup Fragments getMarkup() call requests a markup fragment based
on the state of the Web service.
consumer producer
getMarkup() call
Fragment of Html Code
1
2
3
embed into page
4
Return to user
0
32
WSIA/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.
consumer producer
ContainerFragement / portlet
33
WSIA/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 URL’s 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
34
WSIA/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?ns=page1&si=4ABB33A
The producer is responsible for generating a markup fragment in which all the interaction URLs point back to the Consumer.
www.consumer.com/path?ns=page2&si=4ABB33A
35
WSIA/WSRP Technology Overview
API CALLS FLOW
Two-step protocol
36
WSIA/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.
37
WSIA/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.
38
WSIA/WSRP Technology Overview Interaction Lifecycle states
State 0:Unknown
State 1:Known
State 2:Active
discovery
registration
interaction
39
WSIA/WSRP Technology Overview Operations:
Service Description Interface getServiceDescription( registrationContext,userContext)
Markup Interface getMarkup(refHandle,groupID,userContext,markupParams,te
mplates) performInteraction(refHandle,groupID,entityContext,userCont
ext,markupParams,interactioinParams) initEnvironment(registrationContext, groupID);
Registration Interface Register(registrationData); ModifyRegistration(registrationContext, registrationData); Deregister(registrationContext);
40
WSIA/WSRP Technology Overview Operations: (cont.)
Entity Management Interface getEntityDesctiption(entityHandle, registrationContext, entity
Context, userContext); cloneEntity(entityHandle, registrationContext, entityContext,
userContext) destroyEntities(registrationContext, entityHandles); setEntityProperties(…); getEntityProperties(…); getEntityDescription(…);
41
WSIA/WSRP Technology Overview New Data Structures
EntityDescription
42
WSIA/WSRP Technology Overview New Data Structures
InteractionParams [O] StateChange entityStateChange [O] base64Binary uploadData [O] String uploadDataMimeType [O] Extension[ ] extensions
Others…
43
WSIA/WSRP Technology OverviewPerforminteraction()--entityStateChange
44
WSIA/WSRP Technology Overview the Consumer is managing the interaction with t
he End-User through Modes in MarkupParams
VIEW Mode EDIT Mode HELP Mode CONFIG Mode …
45
WSIA/WSRP Technology Overview Markup Fragment Rules
To ensure the coherence Disallowed Tags in HTML
46
Conclusion
WSIA/WSRP are important technologies that help bring the promise of Web services to end users by providinga standard to manage user interaction application display
47
Conclusion
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/WSR
P.
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.
48
Conclusion
WSIA/WSRP are designed to be pluggable application components that can be assembled into visually rich composite Web applications.
49
Reference
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