Using XML Transactions Presented By Tony Alwardt The Boeing Company.

Post on 13-Dec-2015

215 views 0 download

Transcript of Using XML Transactions Presented By Tony Alwardt The Boeing Company.

Using XML TransactionsUsing XML Transactions

Presented ByPresented By

Tony AlwardtTony Alwardt

The Boeing CompanyThe Boeing Company

IntroductionIntroduction

Provides a common dialect to be used Provides a common dialect to be used between two are more partiesbetween two are more parties

Benefits Benefits

Fewer Schemas to Maintain and Develop AgainstFewer Schemas to Maintain and Develop AgainstSchema performs initial required data validation instead Schema performs initial required data validation instead of application softwareof application softwareTransactions give XML tags context sensitive meaningTransactions give XML tags context sensitive meaningSystem integrators only deal with transactions they System integrators only deal with transactions they requirerequireThe ability to tie requests and responses togetherThe ability to tie requests and responses togetherProvides built in error elements for every transactionProvides built in error elements for every transactionReadily supports Synchronous & Asynchronous Readily supports Synchronous & Asynchronous CommunicationCommunicationReadily supports Batch ProcessingReadily supports Batch ProcessingSupports Passing Application Level Security CredentialsSupports Passing Application Level Security Credentials

Multiple SchemasMultiple Schemas

System 1

XML Transaction

Type 1 Request

System 2

XML Schema 1

XML Transaction

Type 1 Response

XML Transaction

Type 2 Request

XML Transaction

Type 2 ResponseSystem 3

XML Schema 3

XML Schema 2

XML Schema 4

Integrated SchemaIntegrated SchemaXML

Transaction Type 1 Request

Integrated XML

Schema

XML Transaction

Type 1 Response

XML Transaction

Type 2 Request

XML Transaction

Type 2 Response

System 1 System 2

System 3

Validation (Traditional Schema Use)Validation (Traditional Schema Use)

XML Document

XML Schema

Schema verifies that the XML document is in the correct format.

Software Library

Software verifies that the XML document contains the appropriate required XML

elements/attributes.

System 1 System 2

Validation (Transaction Schema Use)Validation (Transaction Schema Use)

XML Document

XML Schema

Schema verifies that the XML document is in the correct format and that the required

XML elements/attributes exist.

Software Library

This block is potentially no longer required.

System 1 System 2

Context Sensitive MeaningContext Sensitive Meaning<?xml version="1.0" encoding="utf-8"?><TxDML version="1.0" xmlns:bc="http://www.companyA.com/ATML/schemas/Common" xmlns="urn:DML-TxDML-Schema"> <TxRequest> <AddWorkOrders> <WorkOrders> <WorkOrder status="Open" openedDateTime="2004-06-03T07:36:31"> <bc:MasterKey>JCNARN001</bc:MasterKey> <Platform name="F/A-18" model="E" serialNumber="111111"/> <WorkItems> <WorkItem status="Open" openedDateTime="2004-06-03T07:36:31"> <bc:Site name="St. Louis"/> <bc:MaintenanceLevel abbr="O"/> <UUT type="WRA"> <bc:PartNumber>Demo 2005</bc:PartNumber> <bc:SerialNumber>SN0001</bc:SerialNumber> <bc:Manufacturer>MAN001</bc:Manufacturer> </UUT> <TestPrograms> <TestProgram name="Demo2005 TPS" type="XML"> <TestResults outcome="Failed"> <TestGroup outcome="Failed" bc:startDateTime="2002-04-14T17:16:25.500"> <Observables> <Observable name="Altitude" value="0.000" type="Decimal" units="Feet"/> <Observable name="NormalAcceleration" value="-35.313" type="Decimal" units="FPS Squared"/> </Observables> <Test name="000" outcome="Failed" type="MSP" descr="RADAR ANTENNA FAIL"/> <Test name="111" outcome="Failed" type="MSP" descr="GYRO TEST SKPD"/> </TestGroup> </TestResults> </TestProgram> </TestPrograms> </WorkItem> </WorkItems> </WorkOrder> </WorkOrders> </AddWorkOrders> </TxRequest></TxDML>

Add Work Orders Transaction

Context Sensitive MeaningContext Sensitive Meaning<?xml version="1.0" encoding="utf-8"?><TxDML version="1.0" xmlns:bc="http://www.companyA.com/ATML/schemas/Common" xmlns="urn:DML-TxDML-Schema"> <TxRequest> <UpdateWorkOrders> <WorkOrders> <WorkOrder status="Open"> <bc:MasterKey>JCNARN001</bc:MasterKey> <WorkItems> <WorkItem status="Open"> <bc:MaintenanceLevel abbr="I"/> <UUT type="WRA"> <bc:PartNumber>Demo2005</bc:PartNumber> <bc:SerialNumber>SN0001</bc:SerialNumber> </UUT> <TestPrograms> <TestProgram name="Demo2005 TPS" type="XML"> <TestResults outcome="Failed"> <TestGroup outcome="Failed" bc:startDateTime="2005-04-12T13:00:07.000"> <Test name="300.00" outcome="Failed" type="T" descr="Resister A Check"/> </TestGroup> <Indictments retestEntryPoint="300.00" indictmentsID="3" indictmentsDateTime="2005-04-12T13:00:07"> <Indictment repairType="R" repairDescr="Remove and Replace"> <UUT>

<RefDes>A1</RefDes></UUT>

</Indictment> </Indictments> </TestResults> </TestProgram> </TestPrograms> <bc:TestStation type="STATION A"/> </WorkItem> </WorkItems> </WorkOrder> </WorkOrders> </UpdateWorkOrders> </TxRequest></TxDML>

Update Work Orders with Indictments

Context Sensitive MeaningContext Sensitive Meaning<?xml version="1.0" encoding="utf-8"?><TxDML version="1.0" xmlns:bc="http://www.companyA.com/ATML/schemas/Common" xmlns="urn:DML-TxDML-Schema"> <TxRequest> <UpdateWorkOrders> <WorkOrders> <WorkOrder status="Open"> <bc:MasterKey>JCNARN001</bc:MasterKey> <WorkItems> <WorkItem status="Open"> <bc:MaintenanceLevel abbr="I"/> <UUT type="WRA"> <bc:PartNumber>Demo2005</bc:PartNumber> <bc:SerialNumber>SN0001</bc:SerialNumber> </UUT> <bc:TestStation type="STATION A"/> <Repairs> <Repair repairType="S" repairDescr="Remove and Reinstall" repairIndictmentsID="3"> <UUT type="SRA"> <bc:PartNumber>CARD001</bc:PartNumber> <bc:SerialNumber>TRFDV</bc:SerialNumber> <bc:RefDes>A1</bc:RefDes> </UUT> </Repair> </Repairs> </WorkItem> </WorkItems> </WorkOrder> </WorkOrders> </UpdateWorkOrders> </TxRequest></TxDML>

Update Work Orders with Repairs

Easier Integration via TransactionsEasier Integration via Transactions

<TxDML version="1.0"> <TxRequest> <AddWorkOrders></AddWorkOrders> <UpdateWorkOrders></UpdateWorkOrders> <GetSuggestedCallouts></GetSuggestedCallouts> <GetSuggestedEntryPoints></GetSuggestedEntryPoints> <GetWorkOrders></GetWorkOrders> </TxRequest></TxDML>

Example: 5 Available Transactions

User 1 User 2

<TxDML version="1.0"> <TxRequest> <AddWorkOrders></AddWorkOrders> <UpdateWorkOrders></UpdateWorkOrders> <GetWorkOrders></GetWorkOrders> </TxRequest></TxDML>

<TxDML version="1.0"> <TxRequest> <GetSuggestedCallouts></GetSuggestedCallouts> <GetSuggestedEntryPoints></GetSuggestedEntryPoints> </TxRequest></TxDML>

3 Transactions Used by User 1 2 Transactions Used by User 2

Request/Response ModelRequest/Response Model

Supports echoing the request in the Supports echoing the request in the response (Especially useful with response (Especially useful with asynchronous systems)asynchronous systems)

<TxDML version="1.0"> <TxRequest> <GetWorkOrders> <MasterKey>Master Key XYZ</MasterKey> </GetWorkOrders> </TxRequest> <TxResponse> <TransResult> <ResultCode tc="Success "></ResultCode> <WorkOrder> <MasterKey>Master Key XYZ</MasterKey> </WorkOrder> </TransResult> </TxResponse></TxDML>

Response

Request

Error ProcessingError Processing

Required “ResultCode” element exists in Required “ResultCode” element exists in every transaction responseevery transaction response

<TxDML version="1.0"> <TxRequest> <GetWorkOrders> <MasterKey>Master Key XYZ</MasterKey> </GetWorkOrders> </TxRequest> <TxResponse> <TransResult> <ResultCode tc="Failure"> <ResultDesc>Communication Error.</ResultDesc> </ResultCode> <WorkOrder> <MasterKey>Master Key XYZ</MasterKey> </WorkOrder> </TransResult> </TxResponse></TxDML>

Result Info

Synchronous vs. Asynchronous Synchronous vs. Asynchronous ProcessingProcessing

Readily supports Synchronous & Readily supports Synchronous & Asynchronous CommunicationAsynchronous Communication

XML Document

Synchronous Communication

XML Document

System 1 System 2

Synchronous vs. Asynchronous Synchronous vs. Asynchronous ProcessingProcessing

Readily supports Synchronous & Readily supports Synchronous & Asynchronous CommunicationAsynchronous Communication

XML Documents

Asynchronous Communication

XML Documents

Echoing the initial request with the response enables Asynchronous Communication.

System 1 System 2

Batch Transaction ProcessingBatch Transaction Processing

Readily supports Batch ProcessingReadily supports Batch Processing

XML Requests

XML Responses

The schema can support sending multiple request transactions in one XML Document. The same applies for response

transactions.

System 1 System 2

Application Level Security Application Level Security CredentialsCredentials

Application Level Security Credentials can Application Level Security Credentials can be included in a Request Transaction. be included in a Request Transaction.

<TxDML version="1.0"> <UserAuthRequest> <UserLoginName>String</UserLoginName> <UserPswd> <CryptType>String</CryptType> <Pswd>String</Pswd> </UserPswd> <UserDomain>String</UserDomain> <UserDate>1967-08-13</UserDate> <UserTime>14:20:00-05:00</UserTime> </UserAuthRequest> <TxRequest> <GetWorkOrders> <MasterKey>Master Key XYZ</MasterKey> </GetWorkOrders> </TxRequest></TxDML>

Security Info

QuestionsQuestions

??