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

Post on 27-Mar-2015

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

Provide and Register Document Set-b Sync

Document RepositoryDocument Repository

Document Source

Document Source

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

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)

Examples of Synchronous and Asynchronous Message Exchange Patterns

Synchronous

• Phone conversations• Meetings• Instant Messaging

Asynchronous

• Email exchanges• Discussion boards• Voice mails

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

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

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)

Scope of Asynchronous Web Services Exchange Supplement

• Volume I and Volume II

• Appendix V

• XDS.b

• XCA

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

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

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 - -

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

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

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

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>

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>

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>

QUESTIONS

top related