400 likes | 470 Views
Delve into the intricacies of different web service frameworks, comparing XML commands, responses, and document exchange methods. Explore the nuances of XML infrastructure and interoperability paradigms. Understand the layers of XML message context and envelope for seamless communication.
E N D
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
HTML: Presentation <b> Mr. John Jones 1234 </b> XML : Interpretation <employee> <name title = “Mr.”> <first> John </first> <last> Jones </last> </name> <ID> 1234 </ID> </employee> A 1-Slide XML Primer
XML Message Exchanges:Minimize Assumptions about Partner • Hardware run on • Operating System run under • API / Language written in (OO?) • Middleware Architecture deployed • Physical Connection
Heterogeneous Interoperability Sender Java On Solaris DOM Parser XML Messages Receiver C++ On Windows SAX Parser
A XML B Two Modes of XML Use Use XML to marshal arguments of a Remote Procedure Call Use XML to define a Business Document
Two Types of PartnersTwo Types of Infrastructure • [INT] Common Client/Service ownership • Same Security / Naming management • Islands of interoperability • [EXT] B2B Client Service Connection • Common “Reference” Infrastructure needed Client XML Message Service Infrastructure
A B2B Document Is NOT a Remote Procedure Call Purchase Order • Asynchronous vs. Synchronous • Receipt / Acceptance / Business Response • Legally Binding options • Secure (Encrypted) • Non-repudiation of Document (Dig Sig) • Non-repudiation of Response (Dig Sig) • Tamper Proof (encrypted message digest) A B
Remote Method Call EAI Behind Firewall Sync response WUST stack Web Service Document Exchange B2B Across Internet Async response(s) ebXML stack Business Web Service XML Interoperability:Competing Paradigms
Deploying WUST-based Web Services for B2B use • Week 0 • Post UDDI entry as “shoe supplier” • Include WSDL describing how to buy • Week 1 • 300 hits!! • 295 looking, 3 buy, 2 ??? • Week 2 • First “denial of service” attack Internet B2B 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 Web Service Infrastructure
1. Once-only or Session • Once only: All setup info in each message • Batch multiple requests • Partial failures • Session: State maintained between messages • Prefixed or dynamically determined • Document Version, List of supported Actions • List of optional fields which are mandatory • Security set up initially ( cookie) • Ordered Delivery • Disconnected Operation
2. Message Encoding • Multiple Payloads • Non XML Data? • Each payload represents separate data component • Multi-hop Delivery • Payload vs. Message encryption? • Route Tracing
3. Document Exchange or RPC • Responses: • Asynchronous or Synchronous? • Multiple outstanding Requests? • Multiple responses (choreography)? • Legality Issues? • Non-refutability (Digital Signature) • Non-modifiable (Digest)
4. Quality of Service • Best Effort • Application-level Request/Response/Timeout • Once-only Delivery • Guaranteed Delivery • Ordered, error free, sequential • Disconnected Operation Client Network Web Service
XML Document Infrastructure The alternative to XML RPC’s WUST
Document Interoperability:More than the XML Data Application Partner XML Document Document Infrastructure CORBA Objects have IIOP EDI Documents have a VAN XML Documents have … ebMS
What is XML Document Infrastructure? • No Document can be received unless its envelope is transported. • No Document can be read unless its envelope is opened. • No Document can be understood unless its “context” is known.
XML Message Layers:Interoperability All Levels XML Document Context Envelope <- Infrastructure -> Transport
1. XML Document • Industry Specific • Data Structure “pass by value” • Schema defined by Committee • Common Data Elements (Ex: Currency, Name, Date) • Document Specific Elements (Ex: Guest, Traveler, Patient, Student, Customer)
2. XML Context Layer • Message Type Determines “Context” • Session Setup / Shutdown • Request / Response (*) • Create(*):Update(*):Delete / Response • Publish / Subscribe • 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 • XML not effective packaging candidate • XML Documents only • Requires special encoding • MIME a Winner: Ubiquitous • HTTP, SMTP are MIME-aware • FTP and other transports carry MIME • Package ANY data format • Package multiple data formats
ebMS and SOAP ebMS SOAP with Attachments
What is ebMS? Message Envelope (MIME) – Ex: Student Application ebMS 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 ebMS? MHS Node MHS Node Client Application Web Service ebMS
XML Envelope: Outer Layer • SOAP + Attachments • Multi-hop Message Routing • Request / ACK Matching • Transport Layer Independence • Data Encoding • Multiple Payloads
XML Envelope: Inner Layer • ebMS Value Adds • 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
ebXML provides a Web Service Infrastructure - for B2B Web Services A brief (4 slide) Overview
OASIS and UN/CEFACT joint initiative • 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“ • Document Exchange is NOT Method Calls (signed?) • Royalty Free • ebMS Schedule: • June 2002 - complete version 2.0 • GatheringMomentum: UDDI, …
ebXML Standards Stack: Infrastructure for B2B Solutions B2B Application Discover Core Components ebMS RegRep CPP/CPA Register B2B Application BPSS
ebMS Vendors:A very Partial List • XML Global / Excelon / Bind / … • Sybase (free version downloadable) • Fujitsu • Web Methods • Sun Microsystems • Microsoft (via XML Global BizTalk Connector) Drummond Connectathons Oasis Conformance/Interoperability
ebMS Adoption • OTA (Cross-web Travel Reservations) • CIDX (Chemical Industry Supply Chain) • HL7 (Patient Records - security) • RosettaNet (post RNIF 2.0) + BPSS • STAR (Auto Supply Chain) • Others (Asian Steel Consortium, …) => Use ebXML infrastructure to allow concentration on XML Document Layer
Conclusions B2B / EAI Interoperability agreement on: • Document Schemas / Procedure Arguments • Document / Procedure Context • Transaction Choreography • 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 • ebXML.org/specs/ebMS.pdf • www.w3.org/TR/SOAP • www.w3.org/TR/SOAP-attachments • oasis-open.org/committees/ebxml-msg/index.shtml • www.w3.org/2000/xp/Group/ • www.opentravel.org