All Web Services are But Some are more
All Web Services are != But Some are more != than Others Looking under the hood at two very different Web Service Frameworks. Ron Kleinman Chief Vertical Evangelist Sun Microsystems
What exactly IS a Web Service? XML Commands Component XML Responses
A 1 -Slide XML Primer n HTML: Presentation <b> Mr. John Jones 1234 </b> n XML : Interpretation <employee> <name title = “Mr. ”> <first> John </first> <last> Jones </last> </name> <ID> 1234 </ID> </employee>
XML Message Exchanges: Minimize Assumptions about Partner Hardware run on n Operating System run under n API / Language written in (OO? ) n Middleware Architecture deployed n Physical Connection n
Heterogeneous Interoperability Sender Java On Solaris DOM Parser XML Messages Receiver C++ On Windows SAX Parser
A XML B Two Modes of XML Use XML to marshal arguments of a Remote Procedure Call Use XML to define a Business Document
Two Types of Partners Two Types of Infrastructure n [INT] Common Client/Service ownership Same Security / Naming management n Islands of interoperability n n [EXT] B 2 B Client Service Connection n Common “Reference” Infrastructure needed Client XML Message Infrastructure Service
A B 2 B Document Is NOT a Remote Procedure Call Purchase Order A n Asynchronous vs. Synchronous n n B Receipt / Acceptance / Business Response Legally Binding options Secure (Encrypted) n Non-repudiation of Document (Dig Sig) n Non-repudiation of Response (Dig Sig) n Tamper Proof (encrypted message digest) n
XML Interoperability: Competing Paradigms n n n Remote Method Call EAI Behind Firewall Sync response WUST stack Web Service n n n Document Exchange B 2 B Across Internet Async response(s) eb. XML stack Business Web Service
EAI: Web Services vs. Corba Technology Web Service Corba Args Transport SOAP (XML) IIOP (Objects) API Definition WSDL IDL Service Locator UDDI (URL) Naming (Objref) Relative Speed Slow (parse) Fast Modify Interface XSLT (Script) Adopter (code)
Deploying WUST-based Web Services for B 2 B use n Week 0 Post UDDI entry as “shoe supplier” n Include WSDL describing how to buy n n Week 1 300 hits!! n 295 looking, 3 buy, 2 ? ? ? n n Week 2 n First “denial of service” attack Internet B 2 B is different!
Business Web Services Interoperability is always harder … … when it’s not you on both ends of the wire.
XML Infrastructure Questions Use Cases The Plumbing XML Messages Client Infrastructure Web Service
1. Once-only or Session n Once only: All setup info in each message n n n Batch multiple requests Partial failures Session: State maintained between messages n Prefixed or dynamically determined • Document Version, List of supported Actions • List of optional fields which are mandatory n n n Security set up initially ( cookie) Ordered Delivery Disconnected Operation
2. Message Encoding n Multiple Payloads Non XML Data? n Each payload represents separate data component n n Multi-hop Delivery Payload vs. Message encryption? n Route Tracing n
3. Document Exchange or RPC n Responses: n n Asynchronous or Synchronous? Multiple outstanding Requests? Multiple responses (choreography)? Legality Issues? n n Non-refutability (Digital Signature) Non-modifiable (Digest)
4. Quality of Service n Best Effort n Application-level Request/Response/Timeout Once-only Delivery n Guaranteed Delivery n Ordered, error free, sequential n Disconnected Operation n Client Network Web Service
XML Document Infrastructure The alternative to XML RPC’s WUST
Document Interoperability: More than the XML Data Application XML Document Infrastructure CORBA Objects have IIOP EDI Documents have a VAN XML Documents have … eb. MS Partner
What is XML Document Infrastructure? No Document can be received unless its envelope is transported. n No Document can be read unless its envelope is opened. n No Document can be understood unless its “context” is known. n
XML Message Layers: Interoperability All Levels XML Document Envelope Transport <- Infrastructure -> Context
1. XML Document n n n Industry Specific Data Structure “pass by value” Schema defined by Committee 1. 2. Common Data Elements (Ex: Currency, Name, Date) Document Specific Elements (Ex: Guest, Traveler, Patient, Student, Customer)
2. XML Context Layer n Message Type Determines “Context” Session Setup / Shutdown n Request / Response (*) n Create(*): Update(*): Delete / Response n Publish / Subscribe n Asynchronous Event Notification (*) Messages including Document data
3. XML Envelope Layer(s) Layered set of choices of increasing Functionality Make not Buy
Packaging: MIME Usage n XML not effective packaging candidate n n n XML Documents only Requires special encoding MIME a Winner: Ubiquitous n n HTTP, SMTP are MIME-aware FTP and other transports carry MIME Package ANY data format Package multiple data formats
eb. MS and SOAP eb. MS SOAP with Attachments Inner Envelope Extensions And Services SOAP V 1. 1 Outer Envelope MIME Packaging Transport (HTTP: HTTPS)
What is eb. MS? Message Envelope (MIME) – Ex: Student Application eb. MS Controlled Payload(s) Msg Header Application Form Financial Statement Msg Security Art Portfolio JPG High School Transcript Manifest* Letter of Reference Reviewer’s Assessment
Where is eb. MS? Client Application MHS Node eb. MS Web Service
XML Envelope: Outer Layer n SOAP + Attachments Multi-hop Message Routing n Request / ACK Matching n Transport Layer Independence n Data Encoding n Multiple Payloads n
XML Envelope: Inner Layer n eb. MS Value Adds n n n n Multi-hop Message Tracing Request / Response Matching Payload Versioning Standardized Error Reporting Security (Authenticate, Non-refutability) Session Support Guaranteed once-only Reliable Message Delivery • Automatic Message Timeouts and Resends • Disconnected Operation
eb. XML provides a Web Service Infrastructure - for B 2 B Web Services A brief (4 slide) Overview
n OASIS and UN/CEFACT joint initiative n Mission: ". . . enable a global electronic marketplace where enterprises of any size and in any geographical location can meet and conduct business with each other through the exchange of XML based messages“ n Document Exchange is NOT Method Calls (signed? ) n Royalty Free n eb. MS Schedule: n June 2002 - complete version 2. 0
eb. XML Standards Stack: Infrastructure for B 2 B Solutions B 2 B Application Core Components eb. MS B 2 B Application Discover Reg. Rep Register CPP/CPA BPSS
eb. MS Vendors: A very Partial List n n n XML Global / Excelon / Bind / … Sybase (free version downloadable) Fujitsu Web Methods Sun Microsystems Microsoft (via XML Global Biz. Talk Connector) Drummond Connectathons Oasis Conformance/Interoperability
eb. MS Adoption n n n OTA (Cross-web Travel Reservations) CIDX (Chemical Industry Supply Chain) HL 7 (Patient Records - security) Rosetta. Net (post RNIF 2. 0) + BPSS STAR (Auto Supply Chain) Others (Asian Steel Consortium, …) => Use eb. XML infrastructure to allow concentration on XML Document Layer
Web Services and eb. XML Layer EAI (Web B 2 B (Business Services) Web Services) Envelope Soap eb. MS (over SWA) Registry UDDI eb. XML Reg/Rep TPA WSDL XLANG CPA/CPP BPSS
Partner “Distance” Determines Delivery Infrastructure Location Author Infrastructure Same system Same Developer Shared Memory LAN Project Team Corba, WUST Intra. Net Corporate DP Corba, WUST Extra. Net Business Partner eb. XML Internet Unknown Partner ? ? ? Email ? ? ?
Conclusions B 2 B / EAI Interoperability agreement on: n n Document Schemas / Procedure Arguments Document / Procedure Context • Transaction Choreography n Document Envelope : Procedure Marshaling • Packaging / Routing / Transport • Security Options (Document exchange only) • Quality of Service Options (Document exchange only) Schema “adopters” should be interoperable
References n n eb. XML. org/specs/eb. MS. pdf www. w 3. org/TR/SOAP-attachments oasis-open. org/committees/ebxmlmsg/index. shtml n www. w 3. org/2000/xp/Group/ n www. opentravel. org
Questions?
- Slides: 40