490 likes | 641 Views
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.
E N D
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 Extent Transaction Server Page Java script VB script JSP ASP .NET
Introduction Machine understanding / Cross platform Data/Message exchange XML Application-Application Web Service interoperability SOAP Presentation/interactive ? WSDL UDDI
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]
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.
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.
What 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.
TPA Service negotiation UDDI Publishing & discovery WSFL WSIA Flow Descriptions Web Applications ??? Transactions / Reliability / Routing WSDL Service Descriptions SOAP / XML Protocol Message / Protocol HTTP, HTTPR, SMTP, MQ Transport Internet, intranet Network What is WSIA? Security / Privacy Quality of service Management
What is WSIA? • History • January 21, 2002 the OASIS Rename Web service Component Model ( WSCM) as WSIA • Novembre 2002 Working Draft 0.8 (with WSRP)
What 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
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.
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
What is WSIA? WSXL JSP-168 WSUI WSIA WSRP WSCM XML API
What 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
What is WSIA? (X)HTML WML Voice XML cHTML ... WSRP WSRP/WSIA Common Base WSIA UDDI (Publish,Find&Bind) WSDL (Description) SOAP (Invocation)
WSXL WSUI WSIA WSRP IBM Epicentric OASIS Web Service Experience Language Web Service User Interface Web Service Interactive Applications (Web Service Remote Potal) What is WSIA? WSRP IBM
Why need WSIA? 2 retailer manufacture 1 3 XML APIs don’t provide the simplicity needed to scale integration to thousands of channel partners
Why 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
Why 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.
Why 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
Why need WSIA? API users incur the effort of integrating the application into their sites.
WSIA/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
WSIA/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.
WSIA/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.
WSIA/WSRP Technology Overview End User Interactions in simple Consumer / Producer
WSIA/WSRP Technology Overview End User Interactions in sophisticated Consumer / Producer
WSIA/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
WSIA/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
WSIA/WSRP Technology Overview • Retrieving Markup Fragments • getMarkup() call requests a markup fragment based on the state of the Web service. embed into page 2 Fragment of Html Code 4 Return to user consumer producer 3 0 1 getMarkup() call
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. Fragement / portlet Container producer consumer
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
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 • Theproduceris 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
WSIA/WSRP Technology Overview Two-step protocol API CALLS FLOW
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.
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.
WSIA/WSRP Technology Overview • Interaction Lifecycle states State 0: Unknown discovery interaction State 2: Active State 1: Known registration
WSIA/WSRP Technology Overview • Operations: • Service Description Interface • getServiceDescription( registrationContext,userContext) • Markup Interface • getMarkup(refHandle,groupID,userContext,markupParams,templates) • performInteraction(refHandle,groupID,entityContext,userContext,markupParams,interactioinParams) • initEnvironment(registrationContext, groupID); • Registration Interface • Register(registrationData); • ModifyRegistration(registrationContext, registrationData); • Deregister(registrationContext);
WSIA/WSRP Technology Overview • Operations: (cont.) • Entity Management Interface • getEntityDesctiption(entityHandle, registrationContext, entityContext, userContext); • cloneEntity(entityHandle, registrationContext, entityContext, userContext) • destroyEntities(registrationContext, entityHandles); • setEntityProperties(…); • getEntityProperties(…); • getEntityDescription(…);
WSIA/WSRP Technology Overview • New Data Structures • EntityDescription
WSIA/WSRP Technology Overview • New Data Structures • InteractionParams • [O] StateChange entityStateChange • [O] base64Binary uploadData • [O] String uploadDataMimeType • [O] Extension[ ] extensions • Others…
WSIA/WSRP Technology Overview Performinteraction()--entityStateChange
WSIA/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 • …
WSIA/WSRP Technology Overview • Markup Fragment Rules • To ensure the coherence • Disallowed Tags in HTML
Conclusion • 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
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/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.
Conclusion • WSIA/WSRP are designed to be pluggable application components that can be assembled into visually rich composite Web applications.
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