400 likes | 469 Views
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
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