windows communications foundation ("indigo"): web services interoperability with java/j2ee...

26
Windows Communications Windows Communications Foundation ("Indigo"): Web Foundation ("Indigo"): Web Services Interoperability With Services Interoperability With Java/J2EE Java/J2EE Kirill Gavrylyuk Kirill Gavrylyuk Simon Guest Simon Guest COM423 COM423 Microsoft Corporation Microsoft Corporation

Upload: edwin-powers

Post on 26-Dec-2015

217 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

Windows Communications Windows Communications Foundation ("Indigo"): Web Services Foundation ("Indigo"): Web Services Interoperability With Java/J2EEInteroperability With Java/J2EE

Kirill GavrylyukKirill GavrylyukSimon GuestSimon GuestCOM423COM423Microsoft CorporationMicrosoft Corporation

Page 2: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

AgendaAgenda

What is Interoperability?What is Interoperability?

Web Services ScenariosWeb Services Scenarios

Sending Binary Data using Web Sending Binary Data using Web ServicesServices

Security, Reliability and TransactionsSecurity, Reliability and Transactions

Web Services AdoptionWeb Services Adoption

Page 3: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

Feeling Bad?Feeling Bad?Interoperability of Medical Records Interoperability of Medical Records (EMR)(EMR)

Pointer to EMRPointer to EMR

Request for EMRRequest for EMR PatientPatientRecordRecord

RepositoryRepository

Dr. WCF’s OfficeDr. WCF’s Office Patient Records Patient Records LocatorLocator

Page 4: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

Data InteroperabilityData Interoperability

Page 5: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

Feeling Bad?Feeling Bad?Interoperability of Medical Records Interoperability of Medical Records (EMR)(EMR)

Request for X-Ray

Request for X-Ray

X-Ray Image

X-Ray Image

PatientPatientRecordRecord

RepositoryRepository

Patient Records Patient Records LocatorLocator

Dr. Java’s OfficeDr. Java’s Office

Pointer to EMRPointer to EMR

Request for EMRRequest for EMR

Dr. WCF’s OfficeDr. WCF’s Office

Page 6: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

Binary Attachments and Binary Attachments and Web ServicesWeb Services

xs:base64Binaryxs:base64BinaryInteroperable, but high processing costInteroperable, but high processing cost

30% extra message size30% extra message size

SwA (SOAP with Attachments)SwA (SOAP with Attachments)Low interoperability, attachments outside SOAP Low interoperability, attachments outside SOAP BodyBody

Lack of Composition with other Web Services Lack of Composition with other Web Services ProtocolsProtocols

DIME (Direct Internet Message DIME (Direct Internet Message Encapsulation)Encapsulation)

Low interoperability, attachments outside SOAP Low interoperability, attachments outside SOAP BodyBody

Lack of Composition with other Web Services Lack of Composition with other Web Services ProtocolsProtocols

Page 7: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

SOAP Envelope

SOAPtext/xml

BodyBody

MTOM To The RescueMTOM To The Rescue(Message Transmission Optimization (Message Transmission Optimization Mechanism)Mechanism)

MIMEMIME

MIMEMIME

MIMEMIME

Binary 1

Binary 2

MIMEMIME

Binary 1as

base64

Binary 2as base64

Sign/EncryptSign/Encrypt

Page 8: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

Scenario OverviewScenario Overview

Request for X-Ray

Request for X-Ray

X-Ray Image

X-Ray Image

PatientPatientRecordRecord

RepositoryRepository

Patient Records Patient Records LocatorLocator

Dr. Java’s OfficeDr. Java’s Office

Pointer to EMRPointer to EMR

Request for EMRRequest for EMR

Dr. WCF’s OfficeDr. WCF’s OfficeWCFWCF

BEA WebLogicBEA WebLogic8.1.48.1.4

Apache Axis 2.0Apache Axis 2.0

Page 9: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

Secure MTOM Secure MTOM InteroperabilityInteroperability

Page 10: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

MTOM SummaryMTOM SummaryMTOM Adoption

Apache Axis 2.0Apache Axis 2.0

gSoapgSoap

Microsoft WSE3.0 Microsoft WSE3.0 B1B1

Microsoft WCF B1Microsoft WCF B1

Sun, JWSDP2.0Sun, JWSDP2.0

WhiteMesaWhiteMesa

BEABEA

IBMIBM

Released productReleased product Public interopPublic interopAA Co-Author OnlyCo-Author Only

Efficient as SwA & DIMEEfficient as SwA & DIME

Composes well with WS-* Composes well with WS-* as base64Binaryas base64Binary

Just an encoding: no Just an encoding: no impact on programming impact on programming modelmodel

Interoperable, adoption is Interoperable, adoption is underwayunderway

Page 11: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

I’m Sorry. It doesn’t look I’m Sorry. It doesn’t look good…good…

Page 12: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

WS-ReliableMessagingWS-ReliableMessaging

““How Do We Make Web Services Reliable?”How Do We Make Web Services Reliable?”Core RequirementsCore Requirements

Reliable transfer of messages end-to-endReliable transfer of messages end-to-endAssurances: At least once, At most once, Assurances: At least once, At most once, OrderedOrdered

ComposableComposableSecure, transport-independentSecure, transport-independent

Health Care and MonitoringHealth Care and MonitoringScan information needs to be sent in order Scan information needs to be sent in order Data Loss is unacceptableData Loss is unacceptable

Page 13: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

CreateSequenceResponse (ID=AAA)

Sequence (ID=AAA, Sequence (ID=AAA, #2)#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)TerminateSequence(ID=AAA)

Sequence (ID=AAA, #2)Sequence (ID=AAA, #2)

SequenceAck (ID=AAA, Ranges[1-3])

CreateSequenceCreateSequence

NellcorNellcorServiceService

WS-ReliableMessagingWS-ReliableMessaging

SequenceAck (ID=AAA, Ranges[1,2])Dr. Java’sDr. Java’sMonitoringMonitoring

ServiceService

Page 14: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

Scenario OverviewScenario Overview

Dr. Java’sDr. Java’sMonitoringMonitoring

ServiceService

Send MeasurementsSend Measurementsusing Secure RMusing Secure RM

Activate Nellcor DeviceActivate Nellcor Device

Dr. WCF’s OfficeDr. WCF’s OfficeWCFWCF

Apache Axis 1.3Apache Axis 1.3

NellcorNellcorServiceService

Page 15: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

Secure RM InteroperabilitySecure RM Interoperability

Page 16: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

WS-ReliableMessaging – WS-ReliableMessaging – SummarySummary

WS-RM Adoption

Microsoft WCF B1Microsoft WCF B1

IBM, ETTK – IBM, ETTK – AlphaworksAlphaworks

BEA, WebLogic 9.0BEA, WebLogic 9.0

Cape ClearCape Clear

SystinetSystinet

Blue TitanBlue Titan

Apache Axis 1.3 Apache Axis 1.3 SandeshaSandesha

SonicSonic

TibcoTibco

Reliable, in-order Reliable, in-order message transfer message transfer independent of the independent of the transporttransport

Composes well with Composes well with WS-*: security, WS-*: security, transactionstransactions

No impact on No impact on programming modelprogramming model

Interoperable, adoption Interoperable, adoption is underwayis underway

Page 17: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

The DiagnosisThe Diagnosis

Page 18: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

WS-* Perl Example: Secure WS-* Perl Example: Secure RMRM

PERL SoapLite modulePERL SoapLite module

Adding Two headersAdding Two headersSequence headerSequence header

Security + UsernameToken headerSecurity + UsernameToken header

Adding a contract with four messagesAdding a contract with four messagesCreateSequenceCreateSequence

CreateSequenceResponseCreateSequenceResponse

SequenceAcknowledgementSequenceAcknowledgement

TerminateSequenceTerminateSequence

Re-transmissionRe-transmission

Page 19: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

WS-* for Perl WS-* for Perl InteroperabilityInteroperability

Page 20: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

More ResourcesMore Resources

Page 21: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

Microsoft Corporation

Intel Corporation

Sun Microsystems, Inc.

Dell Inc.

AMD Inc. A

Computer Associates International, Inc.

A

Sonic Software A

gSOAP

Systinet Corporation A

WEBM Solutions, Inc.

NetIQ Corp.

WS-P

olicy

Web Services Industry Adoption

Messaging Security Assurances

Devices

Management

Metadata

WS-X

Fer

Enum

Device

s

Profi

le

WS-S

ec. C

onv.

WS-S

ecurit

y

WS-T

rust

WS-R

M

WS-A

T

MEX

WS-D

iscov

ery

WS-M

anag

emen

t

Released product

Public interop

A Co-Author only

SOAP / W

SDL

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.

A A

Sun Microsystems, Inc.

SAP AG

Tibco Software, Inc.

IONA Technologies

WebMethods, Inc.

Nokia

Cape Clear

gSOAP

Netegrity A A

Verisign, Inc. A A

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

IBM A

BEA Systems, Inc. A

SAP AG A

Sun Microsystems, Inc. A

Verisign Inc. A

Sonic Software A

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.

Page 22: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

Web Services Protocol Web Services Protocol SpecificationsSpecifications

Page 23: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

Community Resources – At PDCCommunity Resources – At PDCTalksTalks

COM432: Developing Web Services Using ASP.NET and COM432: Developing Web Services Using ASP.NET and WSE that Interoperate with the Windows WSE that Interoperate with the Windows Communications Foundation ("Indigo") (Fri, 8:30am)Communications Foundation ("Indigo") (Fri, 8:30am)

COM326: Web Services for XML Programmers (Thu, COM326: Web Services for XML Programmers (Thu, 5:15pm)5:15pm)

COM415: A Deep Dive into Best Practices Using the COM415: A Deep Dive into Best Practices Using the Windows Communications Foundation (Thu, 10am)Windows Communications Foundation (Thu, 10am)

Labs: Labs: COMHOL300, COMHOL301COMHOL300, COMHOL301

Product PavilionProduct PavilionWS-* Adoption SlideWS-* Adoption Slide

Ask The Experts table: Ask The Experts table: WCF Interoperability – tonight at 6pm – 9pmWCF Interoperability – tonight at 6pm – 9pm

COM Track lounge: COM Track lounge: We’ll be there Thu 3:30-7pm, Fri 8:30 – 4pmWe’ll be there Thu 3:30-7pm, Fri 8:30 – 4pm

Page 24: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

Community Resources – After Community Resources – After PDCPDC

If you missed this session, watch it on the DVDIf you missed this session, watch it on the DVDCOM423 – WCF: Web Services InteroperabilityCOM423 – WCF: Web Services Interoperability

Microsoft Interop Portal: Microsoft Interop Portal: http://www.microsoft.com/interop http://www.microsoft.com/interop

MSDN Web Services Interoperability Home PageMSDN Web Services Interoperability Home Pagehttp://msdn.microsoft.com/webservices/building/interophttp://msdn.microsoft.com/webservices/building/interop

MSDN .Net/Java Interoperability Home PageMSDN .Net/Java Interoperability Home Pagehttp://msdn.microsoft.com/vstudio/java/interophttp://msdn.microsoft.com/vstudio/java/interop

Microsoft Public Web Services Interop TestsMicrosoft Public Web Services Interop Testshttp://mssoapinterop.org/ws/http://mssoapinterop.org/ws/

Windows Communication Foundation (a.k.a. Windows Communication Foundation (a.k.a. Indigo)Indigo)

http://msdn.microsoft.com/webservices/indigo/ http://msdn.microsoft.com/webservices/indigo/

Web Services Interoperability BlogsWeb Services Interoperability Blogshttp://www.simonguest.comhttp://www.simonguest.com

http://pluralsight.com/blogs/kirillg/http://pluralsight.com/blogs/kirillg/ http://blogs.cocoondev.org/dims/index.rdf http://blogs.cocoondev.org/dims/index.rdf

Page 25: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

Your FeedbackYour Feedbackis Important!is Important!

Please Fill Out a SurveyPlease Fill Out a Survey

Page 26: Windows Communications Foundation ("Indigo"): Web Services Interoperability With Java/J2EE Kirill Gavrylyuk Simon Guest COM423 Microsoft Corporation

© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.