Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation
Agenda What is Interoperability? Web Services Scenarios Sending Binary Data using Web Services Security, Reliability and Transactions Web Services Adoption
Feeling Bad? Interoperability of Medical Records (EMR) Pointer to EMR Request for EMR PatientRecordRepository Dr. WCF’s Office Patient Records Locator
Data Interoperability
Feeling Bad? Interoperability of Medical Records (EMR) Request for X-Ray X-Ray Image PatientRecordRepository Patient Records Locator Dr. Java’s Office Pointer to EMR Request for EMR Dr. WCF’s Office
Binary Attachments and Web Services xs:base64Binary Interoperable, but high processing cost 30% extra message size SwA (SOAP with Attachments) Low interoperability, attachments outside SOAP Body Lack of Composition with other Web Services Protocols DIME (Direct Internet Message Encapsulation) Low interoperability, attachments outside SOAP Body Lack of Composition with other Web Services Protocols
SOAP Envelope SOAP text/xml Body MTOM To The Rescue (Message Transmission Optimization Mechanism) MIME MIME MIME Binary 1 Binary 2 MIME Binary 1 as base64 Binary 2 as base64 Sign/Encrypt
Scenario Overview Request for X-Ray X-Ray Image PatientRecordRepository Patient Records Locator Dr. Java’s Office Pointer to EMR Request for EMR Dr. WCF’s Office WCF BEA WebLogic Apache Axis 2.0
Secure MTOM Interoperability
MTOM Summary MTOM Adoption Apache Axis 2.0 gSoap Microsoft WSE3.0 B1 Microsoft WCF B1 Sun, JWSDP2.0 WhiteMesa BEA IBM Released product Public interop A Co-Author Only Efficient as SwA & DIME Composes well with WS-* as base64Binary Just an encoding: no impact on programming model Interoperable, adoption is underway
I’m Sorry. It doesn’t look good…
WS-ReliableMessaging “How Do We Make Web Services Reliable?” Core Requirements Reliable transfer of messages end-to-end Assurances: At least once, At most once, Ordered Composable Secure, transport-independent Health Care and Monitoring Scan information needs to be sent in order Data Loss is unacceptable
CreateSequenceResponse (ID=AAA) Sequence (ID=AAA, #2) Sequence (ID=AAA, #1) Sequence (ID=AAA, #1) Sequence (ID=AAA, #3, Last) Sequence (ID=AAA, #3, Last) SequenceAck (ID=AAA, Ranges[1-1]) TerminateSequence(ID=AAA) Sequence (ID=AAA, #2) Sequence (ID=AAA, #2) SequenceAck (ID=AAA, Ranges[1-3]) CreateSequence NellcorService WS-ReliableMessaging SequenceAck (ID=AAA, Ranges[1,2]) Dr. Java’s MonitoringService
Scenario Overview Dr. Java’s MonitoringService Send Measurements using Secure RM Activate Nellcor Device Dr. WCF’s Office WCF Apache Axis 1.3 NellcorService
Secure RM Interoperability
WS-ReliableMessaging – Summary WS-RM Adoption Microsoft WCF B1 IBM, ETTK – Alphaworks BEA, WebLogic 9.0 Cape Clear Systinet Blue Titan Apache Axis 1.3 Sandesha Sonic Tibco Reliable, in-order message transfer independent of the transport Composes well with WS-*: security, transactions No impact on programming model Interoperable, adoption is underway
The Diagnosis
WS-* Perl Example: Secure RM PERL SoapLite module Adding Two headers Sequence header Security + UsernameToken header Adding a contract with four messages CreateSequenceCreateSequenceResponseSequenceAcknowledgementTerminateSequenceRe-transmission
WS-* for Perl Interoperability
More Resources
Microsoft Corporation Intel Corporation Sun Microsystems, Inc. Dell Inc. AMD Inc.A Computer Associates International, Inc. A Sonic SoftwareA gSOAP Systinet CorporationA WEBM Solutions, Inc. NetIQ Corp. WS-Policy Web Services Industry Adoption Messaging Security Assurances Devices Management Metadata WS-XFer Enum Devices Profile WS-Sec. Conv. WS-Security WS-Trust WS-RM WS-AT MEX WS-Discovery WS-Management Released product Public interop ACo-Author only SOAP / WSDL Microsoft Corporation IBM BEA Systems, Inc. A Cape Clear Systinet Corporation Blue Titan Software, Inc Sonic Software IONA Technologies Arjuna Technologies Choreology Ltd Apache Microsoft Corporation IBM BEA Systems, Inc. A RSA Security Inc. Systinet Corporation Apache Layer7 Technologies A DataPower, Inc. Computer Associates International, Inc. AA Sun Microsystems, Inc. SAP AG Tibco Software, Inc. IONA Technologies WebMethods, Inc. Nokia Cape Clear gSOAP Netegrity AA Verisign, Inc. AA Oblix Inc. (Oracle) Microsoft Corporation IBM A BEA Systems, Inc. A Sun Microsystems, Inc. Google Amazon.com eBay, Inc Apache White Mesa Software gSOAP Ricoh Epson Corporation HP Xerox Intel Corporation Canon Inc. Microsoft Corporation Intel Corporation Canon Inc. Ricoh Co. Epson Corp. HP Xerox gSOAP Lexmark International, Inc. A Microsoft Corporation IBMA BEA Systems, Inc.A SAP AGA Sun Microsystems, Inc.A Verisign Inc.A Sonic SoftwareA Computer Associates International, Inc. A WebMethods, Inc.A gSOAP MTOM © 2005 Microsoft Corporation. All rights reserved. The information contained in this document represents the current view at the time of publication and is subject to change.
Web Services Protocol Specifications
Community Resources – At PDC Talks COM432: Developing Web Services Using ASP.NET and WSE that Interoperate with the Windows Communications Foundation ("Indigo") (Fri, 8:30am) COM326: Web Services for XML Programmers (Thu, 5:15pm) COM415: A Deep Dive into Best Practices Using the Windows Communications Foundation (Thu, 10am) Labs: COMHOL300, COMHOL301 Product Pavilion WS-* Adoption Slide Ask The Experts table: WCF Interoperability – tonight at 6pm – 9pm COM Track lounge: We’ll be there Thu 3:30-7pm, Fri 8:30 – 4pm
Community Resources – After PDC If you missed this session, watch it on the DVD COM423 – WCF: Web Services Interoperability Microsoft Interop Portal: MSDN Web Services Interoperability Home Page MSDN.Net/Java Interoperability Home Page Microsoft Public Web Services Interop Tests Windows Communication Foundation (a.k.a. Indigo) Web Services Interoperability Blogs
Your Feedback is Important! Please Fill Out a Survey
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.