asr uom-ordering transport architecture

42
2005 Qwest Communications International Inc. ll rights reserved. ASR UOM-Ordering Transport Architecture Proposed Asynchronous Request/Response Model

Upload: claire-mcdowell

Post on 03-Jan-2016

19 views

Category:

Documents


0 download

DESCRIPTION

ASR UOM-Ordering Transport Architecture. Proposed Asynchronous Request/Response Model. About the Presenters. Programmers of Qwest’s ASR Gateway and QORA GUI. Business clients and testers. Scope. TML Asynchronous Request/Response “handshaking” - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ASR UOM-Ordering Transport Architecture

© 2005 Qwest Communications International Inc.All rights reserved.

ASR UOM-Ordering Transport Architecture

Proposed Asynchronous Request/Response Model

Page 2: ASR UOM-Ordering Transport Architecture

2© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

About the Presenters

• Programmers of Qwest’s ASR Gateway and QORA GUI.

• Business clients and testers

Page 3: ASR UOM-Ordering Transport Architecture

3© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Scope

• TML Asynchronous Request/Response “handshaking”

• Brief discussion about ASR validation web service

Page 4: ASR UOM-Ordering Transport Architecture

4© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Not In Scope

• Pre-order inquiries

• ASOG rules

Page 5: ASR UOM-Ordering Transport Architecture

5© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

TML Transport Diagram

• Taken from the industry TML Transport document.

• Triangles added to show location of web services.

• Left column represents requesters, a.k.a. customers.

• Right column represents providers, in this case Qwest.

Page 6: ASR UOM-Ordering Transport Architecture

OverallPicturefromTMOC(TCIF)

Page 7: ASR UOM-Ordering Transport Architecture

7© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

SequenceDiagram #1

Page 8: ASR UOM-Ordering Transport Architecture

8© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

SequenceDiagram #2

Page 9: ASR UOM-Ordering Transport Architecture

9© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

SOAP Concepts• Envelope• Headers• Body• Fault

Page 10: ASR UOM-Ordering Transport Architecture

10© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

SOAP Message Structure<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:t1m1="http://tml.t1m1.org/tML.Transport.xsd"><SOAP-ENV:Header>

<t1m1:tMLHeader xmlns="http://tml.t1m1.org/tML.Transport.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tml.t1m1.org/tML.Transport.xsd">

<TransportID>TELE1QWEST2005-12-11T09:30:47.097-05:001</TransportID><CorrelationID>RRR.112345</CorrelationID><TrackID>AA</TrackID><ApplicationType>RequestAcknowledgement</ApplicationType><From>TELE1</From><To>QWEST</To><SendTimestamp>2005-12-11T09:30:47.097-05:00</SendTimestamp><RetryCount>0</RetryCount>

</t1m1:tMLHeader></SOAP-ENV:Header><SOAP-ENV:Body>

<t1m1:ResultAcknowledgement><t1m1:ResultID>RRR.112345</t1m1:ResultID>

</t1m1:ResultAcknowledgement></SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Page 11: ASR UOM-Ordering Transport Architecture

11© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

TML Headers - Example<tMLHeader xmlns="http://tml.t1m1.org/tML.Transport.xsd"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tml.t1m1.org/tML.Transport.xsd"><TransportID>String</TransportID><CorrelationID>String</CorrelationID><TrackID>String</TrackID><ApplicationType>String</ApplicationType><From>String</From><To>String</To><SendTimestamp>2001-12-17T09:30:47-05:00</SendTimestamp><RetryCount>0</RetryCount>

</tMLHeader>

Page 12: ASR UOM-Ordering Transport Architecture

12© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

TML Headers

• IDs

• Other fields (ApplicationType, From, To, SendTimestamp, RetryCount) will be contained in persisted message but will have no other effects, since Qwest will likely allow most calls to be repeated.

Page 13: ASR UOM-Ordering Transport Architecture

13© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Web Service Descriptions

• High level overview of the web services used in the transport protocol.

Page 14: ASR UOM-Ordering Transport Architecture

14© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Common Behaviors

• Architecture is Asynchronous SOAP.

• Each “block” is Synchronous.

• Descriptions to follow are from the point of view of “Telecom Service Provider.”

• Will probably use client-side two-way SSL for each communication channel.

• Try to avoid message level signing.

Page 15: ASR UOM-Ordering Transport Architecture

15© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Request Listener

• Receives ASR in TML format.

• Does XSD validation.

• Writes content to database.

• Returns SOAP fault on any failure.

• If no errors, returns TML OK message.

Page 16: ASR UOM-Ordering Transport Architecture

16© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Request Listener – Example OK Response

<?xml version="1.0" encoding="UTF-8"?>

<OK xmlns="http://tml.t1m1.org/tML.Transport.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tml.t1m1.org/tML.Transport.xsd"/>

Page 17: ASR UOM-Ordering Transport Architecture

17© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Request Listener (client)

• Sends Request Ack (not the same as an ASR functional acknowledgement) to the customer.

• Customer may optionally XSD-check our message.

• Customer returns TML OK message.

• On receipt of OK, we begin processing.

• If customer doesn’t ack in a reasonable time, need to alarm, delete or take other action.

Page 18: ASR UOM-Ordering Transport Architecture

18© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Request Listener (client) Acknowledgement Message – Example Request

<?xml version="1.0" encoding="UTF-8"?><RequestAcknowledgement xmlns="http://tml.t1m1.org/tML.Transport.xsd"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tml.t1m1.org/tML.Transport.xsd"><Acknowledgement>1<!-- true --></Acknowledgement><Reason>String</Reason><!-- optional -->

</RequestAcknowledgement>

Page 19: ASR UOM-Ordering Transport Architecture

19© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Result Sender (client)

• A single attempt to send a result (Gateway Response, ASR Functional Ack, FOC, Error Clarification) to the customer web service.

• Customer responds with a TML OK.

• Customer Acks the receipt of this result by calling Result Ack Listener.

Page 20: ASR UOM-Ordering Transport Architecture

20© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Results Ready Sender (client)• Periodically we call the customer web service

and provide a list of result IDs that have not been Acked.

• Need to alarm or perhaps send the customer an e-mail if results aren’t acked in a timely way.

• This list could theoretically be quite long. May need to provided a truncated list (perhaps 100) and flag the fact that the list is partial.

Page 21: ASR UOM-Ordering Transport Architecture

21© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Results Ready Sender – Example Request

<?xml version="1.0" encoding="UTF-8"?><ResultWaitingNotification

xmlns="http://tml.t1m1.org/tML.Transport.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tml.t1m1.org/tML.Transport.xsd"><Result>

<ResultID>AAA.112233</ResultID></Result><Result>

<ResultID>BBB.332211</ResultID></Result>

</ResultWaitingNotification>

Page 22: ASR UOM-Ordering Transport Architecture

22© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Result Retrieval Listener

• Customer provides an ID, and retrieves one result.

Page 23: ASR UOM-Ordering Transport Architecture

23© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Result Retrieval Listener – Example Request

<?xml version="1.0" encoding="UTF-8"?><GetResult xmlns="http://tml.t1m1.org/tML.Transport.xsd"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tml.t1m1.org/tML.Transport.xsd"><ResultID>RRR.1112345</ResultID>

</GetResult>

Page 24: ASR UOM-Ordering Transport Architecture

24© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Result Ack Listener

• Customer calls with the ID of the result they retrieved with Result Retrieval Listener.

• They are provided with TML OK message if there are no errors.

• The ID will no longer show up when the customer pulls or we push the list of IDs that are ready.

Page 25: ASR UOM-Ordering Transport Architecture

25© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Result Ack Listener – Example Request

<ResultAcknowledgement xmlns="http://tml.t1m1.org/tML.Transport.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tml.t1m1.org/tML.Transport.xsd">

<ResultID>RRR.112345</ResultID>

</ResultAcknowledgement>

Page 26: ASR UOM-Ordering Transport Architecture

26© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Pro’s To Using TML Transport Protocol

• Complies with industry guidelines.

• More reliable than other approaches.

• Closest solution to “real-time” as is possible, contingent on speed of provider down-stream systems.

Page 27: ASR UOM-Ordering Transport Architecture

27© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Con’s to Using TML Transport Protocol

• Bringing in a new partner may require formal software release process, depending on local rules.– Client-side certificate “library” must be

maintained.– Testing, discovery and URL management.

• Strict adherence to protocols is required. Otherwise, separate pair-wise “modules” will need to be developed.

Page 28: ASR UOM-Ordering Transport Architecture

28© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Con’s to Using TML Transport Protocol, cont.

• Customers need to create three new web services in order to interact with Qwest.

Page 29: ASR UOM-Ordering Transport Architecture

29© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Alternate All-Pull Model

• Additional proposed Qwest web services that allow implementation of the protocol without the need of customer-side web services.

Page 30: ASR UOM-Ordering Transport Architecture

30© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Pro’s To Using All-Pull Protocol

• Customer does not need to maintain any web services.

• Provider does not need to keep client-side certs up to date.

• This approach can safely co-exist with standard UOM ordering protocol.

Page 31: ASR UOM-Ordering Transport Architecture

31© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Con’s To Using All-Pull Protocol

• “Pull” components are not standard(although Qwest is looking for feedback on introducing this on an industry level).

• Provider will need to build functionality to allow quick configuration to support new partners.

• There could be a delay for a requester to get their results (up to the pull frequency).

Page 32: ASR UOM-Ordering Transport Architecture

Overall Picture including all “pulls”

Page 33: ASR UOM-Ordering Transport Architecture

33© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

SequenceDiagram #3

Page 34: ASR UOM-Ordering Transport Architecture

34© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Alt. Request Listener• Customer would call this listener with the

same ID of their ASR. We respond with “OK message” if we had already received their message, or “Not OK message” if we don’t have their message.

• If we send the “Not OK message,” the customer should resend their message.

• If customer doesn’t ack in a reasonable time, need to alarm, delete or take other action.

Page 35: ASR UOM-Ordering Transport Architecture

35© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Alt. Result Ready List

• Allows customer to pull a list of result IDs.

• Still analyzing what to do for long result lists.

Page 36: ASR UOM-Ordering Transport Architecture

36© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Alt. Result Ready List – Example Response

<?xml version="1.0" encoding="UTF-8"?><ResultWaitingNotification

xmlns="http://tml.t1m1.org/tML.Transport.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tml.t1m1.org/tML.Transport.xsd"><Result>

<ResultID>AAA.112233</ResultID></Result><Result>

<ResultID>BBB.332211</ResultID></Result>

</ResultWaitingNotification>

Page 37: ASR UOM-Ordering Transport Architecture

37© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Features under consideration

• Synchronous ASR validation service.

• An optional “partial” tag may be present, which disables form-flow, and other selected rules.

Page 38: ASR UOM-Ordering Transport Architecture

38© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Other Thoughts• Questions/discussion?

Page 39: ASR UOM-Ordering Transport Architecture

39© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

Appendix

Page 40: ASR UOM-Ordering Transport Architecture

40© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

ID Descriptions• TransportID uniquely identifies each message, e.g.,

for Help Desk reference only.• CorrelationID is used for acknowledging. That is,

when a message is acknowledged, the CorrelationID is what ties the acknowledgement to the original message. It is also the ID that is provided when retrieving a result.

• TrackID stays constant for various messages for an ASR. The TrackID can also be considered the “serial number” for the ASR itself.

Page 41: ASR UOM-Ordering Transport Architecture

41© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

ID Flow Summary

• TransportID changes with each message, and is different between Request and Response.

• CorrelationID and TrackID are echoed in Response for all WS.

• A new TrackID is created when the Response is cross-ASR.

Page 42: ASR UOM-Ordering Transport Architecture

42© 2005 Qwest Communications International Inc. All rights reserved.For discussion purposes only – no commitments to this design are expressed or implied.

ID Detailed FlowStep CorrelationID TrackID Body Content

Request Persisted. Persisted, echoed to sender. ASR

RequestResponse Request ID echoed to sender. Request ID echoed to sender. OK

Request Ack Request ID echoed to sender. Request ID echoed to sender. Request Acknowledgement

Request AckResponse Request ID echoed to sender. Request ID echoed to sender. OK

Alt Request AckSame CorrelationID as initial Request Same TrackID as initial Request Correlation ID

Alt Request AckResponse Request ID echoed to sender. Request ID echoed to sender. Status msg.

       

ResultNew CorrelationID, created by Provider Same TrackID as initial Request

Result element, containing result content

ResultResponse Request ID echoed to sender. Request ID echoed to sender. OK

Result ReadyNew CorrelationID, created by Provider New TrackID (cross-ASR) Result Ready (list of IDs)

Result ReadyResponse Request ID echoed to sender. Request ID echoed to sender. OK

Alt Result Ready Persisted. Persisted, not used. Alt Result Ready request

Alt Result ReadyResponse Request ID echoed to sender. Request ID echoed to sender. Result Ready (list of IDs)

Get Result Same ID as in body content Persisted, not used. Get Result (one ID)

Get ResultResponse Request ID echoed to sender. Request ID echoed to sender.Result element, containing result content

Result Ack Same ID as in body content Persisted, not used. Result Ack (one ID)

Result AckResponse Request ID echoed to sender. Request ID echoed to sender. OK