Asynchronous Web Services Exchange

fizzlargeΑσφάλεια

3 Νοε 2013 (πριν από 3 χρόνια και 7 μήνες)

101 εμφανίσεις

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
Repository

Document
Source

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

Document
Source

Provide and Register Document
Set
-
b
ASync

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

Document
Source

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

(Request)

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

(Response)

Request
Queue

Response
Queue

Intermediaries

Reliable Messaging

Document
Repository

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

& Section

Document Source

Multiple Document Submission

ITI TF
-
1:10.2.1

Document Life Cycle Management

ITI TF
-
1:10.2.2

Folder Management

ITI TF
-
1:10.2.3

Asynchronous 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.8

Patient Identity Feed HL7v3 (Note 1)

ITI TF
-
2:3.44

Asynchronous Web Services
Exchange

ITI TF
-
1:10.2.4

Integrated Document Source /
Repository

Multiple Document Submission

ITI TF
-
1:10.2.1

Document Life Cycle Management

ITI TF
-
1:10.2.2

Folder Management

ITI TF
-
1:10.2.3

Asynchronous 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.8

Patient 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

& Section

Initiating 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

Document
Registry

Document
Consumer

Document
Repository

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