asynchronous web services exchange teddy bachour microsoft corporation august 11, 2008

20
Asynchronous Web Services Exchange Teddy Bachour Microsoft Corporation August 11, 2008

Upload: rebecca-steele

Post on 27-Mar-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Asynchronous Web Services Exchange Teddy Bachour Microsoft Corporation August 11, 2008

Asynchronous Web Services Exchange

Teddy Bachour

Microsoft Corporation

August 11, 2008

Page 2: Asynchronous Web Services Exchange Teddy Bachour Microsoft Corporation August 11, 2008

Agenda

• What is Asynchronous Web Services Exchange

• Why Asynchronous Web Services Exchange

• Scope of Asynchronous Web Services Exchange Supplement

• Updates to Standards & Systems

• Updates to WSDL & SOAP

Page 3: Asynchronous Web Services Exchange Teddy Bachour Microsoft Corporation August 11, 2008

What is Asynchronous Web Services Exchange

• A request-response message exchange pattern (aka mep) between a Requestor and a Provider of service

• Provider may not be available at the time the request is sent

• Provider will ‘eventually’ receive and process the request and send a response back to the Requestor

Page 4: Asynchronous Web Services Exchange Teddy Bachour Microsoft Corporation August 11, 2008

Provide and Register Document Set-b Sync

Document RepositoryDocument Repository

Document Source

Document Source

Provide and Register Document Set-b [ITI-41]

Page 5: Asynchronous Web Services Exchange Teddy Bachour Microsoft Corporation August 11, 2008

Document Source

Document Source

Provide and Register Document Set-b ASync

Document RepositoryDocument Repository

Provide and Register Document Set-b [ITI-41](Request)

Provide and Register Document Set-b [ITI-41](Response)

Page 6: Asynchronous Web Services Exchange Teddy Bachour Microsoft Corporation August 11, 2008

Examples of Synchronous and Asynchronous Message Exchange Patterns

Synchronous

• Phone conversations• Meetings• Instant Messaging

Asynchronous

• Email exchanges• Discussion boards• Voice mails

Page 7: Asynchronous Web Services Exchange Teddy Bachour Microsoft Corporation August 11, 2008

Why Asynchronous Web Services Exchange

• Current XDS.b and XCA implementation profiles imply synchronous communication between actors

• This works well in tightly controlled environments• Asynchronous Web Services Exchange further enables support for

network infrastructures where– Transports are unreliable– Systems are not always available– Variable or high communication latency is present

• Asynchronous Web Services Exchange opens the options – For using intermediaries for store and forward or offline communication modes– Using reliable messaging mechanisms to address the reliability and availability

challenges that these types of network infrastructures present

Page 8: Asynchronous Web Services Exchange Teddy Bachour Microsoft Corporation August 11, 2008

Store & Forward, Offline

Document RepositoryDocument Repository

Document Source

Document Source

Provide and Register Document Set-b [ITI-41] (Request)

Provide and Register Document Set-b [ITI-41] (Response)

Request Queue

Request Queue

Response Queue

Response Queue

Page 9: Asynchronous Web Services Exchange Teddy Bachour Microsoft Corporation August 11, 2008

Intermediaries

Reliable Messaging

Document RepositoryDocument Repository

Document Source

Document Source

Provide and Register Document Set-b [ITI-41](Request)

Provide and Register Document Set-b [ITI-41] (Response)

Page 10: Asynchronous Web Services Exchange Teddy Bachour Microsoft Corporation August 11, 2008

Scope of Asynchronous Web Services Exchange Supplement

• Volume I and Volume II

• Appendix V

• XDS.b

• XCA

Page 11: Asynchronous Web Services Exchange Teddy Bachour Microsoft Corporation August 11, 2008

Asynchronous Web Services Exchange for XDS.b Actors

Actor Options Vol & SectionDocument Source Multiple Document Submission ITI TF-1:10.2.1

Document Life Cycle Management ITI TF-1:10.2.2Folder Management ITI TF-1:10.2.3Asynchronous Web Services Exchange

ITI TF-1:10.2.4

Document Repository Asynchronous Web Services Exchange

ITI TF-1:10.2.4

Document Registry Patient Identity Feed (Note 1) ITI TF-2:3.8Patient Identity Feed HL7v3 (Note 1) ITI TF-2:3.44Asynchronous Web Services Exchange

ITI TF-1:10.2.4

Integrated Document Source / Repository

Multiple Document Submission ITI TF-1:10.2.1Document Life Cycle Management ITI TF-1:10.2.2Folder Management ITI TF-1:10.2.3Asynchronous Web Services Exchange

ITI TF-1:10.2.4

Document Consumer Asynchronous Web Services Exchange

ITI TF-1:10.2.4

Patient Identity Source Patient Identity Feed (Note 1) ITI TF-2:3.8Patient Identity Feed HL7v3 (Note 1) ITI TF-2:3.44

Page 12: Asynchronous Web Services Exchange Teddy Bachour Microsoft Corporation August 11, 2008

Asynchronous Web Services Exchange for XDS.b Actors

XDS.b Actors that support this option shall support the following:• Document Source Actor shall support Asynchronous Web Services

Exchange for the Provide & Register Document Set – b [ITI-41] transaction

• Document Consumer Actor shall support Asynchronous Web Services Exchange for the Registry Stored Query [ITI-18] and Retrieve Document Set [ITI-43] transactions

• Document Repository Actor shall support Asynchronous Web Services Exchange for the Provide & Register Document Set – b [ITI-41] and Register Document Set – b [ITI-42], and Retrieve Document Set [ITI-43] transactions

• Document Registry Actor shall support Asynchronous Web Services Exchange for the Registry Stored Query [ITI-18] and Register Document Set – b [ITI-42] transactions

Use of Synchronous or Asynchronous Web Services Exchange is dictated by the individual install environment and affinity domain policy

Page 13: Asynchronous Web Services Exchange Teddy Bachour Microsoft Corporation August 11, 2008

Asynchronous Web Services Exchange for XCA

Actor Options Vol & SectionInitiating Gateway XDS Affinity Domain

Option

Asynchronous Web Services Exchange

ITI TF-1:18.2.1

ITI TF-1:18.2.2

Responding Gateway No options defined - -

Page 14: Asynchronous Web Services Exchange Teddy Bachour Microsoft Corporation August 11, 2008

Asynchronous Web Services Exchange for XCA

• Initiating Gateways which support Asynchronous Web Services Exchange shall support Asynchronous Web Services Exchange on the Cross Gateway Query [ITI-38] and Cross Gateway Retrieve [ITI-39] transactions

• If the Initiating Gateway supports both the XDS Affinity Domain Option and the Asynchronous Web Services Option it shall support Asynchronous Web Services Exchange on the Registry Stored Query [ITI-18] and Retrieve Document Set [ITI-43] transactions

Page 15: Asynchronous Web Services Exchange Teddy Bachour Microsoft Corporation August 11, 2008

Standards & Systems

• Asynchronous Web Services Exchange uses the same standards as the Synchronous Web Services Exchange

• The key enabler for Asynchronous Web Services Exchange is WS-Addressing that allows for: – Specification of the reply-to endpoint where

responses should be sent – Specification of the SOAP message id to allow

for correlation of responses to the original requests

Page 16: Asynchronous Web Services Exchange Teddy Bachour Microsoft Corporation August 11, 2008

Updates to WSDL and SOAP

Patient Identity Source

Patient Identity Source

Document Registry

Document Registry

Document ConsumerDocument Consumer

Document RepositoryDocument Repository

Document Source

Document Source

Patient Identity Feed [ITI-8]Patient Identity Feed HL7v3 [ITI-44]

Registry Stored Query [ITI-18]

Register Document Set-b [ITI-42]

Retrieve Document Set [ITI-43]Provide and Register Document Set-b [ITI-41]

Integrated Document Source/Repository

New WSDL

New WSDL

Page 17: Asynchronous Web Services Exchange Teddy Bachour Microsoft Corporation August 11, 2008

Sample WSDL Update

Document Repository Sync

<portType name="DocumentRepository_PortType">

<operation name="DocumentRepository_ProvideAndRegisterDocumentSet">

<input message="ihe:ProvideAndRegisterDocumentSet-b_Message" wsaw:Action="urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b"/>

<output message="ihe:ProvideAndRegisterDocumentSet-bResponse_Message" wsaw:Action="urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-bResponse"/>

</operation>

. . .

</portType>

Document Repository Async

<portType name="DocumentRepository_PortType"> <operation name="DocumentRepository_ProvideAndRegisterDocumentSetAsync"> <input message="ihe:ProvideAndRegisterDocumentSet_Message" wsaw:Action="urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-

bAsync"/> </operation> . . . </portType>

Document Source Async (New)

<portType name="DocumentSource_PortType"> <operation name="DocumentSource_ProvideAndRegisterDocumentSet-bAsyncResponse"> <input message="ihe:ProvideAndRegisterDocumentSet-bResponse_Message"

wsaw:Action="urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-bAsyncResponse"></input> </operation></portType>

Page 18: Asynchronous Web Services Exchange Teddy Bachour Microsoft Corporation August 11, 2008

How SOAP Headers Change

Document Source Sync - ProvideAndRegisterDocumentSet-b Request

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://www.w3.org/2005/08/addressing">

<soap:Header>

<wsa:Action soap:mustUnderstand="1">urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b</wsa:Action>

<wsa:MessageID>urn:uuid:67cd539a-87ca-2684-4e54-00016c82368a</wsa:MessageID>

<wsa:ReplyTo>

<wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>

</wsa:ReplyTo>

<wsa:To soap:mustUnderstand="1">http://localhost:9080/XDS/RepositoryReceiver</wsa:To>

</soap:Header>

<soap:Body>

</soap:Body>

</soap:Envelope>

Document Source Async - ProvideAndRegisterDocumentSet-b Request (Updated)

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://www.w3.org/2005/08/addressing"><soap:Header>

<wsa:Action soap:mustUnderstand="1">urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b</wsa:Action><wsa:MessageID>urn:uuid:67cd539a-87ca-2684-4e54-00016c82368a</wsa:MessageID><wsa:ReplyTo>

<wsa:Address> http://IPAddress:Port#/XDS/DocumentSourceReceiver</wsa:Address></wsa:ReplyTo><wsa:To soap:mustUnderstand="1">http://localhost:9080/XDS/RepositoryReceiver</wsa:To>

</soap:Header><soap:Body></soap:Body></soap:Envelope>

Page 19: Asynchronous Web Services Exchange Teddy Bachour Microsoft Corporation August 11, 2008

How SOAP Headers Change (2)

Document Repository - ProvideAndRegisterDocumentSet-b Response (New)

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://www.w3.org/2005/08/addressing">

<soap:Header><wsa:Action soap:mustUnderstand="1">urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b</wsa:Action><wsa:MessageID>urn:uuid:aaaabbbb-cccc-dddd-eeee-wwwwwwwwwww</wsa:MessageID>

<wsa:RelatesTo>urn:uuid:67cd539a-87ca-2684-4e54-00016c82368a</wsa:RelatesTo><wsa:To soap:mustUnderstand="1">http://localhost:9080/XDS/SourceReceiver</wsa:To>

</soap:Header><soap:Body></soap:Body></soap:Envelope>

Page 20: Asynchronous Web Services Exchange Teddy Bachour Microsoft Corporation August 11, 2008

QUESTIONS