Collaboration Protocol Profile and Agreement … · Web viewThe appendices include examples of...
Transcript of Collaboration Protocol Profile and Agreement … · Web viewThe appendices include examples of...
Collaboration-Protocol Profile and Agreement Specification -
Transaction Management Extension (BTP)Version 0.2
OASIS ebXML Collaboration Protocol Profile and Agreement Technical Committee
14 May, 2003
1 Status of this Document
This document specifies an ebXML SPECIFICATION for the eBusiness community.
Distribution of this document is unlimited. [Currently under development and therefore limited to the CPP/A and BTP specification development communities.]
The document formatting is based on the Internet Society’s Standard RFC format.
This version:
URL
Errata for this version:
URL
Previous version:
None, this is the first version of this document.
2
3
4
5
6
7
8
9
10111213
14
15
1617181920212223242526272829303132333435
1
OASIS ebXML CPP/A Technical Committee 08/11/2002
2 Technical Committee MembersSelim Aissi IntelArvola Chan TIBCOJames Bryce Clark Individual MemberDavid Fischer Drummond GroupTony Fletcher ChoreologyBrian Hayes Collaborative DomainNeelakantan Kartha Sterling CommerceKevin Liu SAPPallavi Malu IntelDale Moberg Cyclone CommerceHimagiri Mukkamala SybasePeter Ogden Cyclone CommerceMarty Sachs IBMYukinori Saito Individual MemberDavid Smiley MercatorTony Weida Individual MemberPete Wenzel SeeBeyondJean Zheng Vitria
Transaction Management Extension (BTP) - Page 2 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
234
36
373839404142434445464748495051525354
567
OASIS ebXML CPP/A Technical Committee 08/11/2002
3 Issues
1) This version (0.2 dated 14 May 2003) requires further editorial work.
2) This version needs further technical consideration. It is not clear that all the parameters currently specified are actually useful to share. There may be parameters that would be useful to share that are not currently included. In other words it requires technical verification against the configuration requirements of real transaction management enabled systems.
3) BTP specifies mappings to SOAP and SOAP with Attachments at present (other bindings could be added. Is it possible to use a CPP/A to specify either of these rather than ebXML messaging? Would this still be considered useful to ebXML processors? Line 748 of the MS spec states: "The MessageHeader element is REQUIRED in all ebXML Messages." For application messages that have an associated BTP context, the MS spec allows the <btp:messages> element to be located as a sibling of the <ebxml:MessageHeader> element. However, for BTP only traffic that uses the MessageHeader element, does the CPP need to specify the 'Service' and 'Action' fields for routing purposes?
4) attributeFormDefault. It is not common to see namespace qualification on attributes. Unless it is CPPA TC policy, it might be best to leave the attribute default (unqualified.) That however is not the case for elementFormDefault, where it is common practice to namespace qualify all elements.Currently this specification follows the lead of the CPP/A base specification in making attributeFormDefault qualified. Is this correct should this specification, or both be changed to the default of unqualified?
5) "<btp:additional-information>Alternative addresses available</btp:additional-information>" : additional-information is not intended to be used for publishing alternative addresses, but rather to be fed back in like a cookie. The entire address block can often be repeated for additional addresses.Omit this parameter?
Transaction Management Extension (BTP) - Page 3 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
89
10
55
56575859606162636465666768697071727374757677787980818283848586878889
111213
OASIS ebXML CPP/A Technical Committee 08/11/2002
4 Table of Contents1 Status of this Document..........................................................................................................................................92 Technical Committee Members............................................................................................................................103 Issues.....................................................................................................................................................................114 Table of Contents..................................................................................................................................................125 Introduction...........................................................................................................................................................13
5.1 Summary of Contents of Document...................................................................................................................135.2 Document Conventions.......................................................................................................................................135.3 Versioning of the Specification and Schema......................................................................................................135.4 Definitions...........................................................................................................................................................145.5 Audience.............................................................................................................................................................145.6 Assumptions........................................................................................................................................................145.7 Related Documents.............................................................................................................................................14
6 Design Objectives.................................................................................................................................................157 System Overview..................................................................................................................................................16
7.1 What This Specification Does............................................................................................................................167.2 Forming a CPA from Two CPPs........................................................................................................................267.3 Forming a CPA from a CPA Template...............................................................................................................327.4 How the CPA Works..........................................................................................................................................357.5 Where the CPA May Be Implemented...............................................................................................................387.6 Definition and Scope...........................................................................................................................................41
8 CPP Definition......................................................................................................................................................458.1 CPP Structure......................................................................................................................................................528.2 TransactionManagement_BTP_CPP_Ext element...........................................................................................1448.3 BTPversion Element.........................................................................................................................................1688.4 StandardBindings element................................................................................................................................1778.5 NonStandardBindings element.........................................................................................................................1878.6 TransactionTimeLimitRange element..............................................................................................................193
8.6.1 MinTimeLimit element..............................................................................................................................2038.6.2 MaxTimeLimit element.............................................................................................................................206
8.7 InferiorTimeoutRange element.........................................................................................................................2098.8 MinInferiorTimeoutRange element..................................................................................................................2218.9 ActorRole element............................................................................................................................................2338.10 FactoryDefaultAddress element......................................................................................................................2538.11 MessageTimeoutRange element.....................................................................................................................2668.12 StandardQualifiersSupported element............................................................................................................2838.13 qualifiers element............................................................................................................................................3138.14 RecoveryCapable element..............................................................................................................................3208.15 BTP_CPPA_Extensions element....................................................................................................................3258.16 Comment element...........................................................................................................................................384
9 CPA Definition...................................................................................................................................................3939.1 CPA Structure...................................................................................................................................................4029.2 TransactionManagement_BTP_CPA_Ext element..........................................................................................5419.3 Elements common to both parties.....................................................................................................................5789.4 Elements applicable to one party only..............................................................................................................5839.5 BTP_CPPA_Extensions element......................................................................................................................6379.6 Comment element.............................................................................................................................................6409.7 Composing a CPA from Two CPPs..................................................................................................................643
10 References.......................................................................................................................................................64611 Conformance...................................................................................................................................................67412 Disclaimer.......................................................................................................................................................69113 Contact Information........................................................................................................................................693Notices........................................................................................................................................................................712
Transaction Management Extension (BTP) - Page 4 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
141516
90
919293949596979899
100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
171819
OASIS ebXML CPP/A Technical Committee 08/11/2002
Appendix A Example of CPP Document (Non-Normative).......................................................................................729Appendix B Example of CPA Document (Non-Normative)....................................................................................1011Appendix C Requirements on this BTP Transaction Management extension..........................................................1266Appendix D Scenarios (Non-Normative).................................................................................................................1308Appendix E W3C XML Schema Document Corresponding to Complete CPP and CPA Transaction Management (BTP) extension Definition (Normative)..................................................................................................................1330Appendix F CPA Composition (Non-Normative)....................................................................................................1602Appendix G Glossary of Terms................................................................................................................................1604
Transaction Management Extension (BTP) - Page 5 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
202122
143144145146147148149150
151152153
232425
OASIS ebXML CPP/A Technical Committee 08/11/2002
5 Introduction
5.1 Summary of Contents of DocumentThe specification of a Collaboration-Protocol Profile (CPP) and a Collaboration-Protocol Agreement (CPA) is found in the base Specification [ebCPPA]. Included in the CPP and CPA are details of transport, messaging, security constraints, and bindings to a Business-Process-Specification (or, for short, Process-Specification) document that contains the definition of the interactions between the two Parties while engaging in a specified electronic Business Collaboration.
This specification contains an extension of the basic detailed definitions of the Collaboration-Protocol Profile (CPP) and the Collaboration-Protocol Agreement (CPA), which allows the use of a transaction management facility to be indicated and the associated details to be specified and agreed in the resulting CPA. An example of a transaction management facility is the Business Transaction Protocol (BTP) [BTP] and the details in this version of this specification relate specifically to BTP. However, similar extensions could be specified, following the pattern of this specification, for other transaction management facilities with broadly similar features.
This specification is a component of the suite of ebXML specifications.
The rest of this specification is organized as follows: Section 6 defines the objectives of this specification. Section 7 provides a system overview. Section 8 contains the definition of the CPP extension, identifying the structure and all
necessary fields. Section 9 contains the definition of the CPA extension. Section 10 lists all other documents referenced in this specification. Section 11 provides a conformance statement. Section 12 contains a disclaimer. Section 13 lists contact information for the contributing authors and the coordinating
editor for this version of the specification. The appendices include examples of extended CPP and CPA documents (non-normative),
an XML Schema document for the extensions (normative), and a Glossary of Terms.
5.2 Document ConventionsTerms in Italics are defined in Appendix G (Glossary of Terms). Terms listed in Bold Italics represent the element and/or attribute content of the XML CPP, CPA, or related definitions.
In this specification, indented paragraphs beginning with "NOTE:" provide non-normative explanations or suggestions that are not mandated by the specification.
References to external documents are represented with BLOCK text enclosed in brackets, e.g. [RFC2396]. The references are listed in Section 10, "References".
Transaction Management Extension (BTP) - Page 6 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
262728
154
155
156
157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
188
189190191192193194195196
293031
OASIS ebXML CPP/A Technical Committee 08/11/2002
The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear in this document, are to be interpreted as described in [RFC 2119].
NOTE: Vendors SHOULD carefully consider support of elements with cardinalities (0 or 1) or (0 or more). Support of such an element means that the element is processed appropriately for its defined function and not just recognized and ignored. A given Party might use these elements in some CPPs or CPAs and not in others. Some of these elements define parameters or operating modes and SHOULD be implemented by all vendors. It might be appropriate to implement elective elements that represent major run-time functions, such as various alternative communication protocols or security functions, by means of plug-ins so that a given Party MAY acquire only the needed functions rather than having to install all of them.
By convention, values of [XML] attributes are generally enclosed in quotation marks, however those quotation marks are not part of the values themselves.
5.3 Versioning of the Specification and SchemaWhenever this specification is modified, it SHALL be given a new version number.
It is anticipated that during the review period, errors and inconsistencies in the specification and in the schema may be detected and have to be corrected. All known errors in the specification as well as necessary changes to the schema will be summarized in an errata page found at
URL
The specification, when initially approved by the OASIS ebXML Collaboration Protocol Profile and Agreement Technical Committee for public review, SHALL carry a version number of “1_0”. At that time, the schema SHALL have a version number of “1_0a” and the suffix letter after “1_0” will be advanced as necessary when bug fixes to the schema have to be introduced. Such versions of the schema SHALL be found under the directory
http://www.oasis-open.org/committees/ebxml-cppa/schema/
In addition, the latest version of the schema SHALL always be found at
http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd
since the latter is the namespace URI used for this specification and the corresponding schema is supposed to be directly resolvable from the namespace URI.
The value of the version attribute of the Schema element in a given version of the schema SHALL be equal to the version of the schema.
Transaction Management Extension (BTP) - Page 7 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
323334
197198199200201202203204205206207208209210211212213214
215
216217218219220221222223
224225226227228229230231
232233234
235236237238239240241
353637
OASIS ebXML CPP/A Technical Committee 08/11/2002
5.4 DefinitionsTechnical terms in this specification are defined in Appendix G.
5.5 AudienceOne target audience for this specification is implementers of ebXML services and other designers and developers of middleware and application software that is to be used for conducting electronic Business. Another target audience is the people in each enterprise who are responsible for creating CPPs and CPAs.
5.6 AssumptionsIt is expected that the reader has an understanding of XML and is familiar with the concepts of electronic Business (eBusiness).
5.7 Related DocumentsRelated documents include Specifications on the following topics:
Business Transaction Protocol [BTP]
and the ebXML Specifications on the following topics:
ebXML Collaboration-Protocol Profile and Agreement [ebCPPA]
Automated Negotiation of Collaboration-Protocol Agreements Specification [ebCPPANeg]
ebXML Business Process Specification Schema [ebBPSS]
See Section 10 for the complete list of references.
Transaction Management Extension (BTP) - Page 8 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
383940
242
243244
245
246247248249250
251
252253254
255
256257258259260261262263
264265266
267268269270
414243
OASIS ebXML CPP/A Technical Committee 08/11/2002
6 Design ObjectivesThe objective of this specification is to ensure interoperability between two Parties even though they MAY procure application software and run-time support software from different vendors. This extension to the CPP specification defines a Party's explicit transaction management capabilities. The CPA defines the way two Parties will interact in performing explicit transactions. Both Parties SHALL use identical copies of the CPA, including this extension, to configure their run-time systems. This assures that they are compatibly configured to exchange Messages whether or not they have obtained their run-time systems from the same vendor. The configuration process MAY be automated by means of a suitable tool that reads the CPA and performs the configuration process.
In addition to supporting direct interaction between two Parties, this specification MAY also be used to support interaction between two Parties through an intermediary such as a transaction coordination hub.
It is an objective of this specification that a CPA SHALL be capable of being composed by intersecting the respective CPPs of the Parties involved. The resulting CPA SHALL contain only those elements that are in common, or compatible, between the two Parties. Variable quantities, such as number of retries of errors, are then negotiated between the two Parties. The design of the CPP and CPA schemata facilitates this composition/negotiation process. However, the composition and negotiation processes themselves are outside the scope of this specification.
Transaction Management Extension (BTP) - Page 9 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
444546
271
272273274275276277278279280281282283284285286287288289290291292
474849
OASIS ebXML CPP/A Technical Committee 08/11/2002
7 System Overview7.1 What This Specification DoesThe exchange of information between two Parties under transaction control requires each Party to know the other Party's supported transaction capabilities, and the technology details about how the other Party sends and receives Messages. It is necessary for the two Parties to reach agreement on some of these details.
The way each Party can exchange information, about their transaction management capabilities, can be described by a Collaboration-Protocol Profile (CPP) extended as described in this specification. The agreement between the Parties can be expressed as a Collaboration-Protocol Agreement (CPA) extended as described in this specification.
A Party MAY describe itself in a single CPP. A Party MAY create multiple CPPs that describe, for example, different transaction management capabilities that it supports.
The document that defines the interactions between two Parties is a Process-Specification document that MAY conform to the ebXML Business Process Specification Schema [ebBPSS]. The CPP and CPA include references to this Process-Specification document. This Process-Specification document SHALL indicate the points at which transactions are initiated and terminated, by whom and with whom and the reaction to the possible transaction outcomes.
This specification defines the markup language vocabulary for creating electronic CPPs and CPAs that include transaction capabilities. CPPs and CPAs are [XML] documents. In the appendices of this specification are two sample CPPs, a sample CPA formed from the CPPs, a sample Process-Specification referenced by the CPPs and the CPA, and the XML Schema governing the structures of CPPs and CPAs. ???
Transaction Management Extension (BTP) - Page 10 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
505152
293
294
295296297298299300301302303304305306307308309310311312313314315316317318319
535455
OASIS ebXML CPP/A Technical Committee 08/11/2002
The CPPA specification is concerned with software that conducts business on behalf of Parties by exchanging Messages [ebMS]. In particular, it is concerned with Client and Server software programs that engage in Business Transactions [ebBPSS] by sending and receiving Messages. Those Messages convey Business Documents and/or business signals [ebBPSS] in their payload. Under the terms of a CPA:
A Client initiates a connection with a Server. A Role initiates a Transaction with a complementary Role as defined in the business
process specification. A Sender sends a Message to a Receiver.
Thus, Client and Server are software counterparts, Roles are business counterparts, and Sender and Receiver are messaging counterparts. There is no fixed relationship between counterparts of different types. For example, consider a purchasing collaboration. Client software representing the buying party might connect to Server software representing the selling party, and then make a purchase request by sending a Message containing a purchase order over that connection. If the CPA specifies a synchronous business response, the Server might then respond by sending a Message containing an acceptance notice back to the Client over the same connection. Alternatively, if the CPA specifies an asynchronous business response, Client software representing the selling party might later respond by connecting to Server software representing the buying party and then sending a Message containing an acceptance notice.
In general, the Parties to a CPA can have both client and server characteristics. A client requests services and a server provides services to the Party requesting services. In some applications,
Transaction Management Extension (BTP) - Page 11 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
565758
321322323324325326327328329330331332333334335336337338339340341342343344
596061
OASIS ebXML CPP/A Technical Committee 08/11/2002
one Party only requests services and one Party only provides services. These applications have some resemblance to traditional client-server applications. In other applications, each Party MAY request services of the other. In that case, the relationship between the two Parties can be described as a peer-peer relationship rather than a client-server relationship.
7.2 Forming a CPA from Two CPPsPlease refer to the base specification [ebCPPA] for an elaboration of this process.
Figure 2 illustrates forming a CPP. Party A tabulates the information to be placed in a repository for the discovery process, constructs a CPP that contains this information, and enters it into an ebXML Registry or similar repository along with additional information about the Party. The additional information might include a description of the Businesses that the Party engages in. Once Party A's information is in the repository, other Parties can discover Party A
In Figure 3, Party A and Party B use their CPPs to jointly construct a single copy of a CPA by calculating the intersection of the information in their CPPs. The resulting CPA defines how the two Parties will behave in performing their Business Collaboration.
Transaction Management Extension (BTP) - Page 12 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
626364
345346347348349
350
351352353354355356357
358360361362
656667
OASIS ebXML CPP/A Technical Committee 08/11/2002
Transaction Management Extension (BTP) - Page 13 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
686970
717273
OASIS ebXML CPP/A Technical Committee 08/11/2002
Figure 4 illustrates the entire process. The steps are listed at the left. The end of the process is that the two Parties configure their systems from identical copies of the agreed CPA and they are
then ready to do Business.
7.3 Forming a CPA from a CPA TemplatePlease refer to the base specification [ebCPPA] for an elaboration of this process.
7.4 How the CPA WorksPlease refer to the base specification [ebCPPA] for an elaboration of how the CPA works and may be utilised.
7.5 Where the CPA May Be ImplementedPlease refer to the base specification [ebCPPA] for an elaboration of where the CPA may be implemented.
7.6 Definition and ScopeThis extension to the base CPPA specification defines and explains the contents of the CPP and CPA XML documents as they relate to transaction management capabilities. Its scope is limited to these definitions. It does not define how to compose a CPA from two CPPs nor does it define anything related to run-time support for the CPP and CPA. See Section 11 for a discussion of
Transaction Management Extension (BTP) - Page 14 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
747576
364365
366367
368
369370
371
372373374
375
376377378
379
380381382383
777879
OASIS ebXML CPP/A Technical Committee 08/11/2002
conformance to this specification.
NOTE: This specification is limited to defining the contents of the CPP and CPA, and it is possible to be conformant with it merely by producing a CPP or CPA document that conforms to the XML Schema document defined herein. It is, however, important to understand that the value of this specification lies in its enabling a run-time system that supports electronic commerce between two Parties under the guidance of the information in the CPA.
Transaction Management Extension (BTP) - Page 15 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
808182
384385386387388389390391
838485
OASIS ebXML CPP/A Technical Committee 08/11/2002
8 CPP DefinitionA CPP defines the capabilities of a Party to engage in electronic Business with other Parties. This extension to the base CPP [ebCPPA] covers transaction management capabilities as provided by BTP [BTP] only.
This section defines and discusses the details of this extension to the base CPP in terms of the individual XML elements. The discussion is illustrated with some XML fragments. See Appendix E for the XML Schema, and Appendix A for sample CPP documents.
The TransactionManagement_BTP_CPP_Ext element of the CPP describes the Transaction management capabilities available through the use of the Business Transaction Protocol. It is an optional addition to the CPP and is only applicable when the system the CPP refers to is BTP enabled.
8.1 CPP StructureFollowing is the overall structure of a CPP with the BTP transaction management extension included. Unless otherwise noted, CPP elements MUST be in the order shown here. Subsequent sections describe each of the extension elements in greater detail. (The elements and attributes of the base CPP are specified in the CPP/A base specification [ebCPPA].)
<tp:CollaborationProtocolProfile xmlns:tp="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd" xmlns:btpext="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-btp-ext-1_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:pri="http://www.private.org/xml/pri.xsd" tp:cppid="uri:companyA-cpp" tp:version="2_0c">
<tp:PartyInfo> <!-- one or more --> ... </tp:PartyInfo>
<tp:SimplePart id="..."> <!-- one or more --> ... </tp:SimplePart>
<tp:Packaging id="..."> <!-- one or more --> ... </tp:Packaging>
Transaction Management Extension (BTP) - Page 16 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
868788
392
393394395396397398399400401402403404405
406
407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440
899091
OASIS ebXML CPP/A Technical Committee 08/11/2002
<tp:Signature> <!-- zero or one --> ... </tp:Signature>
<btpext:TransactionManagement_BTP_CPP_Ext btpext:BTP_CPPA_Ext_version="1.0"> <!-- zero or one --> <btpext:BTPversion> <!-- one or more --> ... </btpext:BTPversion>
<btpext:StandardBindings> <!-- zero or more --> ... </btpext:StandardBindings> <!-- zero or more -->
<btpext:TransactionTimeLimitRange> <!-- zero or one --> ... </btpext:TransactionTimeLimitRange>
<btpext:InferiorTimeoutRange> <!-- zero or one --> ... </btpext:InferiorTimeoutRange>
<btpext:MinInferiorTimeoutRange> <!-- zero or one --> ... </btpext:MinInferiorTimeoutRange>
<btpext:ActorRole> <!-- one or more --> ... </btpext:ActorRole>
<btpext:FactoryDefaultAddress> <!-- zero or more --> ... </btpext:FactoryDefaultAddress>
<btpext:MessageTimeoutRange> <!-- zero or one --> ... </btpext:MessageTimeoutRange>
<btpext:StandardQualifiersSupported> <!-- zero or more --> ... </btpext:StandardQualifiersSupported>
<btp:qualifiers> <!-- zero or more --> ... </btp:qualifiers>
<btpext:RecoveryCapable> <!-- zero or one --> ... <btpext:RecoveryCapable>
<!-- example extension to these BTP extensions to the CPP definition: -->
<pri:some-BTP_CPPA_extension" pri:must-be-understood="true"> <pri:My_Parameter1>24</pri:My_Parameter1></pri:some-BTP_CPPA_extension>
Transaction Management Extension (BTP) - Page 17 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
929394
441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496
959697
OASIS ebXML CPP/A Technical Committee 08/11/2002
<tp:Comment xml:lang="aa-AA"> <!-- zero or more --> ... </tp:Comment>
</btpext:TransactionManagement_BTP_CPP_Ext>
<tp:Comment>text</tp:Comment> <!-- zero or more --></tp:CollaborationProtocolProfile>
8.2 TransactionManagement_BTP_CPP_Ext elementThe TransactionManagement_BTP_CPP_Ext element is the enveloping element of the transaction management (BTP) extension to the CPP XML document.
The base CPP that this extension element becomes embedded into refers to one, or more, business process specifications. This TransactionManagement_BTP_CPP_Ext shall be included if, and only if, at least one of these business process specifications requires transaction management and BTP support is included in the as a means of providing transaction management.
The REQUIRED XML [XML] Namespace [XMLNS] additional declaration for the basic document is as follows:
The CPP/CPA BTP extension namespace: xmlns:btpext="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-btp-ext-1_0.xsd",
In addition, the TransactionManagement_BTP_CPP_Ext element contains a REQUIRED BTP_CPPA_Ext_version attribute that indicates the version of this extension. Its purpose is to identify the version of the schema that this CPP extension conforms to. The value of the version attribute SHOULD be a string such as "1_0", "1_0b", etc., which corresponds to the version of this specification used.
The TransactionManagement_BTP_CPP_Ext element SHALL consist of the following child elements:
One REQUIRED BTPversion element that identifies the version of the BTP specification the CPP extension relates to,
Zero or more StandardBindings elements that indicate the standard bindings supported (i.e. from those specified in the BTP specification),
Zero or more NonStandardBindings elements that indicate any non-standard bindings supported (i.e. bindings not specified in the BTP specification),
Zero or one TransactionTimeLimitRange element that contains the range of acceptable overall transaction timeout values,
Zero or one InferiorTimeoutRange element that contains the range of acceptable inferior [BTP] timeout values,
Zero or one MinInferiorTimeoutRange element that contains the range of acceptable inferior timeout values that can be requested by a superior [BTP],
Zero or more ActorRole elements that indicate the (BTP) roles that the system is capable of,
Transaction Management Extension (BTP) - Page 18 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
9899
100497498499500501502503504505506
507
508509
510511512513514
515516
517518519520521522523524525526527528529530531532533534535536537538539540541542
101102103
OASIS ebXML CPP/A Technical Committee 08/11/2002
Zero or more FactoryDefaultAddress elements that provide the address(es) for systems that can provide (BTP) Factory functionality to this system,
Zero or one MessageTimeoutRange element that contains the range of message timeout values that can be applied,
Zero or more StandardQualifiersSupported elements that indicate the standard qualifiers that are supported, as specified in the BTP specification,
Zero or more qualifiers elements that indicate any qualifiers, and their definitions, that are supported, using the qualifier definition mechanism specified in the BTP specification,
One REQUIRED RecoveryCapable element, which is a Boolean that indicates whether recovery (as specified in the BTP specification) is supported or not,
Zero or more BTP_CPPA_Extensions elements, which allow this extension to the CPP to be further extended according to the requirements of particular users.
Zero or more Comment elements as in the base CPP specification, but applicable to this extension.
8.3 BTPversion ElementThe BTPversion element identifies of the Business Transaction Protocol (BTP) specification [BTP] that the implementation conforms to. Several versions may be offered and the inclusion or exclusion of subsequent elements may be affected.
NOTE: At present there is only one version of BTP, so this element shall carry the value 1.x, perhaps followed by a letter to indicate a minor revision, where x is currently “0” but may take other values to indicate minor technical revisions. Any future major revisions to the functionality of BTP may cause revisions to this specification to add extra elements and / or attributes.
<btpext:BTPversion>1.0</btpext:BTPversion>
The BTPversion element has no attributes.
8.4 StandardBindings elementThe StandardBindings element has enumerated values, which indicate the standard bindings, as defined in the BTP specification, that are supported. This element has no attributes.
There are two permitted values corresponding to the two bindings in the BTP specification these are:
<btpext:StandardBindings>XML_SOAP1_1_HTTP1_1</btpext:StandardBindings>
<btpext:StandardBindings>XML_SOAP1_1_Attach_HTTP1_1</btpext:StandardBindings>
Transaction Management Extension (BTP) - Page 19 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
104105106543544545546547548549550551552553554555556557558
559
560561562563564565566567568569570571
572573
574
575576577578579580581582583584585586587
107108109
OASIS ebXML CPP/A Technical Committee 08/11/2002
8.5 NonStandardBindings elementThe NonStandardBindings element is a simple string value, which indicates any non-standard bindings that are supported. This element has no attributes.
NOTE: Add an attribute that provides an optional URL (or something??) to a specification of this binding?
8.6 TransactionTimeLimitRange elementThe TransactionTimeLimitRange element (cardinality zero or one) gives the maximum and minimum values of time in seconds that can be accepted for the overall limit on a transaction’s duration. It is the root of a sub-tree of elements one level deep. The syntax is:
<btpext:TransactionTimeLimitRange> <btpext:MinTimeLimit> . . . </btpext:MinTimeLimit> <btpext:MaxTimeLimit>> . . . </btpext:MaxTimeLimit></btpext:TransactionTimeLimitRange>
This element has no attributes.
8.6.1 MinTimeLimit element
The MinTimeLimit element specifies the minimum time in seconds for the parameter represented by its parent element. It is of non-negative integer type. This element has no attributes.
8.6.2 MaxTimeLimit element
The MaxTimeLimit element specifies the maximum time in seconds for the parameter represented by its parent element. It is of non-negative integer type. This element has no attributes.
8.7 InferiorTimeoutRange elementThe InferiorTimeoutRange element (cardinality zero or one) gives the maximum and minimum values of time in seconds that a party acting as a BTP Inferior promises to apply before taking an autonomous cancel or conform decision. It is the root of a sub-tree of elements one level deep. The syntax is:
<btpext:InferiorTimeoutRange> <btpext:MinTimeLimit> . . . </btpext:MinTimeLimit> <btpext:MaxTimeLimit>> . . . </btpext:MaxTimeLimit></btpext:InferiorTimeoutRange>
This element has no attributes.
The child elements are as specified in 8.6.1 and 8.6.2.Transaction Management Extension (BTP) - Page 20 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
110111112588
589590591592593594595
596
597598599600601602603604605606607
608
609610611612
613
614615616617
618
619620621622623624625626627628629630631113114115
OASIS ebXML CPP/A Technical Committee 08/11/2002
8.8 MinInferiorTimeoutRange elementThe MinInferiorTimeoutRange element (cardinality zero or one) gives the maximum and minimum values of time in seconds that a party acting as a BTP Superior can request a party acting as a BTP Inferior to promise to apply before taking an autonomous cancel or conform decision. It is the root of a sub-tree of elements one level deep. The syntax is:
<btpext:MinInferiorTimeoutRange> <btpext:MinTimeLimit> . . . </btpext:MinTimeLimit> <btpext:MaxTimeLimit>> . . . </btpext:MaxTimeLimit></btpext:MinInferiorTimeoutRange>
This element has no attributes.
The child elements are as specified in 8.6.1 and 8.6.2.
8.9 ActorRole elementThe ActorRole element has enumerated values, which indicate the actors, and the roles within that actor, as defined in the BTP specification, that are supported. The values supported shall match up with the roles this party can undertake in the business process specification that the base CPP refers to (as overridden by the base CPP that this element is a part of).
This element has no attributes.
There are eleven combinations of permitted values corresponding to the actor and role combinations permitted in the BTP specification, which are:
<btpext:ActorRole>Composer\Superior</btpext:ActorRole><btpext:ActorRole>Composer\Decider</btpext:ActorRole><btpext:ActorRole>Coordinator\Superior</btpext:ActorRole><btpext:ActorRole>Coordinator\Decider</btpext:ActorRole><btpext:ActorRole>Participant\Inferior+Enroller</btpext:ActorRole><btpext:ActorRole>Sub-Composer\Superior</btpext:ActorRole><btpext:ActorRole>Sub-Composer\Inferior</btpext:ActorRole><btpext:ActorRole>Sub-Coordinator\Superior</btpext:ActorRole><btpext:ActorRole>Sub-Coordinator\Inferior</btpext:ActorRole><btpext:ActorRole>Initator+Terminator</btpext:ActorRole><btpext:ActorRole>Factory</btpext:ActorRole>
8.10 FactoryDefaultAddress elementThe FactoryDefaultAddress element provides address information for the default BTP factory accessible by this party. It is included only in the CPP for convenience in configuring the system for this party. This information does not need to be shared and therefore is not included in the CPA. Its data type is as specified in the BTP specification and has the following structure:
<btpext:FactoryDefaultAddress> <!-- Zero or more -->
Transaction Management Extension (BTP) - Page 21 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
116117118632
633
634635636637638639640641642643644645646647
648
649650651652653654655656657658659660661662663664665666667668669670
671
672
673674675676677678
119120121
OASIS ebXML CPP/A Technical Committee 08/11/2002
<btp:binding-name> ... </btp:binding-name> <!-- One only --> <btp:binding-address> ... </btp:binding-address> <!-- One only --> <btp:additional-information> ... </btp:additional-information> <!-- Zero or one --></btpext:FactoryDefaultAddress>
Please refer to the BTP specification [BTP] for the specification of the child elements binding-name, binding-address, and additional-information.
This element has no attributes.
8.11 MessageTimeoutRange elementThe MessageTimeoutRange element (cardinality zero or one) gives the maximum and minimum values of time in seconds that a party will apply as a timeout value after sending any message before it will resend the same message, or take some alternative action (according to the actions that the BTP specification permits at that point. It is the root of a sub-tree of elements one level deep. The syntax is:
<btpext:MessageTimeoutRange> <btpext:MinTimeLimit> . . . </btpext:MinTimeLimit> <btpext:MaxTimeLimit>> . . . </btpext:MaxTimeLimit></btpext:MessageTimeoutRange>
This element has no attributes.
The child elements are as specified in 8.6.1 and 8.6.2.
Note: When setting values for MessageTimeoutRange element consideration should be given to other timer values that might interact with the BTP message time out timer. As a general guide the following rule should be followed:
Application (e.g. BPSS) messages timeouts >= BTP message timeouts >= messaging timeouts
8.12 StandardQualifiersSupported elementThe StandardQualifiersSupported element has enumerated values, which indicate the standard qualifiers, as defined in the BTP specification, that are supported.
This element has no attributes.
There are four permitted values, which are:
<btpext:StandardQualifiersSupported>Transaction_Time_Limit </btpext:StandardQualifiersSupported>
<btpext:StandardQualifiersSupported>Inferior_Timeout </btpext:StandardQualifiersSupported>
Transaction Management Extension (BTP) - Page 22 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
122123124679680681682683
684685686687688689
690
691692693694695696697698699700701702703704705706707708709710
711712
713
714715716717718719720721722723724725
125126127
OASIS ebXML CPP/A Technical Committee 08/11/2002
<btpext:StandardQualifiersSupported>Minimum_Inferior_Timeout </btpext:StandardQualifiersSupported>
<btpext:StandardQualifiersSupported>Inferior_Name </btpext:StandardQualifiersSupported>
This element may be repeated with different values if more than one of the standard qualifiers is supported, which will often be the case.
Note: When using the three time qualifiers consideration should be given to other timer values that might interact with the BTP times. As a general guide the following rules should be followed:
TimetoPerform (BPSS and BCP) >= Transaction timelimit + inferior timeout
(Probably wise to use: TimetoPerform (BPSS and BCP) >= Transaction timelimit + Minimum inferior timeout)
Minimum inferior timeout >= inferior timeout >> TimeToLive (ebMS)
8.13 qualifiers elementThe qualifiers element is used to provide the data structures for any additional qualifiers that may be used that are not fully specified in the BTP specification.
This element is defined in the BTP specification [BTP] and is taken directly from there.
This element has no attributes.
8.14 RecoveryCapable elementThe RecoveryCapable element is used to indicate whether the recovery procedures specified in the BTP specification [BTP] are implemented, or not. It is a Boolean that takes the value “true” (or “1”) if the recovery procedures are supported and “false” (or “0”) if they are not supported.
This element has no attributes.
8.15 BTP_CPPA_Extensions elementThe BTP_CPPA_Extensions element is used to add further parameters to the TransactionManagement_BTP_CPP_Ext element that are required for configuration at one party (so that this basic configuration file format can be extended to fit in with the requirements of an individual implementation). It may also be used to offer extra parameter values to be included in a CPA either as shared values or as values relevant to one party and for the information of the other party.
This element has one must-be-understood attribute. It is a Boolean that takes the value “true”
Transaction Management Extension (BTP) - Page 23 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
128129130726727728729730731732
733734735736737738739740741742743744745
746747
748
749750751752753754755
756
757758759760761762
763
764765766767768769770771
131132133
OASIS ebXML CPP/A Technical Committee 08/11/2002
(or “1”) if the parameters must be understood by both parties to a CPA, and “false” (or “0”) if this is not necessary.
This element and its child elements, which carry the extra parameters, may be absent from a CPP (and a CPA). If it is present one, or more, times then there shall be at least one schema that provides the structure for the element and its child elements plus accompanying text, as in this specification, to describe each element and attribute and its use. An example outline of the sort of schema needed is as follows:
<schema targetNamespace=http://www.private1.org/xml/priC.xsdxmlns:priC=http://www.private1.org/xml/priC.xsd xmlns:btpcppa=http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-btp-ext-1_0.xsd xmlns=http://www.w3.org/2001/XMLSchema elementFormDefault="qualified" attributeFormDefault="qualified" version="1_0">
<import namespace=http://www.w3.org/1999/xlink schemaLocation="http://www.oasis-open.org/committees/ebxml-msg/schema/xlink.xsd"/>
<import namespace=http://www.w3.org/XML/1998/namespace schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
<import namespace="urn:oasis:names:tc:BTP:1.0:core" schemaLocation="http://www.oasis-open.org/committees/business-transactions/xml/btp_core.xsd"/>
<import namespace=http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd schemaLocation="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd"/>
<import namespace=http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-btp-ext-1_0.xsd schemaLocation="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-btp-ext-1_0.xsd"/>
<!-- TransactionManagement_BTP_CPP_Ext Extension element definition --><element name="MyTxManCPPAExtension" type="MyTxManCPPAExtension-type"
substitutionGroup="btpcppa:BTP_CPPA_Extension"/>
<complexType name="MyTxManCPPAExtension-type"><complexContent>
<extension base="btpcppa:BTP_CPPA_Extension-type"><sequence>
<element ref="priC:BTP_My_Parameter1"/><element ref="priC:BTP_My_Parameter2"/>
</sequence><attribute ref="priC:btp_My_Attribute1" use="required"/>
</extension></complexContent>
</complexType>
<!-- Attribute definitions --><attribute name="btp_My_Attribute1" type="boolean" default="true"/>
<!-- Element definitions --><element name="BTP_My_Parameter1" type="string"/><element name="BTP_My_Parameter2" type="string"/>
</schema>
The shaded parts should be copied as they are. The un-shaded parts of the schema are outline example only. They should be replaced as appropriate to meet the requirements for the
Transaction Management Extension (BTP) - Page 24 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
134135136772773774775776777778779780
781782783784785786787788
789790791
792793794
795796797
798799800
801802803804805
806807808809
810811812813814815816817818819820821
822823824
825826827828
829830
831832
833834835
137138139
OASIS ebXML CPP/A Technical Committee 08/11/2002
extension.
8.16 Comment elementThe TransactionManagement_BTP_CPP_Ext element contains zero or more Comment elements, the form of which is taken directly from CPPA base specification [ebCPPA]. The Comment element is a textual note that can be added to serve any purpose the author desires, but it is intended to provide a means for providing plain language notes appertaining to this extension. The language of the Comment is identified by a REQUIRED xml:lang attribute. The xml:lang attribute MUST comply with the rules for identifying languages specified in [XML]. If multiple Comment elements are present, each can have a different xml:lang attribute value. An example of a Comment element follows:
<tp:Comment xml:lang="en-GB">This is an extension of the CPA between A and B</tp:Comment>
When a CPA is composed from two CPPs, it is recommended that all Comment elements from both CPPs are be included in the CPA unless the two Parties agree otherwise, and new comments may be added.
This element and its attribute are fully defined in the CPPA base specification [ebCPPA].
Transaction Management Extension (BTP) - Page 25 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
140141142836837
838
839840841842843844845846847848849850
851852853854855856
143144145
OASIS ebXML CPP/A Technical Committee 08/11/2002
9 CPA DefinitionA Collaboration-Protocol Agreement (CPA) defines the capabilities that two Parties need to agree upon to enable them to engage in electronic Business for the purposes of the particular CPA. This extension to the base CPP [ebCPPA] covers transaction management capabilities as provided by BTP [BTP] only.
This section defines and discusses the details of the extension to the CPA. The discussion is illustrated with some XML fragments.
Most of the XML elements in this section are described in detail in Section 8, "CPP Definition". In general, this section does not repeat that information. The discussions in this section are limited to those elements that are not in the CPP or for which additional discussion is needed in the CPA context. See also Appendix E for the XML Schema, and Appendix B for an example of a CPA document.
The TransactionManagement_BTP_CPA_Ext element of the CPA describes the Transaction management capabilities available through the use of the Business Transaction Protocol. It is an optional addition to the CPA and is only applicable when both systems the CPA refers to are BTP enabled.
9.1 CPA StructureFollowing is the overall structure of a CPA with the BTP transaction management extension included. Unless otherwise noted, CPA elements MUST be in the order shown here. Subsequent sections describe each of the extension elements in greater detail. (The elements and attributes of the base CPP are specified in the CPP/A base specification [ebCPPA].)
<CollaborationProtocolAgreement xmlns:tp=http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd xmlns:btpext="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-btp-ext-1_0.xsd" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:priC="http://www.private1.org/xml/priC.xsd" xmlns:priA="http://www.private1.org/xml/priA.xsd" xmlns:priB="http://www.private2.org/xml/priB.xsd" tp:cpaid="YoursAndMyCPA" tp:version="2.0c"> <tp:Status tp:value="proposed"/> <tp:Start>1988-04-07T18:39:09</Start> <tp:End>1990-04-07T18:40:00</End> <!-- ConversationConstraints MAY appear 0 or 1 time --> <tp:ConversationConstraints tp:invocationLimit="100" tp:concurrentConversations="4"/>
<tp:PartyInfo> <!-- one only for one party -->
Transaction Management Extension (BTP) - Page 26 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
146147148
857
858859860861862863864865866867868869870871872873874875876
877
878879880881882883884885886887888889890891892893894895896897898899900901902903904
149150151
OASIS ebXML CPP/A Technical Committee 08/11/2002
... </tp:PartyInfo>
<tp:PartyInfo><!-- one only for the other party --> ... </tp:PartyInfo>
<tp:SimplePart tp:id="..."> <!-- one or more --> ... </tp:SimplePart>
<tp:Packaging tp:id="..."> <!-- one or more --> ... </tp:Packaging>
<tp:Signature> <!-- zero or one --> ... </tp:Signature>
<btpext:TransactionManagement_BTP_CPA_Ext btpext:BTP_CPPA_Ext_version="1.0"> <!-- zero or one --><!—Common agreed properties -->
<btpext:BTPversion> <!-- zero or one --> ... </btpext:BTPversion>
<btpext:StandardBindings> <!-- one only of Standard or Non_Standard --> ... </btpext:StandardBindings>
<btpext:NonStandardBindings> ... </btpext:NonStandardBindings>
<btpext:TransactionTimeLimitRange> <!-- zero or one -->...</btpext:TransactionTimeLimitRange>
<btpext:InferiorTimeoutRange> <!-- zero or one --> ...</btpext:InferiorTimeoutRange>
<btpext:MinInferiorTimeoutRange> <!-- zero or one --> ... </btpext:MinInferiorTimeoutRange>
<!-- example extension to these BTP extensions to the CPP definition: -->
<priC:some-BTP_CPPA_extension" priC:must-be-understood="true"> <priC:My_Parameter1>24</priC:My_Parameter1></priC:some-BTP_CPPA_extension>
Transaction Management Extension (BTP) - Page 27 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
152153154905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960
155156157
OASIS ebXML CPP/A Technical Committee 08/11/2002
<btpext:PartyA_Properties"> <!-- one only -->
<btpext:ActorRole> <!-- one only --> ...</btpext:ActorRole>
<btpext:MessageTimeoutRange> <!-- zero or one --> ...</btpext:MessageTimeoutRange>
<btpext:StandardQualifiersSupported> <!-- zero or more --> ... </btpext:StandardQualifiersSupported>
<btpext:RecoveryCapable> ... <btpext:RecoveryCapable>
<priA:some-BTP_CPPA_extension" priA:must-be-understood="false"> <priA:My_Parameter1>20/4/48</priA:My_Parameter1></priA:some-BTP_CPPA_extension>
</btpext:PartyA_Properties">
<btpext:PartyB_Properties"> <!-- one only -->
<btpext:ActorRole> <!-- one only --> ...</btpext:ActorRole>
<btpext:MessageTimeoutRange> <!-- zero or one --> ...</btpext:MessageTimeoutRange>
<btpext:StandardQualifiersSupported> <!-- zero or more --> ... </btpext:StandardQualifiersSupported>
<btpext:RecoveryCapable> ... <btpext:RecoveryCapable>
</btpext:PartyB_Properties">
<priB:some-BTP_CPPA_extension" pri:Bmust-be-understood="true"> <priB:My_Parameter1>ABC6724</priB:My_Parameter1> <priB:My_Parameter2>ADBC624</priB:My_Parameter2></priB:some-BTP_CPPA_extension>
<tp:Comment xml:lang="aa-AA">
</tp:Comment>
</btpext:TransactionManagement_BTP_CPA_Ext>
Transaction Management Extension (BTP) - Page 28 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
158159160961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999
10001001100210031004100510061007100810091010101110121013101410151016
161162163
OASIS ebXML CPP/A Technical Committee 08/11/2002
<tp:Comment xml:lang="en-GB">any text</Comment> <!-- zero or more --></tp:CollaborationProtocolAgreement>
9.2 TransactionManagement_BTP_CPA_Ext elementThe TransactionManagement_BTP_CPA_Ext element is the enveloping element of the transaction management (BTP) extension to the CPA XML document.
The base CPA that this extension element becomes embedded into refers to a business process specification. This TransactionManagement_BTP_CPA_Ext shall be included if, and only if, at least one of these business process specifications requires transaction management and BTP support is included in the as a means of providing that transaction management.
The REQUIRED XML [XML] Namespace [XMLNS] additional declaration for the basic document is as follows:
The CPP/CPA BTP extension namespace: xmlns:btpext="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-btp-ext-1_0.xsd",
In addition, the TransactionManagement_BTP_CPA_Ext element contains a REQUIRED BTP_CPPA_Ext_version attribute that indicates the version of this extension. Its purpose is to identify the version of the schema that this CPP extension conforms to. The value of the version attribute SHOULD be a string such as "1_0", "1_0b", etc., which corresponds to the version of this specification used.
The TransactionManagement_BTP_CPA_Ext element SHALL consist of the following child elements:
One REQUIRED BTPversion element that identifies the version of the BTP specification the CPP extension relates to,
A choice of one StandardBindings element that indicates the standard binding supported (i.e. from those specified in the BTP specification), or one NonStandardBindings element that indicates the non-standard binding supported (i.e. a binding not specified in the BTP specification),
Zero or one TransactionTimeLimitRange element that contains the range of acceptable overall transaction timeout values,
Zero or one InferiorTimeoutRange element that contains the range of acceptable inferior timeout values,
Zero or one MinInferiorTimeoutRange element that contains the range of acceptable inferior timeout values that can be requested by a superior [BTP],
Zero or more BTP_CPPA_Extensions elements, which allow this extension to the CPA to be further extended according to the requirements of particular users.
[The above group of elements apply to both parties. The next group apply to one of the parties only designated as Party A.]
Transaction Management Extension (BTP) - Page 29 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
16416516610171018101910201021
1022
1023
10241025
1026102710281029
103010311032
10331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058
10601061
167168169
OASIS ebXML CPP/A Technical Committee 08/11/2002
One Party A enveloping element, Zero or more ActorRole elements that indicate the (BTP) roles that the system is capable
of, Zero or one MessageTimeoutRange element that contains the range of message timeout
values that can be applied, Zero or more StandardQualifiersSupported elements that indicate the standard qualifiers
that are supported, as specified in the BTP specification, Zero or more qualifiers elements that indicate any qualifiers, and their definitions, that
are supported, using the qualifier definition mechanism specified in the BTP specification,
One REQUIRED RecoveryCapable element, which is a Boolean that indicates whether recovery (as specified in the BTP specification) is supported or not,
Zero or more BTP_CPPA_Extensions elements, which allow this extension to the CPA to be further extended according to the requirements of particular users.
[The next group apply to one of the parties only designated as Party B.] One Party B enveloping element, Zero or more ActorRole elements that indicate the (BTP) roles that the system is capable
of, Zero or one MessageTimeoutRange element that contains the range of message timeout
values that can be applied, Zero or more StandardQualifiersSupported elements that indicate the standard qualifiers
that are supported, as specified in the BTP specification, Zero or more qualifiers elements that indicate any qualifiers, and their definitions, that
are supported, using the qualifier definition mechanism specified in the BTP specification,
One REQUIRED RecoveryCapable element, which is a Boolean that indicates whether recovery (as specified in the BTP specification) is supported or not,
Zero or more BTP_CPPA_Extensions elements, which allow this extension to the CPA to be further extended according to the requirements of particular users.
[The final element is applicable to this extension as a whole.] Zero or more Comment elements as in the base CPA specification, but applicable to this
extension.
So this extension to the CPPA is divided into three logical parts. The first part contains values that it has bee agreed apply to both parties to the CPA. The second part contains values that it has bee agreed apply to the party identified as party A and are included for the information of the party identified as party B. The third part contains values that it has bee agreed apply to the party identified as party B and are included for the information of the party identified as party A.
9.3 Elements common to both partiesThe BTPversion, StandardBindings, NonStandardBindings, TransactionTimeLimitRange, InferiorTimeoutRange, and MinInferiorTimeoutRange elements contain values that both parties have agreed to apply.
Transaction Management Extension (BTP) - Page 30 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
170171172
10621063106410651066106710681069107010711072107310741075
107710781079108010811082108310841085108610871088108910901091
1093109410951096109710981099110011011102
1103
110411051106
173174175
OASIS ebXML CPP/A Technical Committee 08/11/2002
The elements StandardBindings and NonStandardBindings are mutually exclusive in the CPA. Although several of each may be offered in a CPP, the single value in the CPA indicates the binding that has been agreed for use between the parties BTP implementation, when operating under this CPA.
9.4 Elements applicable to one party onlyThe elements PartyA_Properties and PartyB_Properties are used to envelope the elements and their values that apply to Party A only and Party B only, but that it is useful for the other party to be aware of. These vales will be used to configure their own respective systems. They may be (but do not have to be) utilised by the other party as well.
The ActorRole, MessageTimeoutRange, StandardQualifiersSupported, qualifiers, RecoveryCapable elements are the ones enveloped as illustrated in the following example XML fragments:
<btpext:PartyA_Properties">
<btpext:ActorRole>Composer\Superior</btpext:ActorRole> <btpext:ActorRole>Coordinator\Superior</btpext:ActorRole><btpext:MessageTimeoutRange> <btpext:MinTimeLimit>5</btpext:MinTimeLimit> <btpext:MaxTimeLimit>50</btpext:MaxTimeLimit> </btpext:MessageTimeoutRange> <btpext:StandardQualifiersSupported>Transaction_Time_Limit </btpext:StandardQualifiersSupported> <btpext:StandardQualifiersSupported>Inferior_Timeout </btpext:StandardQualifiersSupported> <btpext:StandardQualifiersASupported>Minimum_Inferior_Timeout </btpext:StandardQualifiersSupported> <btpext:StandardQualifiersSupported>Inferior_Name</btpext:StandardQualifiersSupported> <btpext:RecoveryCapable>true<btpext:RecoveryCapable>
</btpext:PartyA_Properties">
<btpext:PartyB_Properties">
<btpext:TransactionTimeLimitRange> <btpext:MinTimeLimit>100</btpext:MinTimeLimit> <btpext:MaxTimeLimit>1000</btpext:MaxTimeLimit> </btpext:TransactionTimeLimitRange> <btpext:InferiorTimeoutRange> <btpext:MinTimeLimit>10</btpext:MinTimeLimit> <btpext:MaxTimeLimit>100</btpext:MaxTimeLimit> </btpext:InferiorTimeoutRange> <btpext:MinInferiorTimeoutRange> <btpext:MinTimeLimit>5</btpext:MinTimeLimit> <btpext:MaxTimeLimit>20</btpext:MaxTimeLimit> </btpext:MinInferiorTimeoutRange>
Transaction Management Extension (BTP) - Page 31 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
176177178
110711081109111011111112
1113
111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158
179180181
OASIS ebXML CPP/A Technical Committee 08/11/2002
<btpext:ActorRole>Participant\Inferior+Enroller</btpext:ActorRole><btpext:MessageTimeoutRange> <btpext:MinTimeLimit>5</btpext:MinTimeLimit> <btpext:MaxTimeLimit>50</btpext:MaxTimeLimit> </btpext:MessageTimeoutRange> <btpext:StandardQualifiersSupported>Transaction_Time_Limit </btpext:StandardQualifiersSupported> <btpext:StandardQualifiersSupported>Inferior_Timeout </btpext:StandardQualifiersSupported> <btpext:StandardQualifiersSupported>Minimum_Inferior_Timeout </btpext:StandardQualifiersSupported><btpext:RecoveryCapable>false<btpext:RecoveryCapable></btpext:PartyB_Properties">
9.5 BTP_CPPA_Extensions elementThe BTP_CPPA_Extensions element is used to add further parameters to the TransactionManagement_BTP_CPA_Ext element that are required for configuration at one party or as shared values. It may be added to the common parameter group or the PartyA_Properties and PartyB_Properties groupings of elements. It is truly optional and thus may be absent altogether. For further description and information please refer to section 8.15.
9.6 Comment elementThe TransactionManagement_BTP_CPA_Ext element contains zero or more Comment elements placed at the end. See Section 8.16 for details of the syntax of the Comment element.
9.7 Composing a CPA from Two CPPsPlease refer to the base CPPA specification [ebCPPA] and the CPP/A Negotiation specification [ebCPPANeg] for the principles and practice of composing a CPA from two CPPs. The inclusion of the extensions specified in this specification should introduce no new issues of principle.
Transaction Management Extension (BTP) - Page 32 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
18218318411591160116111621163116411651166116711681169117011711172
1173
1174
117511761177117811791180
1181
118211831184
1185
11861187118811891190
185186187
OASIS ebXML CPP/A Technical Committee 08/11/2002
10 ReferencesSome references listed below specify functions for which specific XML definitions are provided in the CPP and CPA. Other specifications are referred to in this specification in the sense that they are represented by keywords for which the Parties to the CPA MAY obtain plug-ins or write custom support software but do not require specific XML element sets in the CPP and CPA.
In a few cases, the only available specification for a function is a proprietary specification. These are indicated by notes within the citations below.
[BTP] Business Transaction Protocol, OASIS Technical Committee Specification, version 1.0, June 2002, http://www.oasis-open.org/committees/business-transactions/.
[ebBPSS] ebXML Business Process Specification Schema, http://www.ebxml.org/specs/ebBPSS.pdf.
[ebCPPA] ebXML Collaboration-Protocol Profile and Agreement, version 2.0, OASIS Standard, http://www.oasis-open.org/committees/ebxml-cppa.
[ebCPPANeg] Automated Negotiation of Collaboration-Protocol Agreements Specification, version 1.0, http://www.oasis-open.org/committees/ebxml-cppa.
[RFC2119] Key Words for use in RFCs to Indicate Requirement Levels, Internet Engineering Task Force RFC 2119, http://www.ietf.org/rfc/rfc2119.txt.
[RFC2396] Uniform Resource Identifiers (URI): Generic Syntax, Internet Engineering Task Force RFC 2396, http://www.ietf.org/rfc/rfc2396.txt.
[XML] Extensible Markup Language (XML), World Wide Web Consortium, http://www.w3.org/XML.
[XMLNS] Namespaces in XML, Worldwide Web Consortium, http://www.w3.org/TR/REC-xml-names/.
[XMLSCHEMA-1] XML Schema Part 1: Structures, Worldwide Web Consortium, http://www.w3.org/TR/xmlschema-1/.
[XMLSCHEMA-2] XML Schema Part 2: Datatypes, Worldwide Web Consortium,http://www.w3.org/TR/xmlschema-2/.
Transaction Management Extension (BTP) - Page 33 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
188189190
1191
119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230
191192193
OASIS ebXML CPP/A Technical Committee 08/11/2002
11 ConformanceIn order to conform to this specification, an implementation:
a) SHALL support all the functional and interface requirements defined in this specification, b) SHALL NOT specify any requirements that would contradict or cause non-conformance
to this specification.
A conforming implementation SHALL satisfy the conformance requirements of the applicable parts of this specification.
An implementation of a tool or service that creates or maintains ebXML CPP or CPA instance documents SHALL be determined to be conformant by validation of the CPP or CPA instance documents, created or modified by said tool or service, against the XML Schema [XMLSCHEMA-1] definition of the CPP or CPA in Appendix E and available from
http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd
by using two or more validating XML Schema parsers that conform to the W3C XML Schema specifications [XMLSCHEMA-1, XMLSCHEMA-2].
The objective of conformance testing is to determine whether an implementation being tested conforms to the requirements stated in this specification. Conformance testing enables vendors to implement compatible and interoperable systems. Implementations and applications SHALL be tested using available test suites to verify their conformance to this specification.
Publicly available test suites from vendor neutral organizations such as OASIS and the U.S.A. National Institute of Science and Technology (NIST) SHOULD be used to verify the conformance of implementations, applications, and components claiming conformance to this specification. Open-source reference implementations might be available to allow vendors to test their products for interface compatibility, conformance, and interoperability.
Transaction Management Extension (BTP) - Page 34 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
194195196
1231
123212331234123512361237123812391240124112421243124412451246
12471248124912501251125212531254125512561257125812591260
197198199
OASIS ebXML CPP/A Technical Committee 08/11/2002
12 DisclaimerThe views and specification expressed in this document are those of the authors and are not necessarily those of their employers. The authors and their employers specifically disclaim responsibility for any problems arising from correct or incorrect implementation or use of this design.
Transaction Management Extension (BTP) - Page 35 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
200201202
1261
1262126312641265
203204205
OASIS ebXML CPP/A Technical Committee 08/11/2002
13 Contact Information Tony Fletcher (Author) Choreology Ltd 13 Austin Friars London EC2N 2JX UK Phone: +44 20 7670 1787 email: [email protected]
Dale W. Moberg (Author) Cyclone Commerce 8388 E. Hartford Drive Scottsdale, AZ 85255 USA Phone: 480-627-2648 email: [email protected]
Transaction Management Extension (BTP) - Page 36 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
206207208
1266
126712681269127012711272127312741275127612771278127912801281128212831284
209210211
OASIS ebXML CPP/A Technical Committee 08/11/2002
Notices
Portions of this document are copyright (c) 2001 OASIS and UN/CEFACT. Copyright (C) The Organization for the Advancement of Structured Information Standards [OASIS] 2002. All Rights Reserved.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to OASIS, except as needed for the purpose of developing OASIS specifications, in which case the procedures for copyrights defined in the OASIS Intellectual Property Rights document must be followed, or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS's procedures with respect to rights in OASIS specifications can be found at the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification, can be obtained from the OASIS Executive Director.
OASIS invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to implement this specification. Please address the information to the OASIS Executive Director.
OASIS has been notified of intellectual property rights claimed in regard to some or all of the contents of this specification. For more information consult the online list of claimed rights.
Transaction Management Extension (BTP) - Page 37 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
212213214
1285
128612871288
128912901291
1292129312941295129612971298129913001301130213031304130513061307130813091310
1311131213131314131513161317131813191320
1321132213231324
13251326
215216217
OASIS ebXML CPP/A Technical Committee 08/11/2002
Appendix A Example of CPP Document (Non-Normative)This example includes the outline of two CPPs that are used to form the CPA in Appendix B. The fu ll example CPPs without the Transaction Management extension added are to be found in Appendix A of the base specification [ebCPPA]. They are available as ASCII files at
http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-example-companyA-2_0b.xmlhttp://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-example-companyB-2_0b.xml
The examples below include the outline of the two CPPs that are used to form the CPA in Appendix B with missing items indicated by 3 vertical dots. The transaction management extension (BTP) element is shown in full. The full example CPPs including the Transaction Management extension are available as ASCII files at
cpp-example-companyA-2_0b.xml:
<?xml version="1.0"?><!-- Copyright UN/CEFACT and OASIS, 2001. All Rights Reserved. --><tp:CollaborationProtocolProfile xmlns:tp=http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd xmlns:btpext="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-btp-ext-1_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:priA="http://www.private1.org/xml/priA.xsd" xsi:schemaLocation="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd cpp-cpa-2_0.xsd" tp:cppid="uri:companyA-cpp" tp:version="2_0b"> <!-- Party info for CompanyA--> <tp:PartyInfo tp:partyName="CompanyA" tp:defaultMshChannelId="asyncChannelA1" tp:defaultMshPackageId="CompanyA_MshSignalPackage"> <tp:PartyId tp:type="urn:oasis:names:tc:ebxml-cppa:partyid-type:duns">123456789</tp:PartyId> <tp:PartyRef xlink:href="http://CompanyA.com/about.html"/> <tp:CollaborationRole> . . . </tp:CollaborationRole> <!-- Certificates used by the "Buyer" company --> <tp:Certificate tp:certId="CompanyA_AppCert"> . . . </tp:Certificate> . . . <tp:SecurityDetails tp:securityId="CompanyA_TransportSecurity"> . . . </tp:SecurityDetails> . . . <tp:DeliveryChannel tp:channelId="asyncChannelA1" tp:transportId="transportA2" tp:docExchangeId="docExchangeA1">
Transaction Management Extension (BTP) - Page 38 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
218219220
1327
1328132913301331133213331334133513361337133813391340
1341
1342134313441345134613471348134913501351
1352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388
221222223
OASIS ebXML CPP/A Technical Committee 08/11/2002
. . . </tp:DeliveryChannel> . . . <tp:Transport tp:transportId="transportA1"> . . . </tp:Transport> . . . <tp:DocExchange tp:docExchangeId="docExchangeA1"> . . . </tp:DocExchange> </tp:PartyInfo> <!-- SimplePart corresponding to the SOAP Envelope --> <tp:SimplePart tp:id="CompanyA_MsgHdr" tp:mimetype="text/xml"> . . . </tp:SimplePart> . . . <!-- An ebXML message with a SOAP Envelope only --> <tp:Packaging tp:id="CompanyA_MshSignalPackage"> . . . </tp:Packaging> . . .<btpext:TransactionManagement_BTP_CPP_Ext btpext:BTP_CPPA_Ext_version="1.0"> <btpext:BTPversion> 1.0 </btpext:BTPversion> <btpext:StandardBindings>XML_SOAP1_1_HTTP1_1</btpext:StandardBindings> <btpext:StandardBindings>XML_SOAP1_1_Attach_HTTP1_1</btpext:StandardBindings> <btpext:NonStandardBindings>Java_RMI</btpext:NonStandardBindings> <btpext:TransactionTimeLimitRange> <btpext:MinTimeLimit>100</btpext:MinTimeLimit> <btpext:MaxTimeLimit>1000</btpext:MaxTimeLimit> </btpext:TransactionTimeLimitRange> <btpext:InferiorTimeoutRange> <btpext:MinTimeLimit>10</btpext:MinTimeLimit> <btpext:MaxTimeLimit>100</btpext:MaxTimeLimit> </btpext:InferiorTimeoutRange> <btpext:MinInferiorTimeoutRange> <btpext:MinTimeLimit>5</btpext:MinTimeLimit> <btpext:MaxTimeLimit>20</btpext:MaxTimeLimit> </btpext:MinInferiorTimeoutRange> <btpext:ActorRole>Composer\Superior</btpext:ActorRole> <btpext:ActorRole>Coordinator\Superior</btpext:ActorRole> <btpext:FactoryDefaultAddress> <btp:binding-name>soap-http-1</btp:binding-name> <btp:binding-address>200.34.5.1</btp:binding-address> <btp:additional-information>Alternative addresses available</btp:additional-information> </btpext:FactoryDefaultAddress> <btpext:MessageTimeoutRange> <btpext:MinTimeLimit>5</btpext:MinTimeLimit> <btpext:MaxTimeLimit>50</btpext:MaxTimeLimit> </btpext:MessageTimeoutRange> <btpext:StandardQualifiersSupported>Transaction_Time_Limit </btpext:StandardQualifiersSupported>
Transaction Management Extension (BTP) - Page 39 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
22422522613891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459
227228229
OASIS ebXML CPP/A Technical Committee 08/11/2002
<btpext:StandardQualifiersSupported>Inferior_Timeout </btpext:StandardQualifiersSupported> <btpext:StandardQualifiersSupported>Minimum_Inferior_Timeout </btpext:StandardQualifiersSupported> <btpext:StandardQualifiersSupported>Inferior_Name</btpext:StandardQualifiersSupported> <btpext:RecoveryCapable>true<btpext:RecoveryCapable>
<priA:some-BTP_CPPA_extension" priA:must-be-understood="false"> <priA:My_Parameter1>20/4/48</priA:My_Parameter1></priA:some-BTP_CPPA_extension>
<tp:Comment xml:lang="en-GB">Please e-mail if these values are not suitable. Use email; address [email protected] </tp:Comment></btpext:TransactionManagement_BTP_CPP_Ext>
<tp:Comment xml:lang="en-GB">Buyer's Collaboration Protocol Profile with BTP Transaction Management extension</tp:Comment></tp:CollaborationProtocolProfile>
cpp-example-companyB-2_0b.xml:
<?xml version="1.0"?><!-- Copyright UN/CEFACT and OASIS, 2001. All Rights Reserved. --><tp:CollaborationProtocolProfile xmlns:tp="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd" xmlns:btpext=http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-btp-ext-1_0.xsd xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:priB="http://www.private2.org/xml/priB.xsd" xsi:schemaLocation="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd cpp-cpa-2_0.xsd" tp:cppid="uri:companyB-cpp" tp:version="2_0b"> <!-- Party info for CompanyB--> <tp:PartyInfo tp:partyName="CompanyB" tp:defaultMshChannelId="asyncChannelB1" tp:defaultMshPackageId="CompanyB_MshSignalPackage"> <tp:PartyId tp:type="urn:oasis:names:tc:ebxml-cppa:partyid-type:duns">987654321</tp:PartyId> <tp:PartyRef xlink:type="simple" xlink:href="http://CompanyB.com/about.html"/> <tp:CollaborationRole> . . . </tp:CollaborationRole> <!-- Certificates used by the "Seller" company --> <tp:Certificate tp:certId="CompanyB_AppCert"> . . . </tp:Certificate> . . . <tp:SecurityDetails tp:securityId="CompanyB_TransportSecurity"> . . . </tp:SecurityDetails> . . . <tp:DeliveryChannel tp:channelId="asyncChannelB1" tp:transportId="transportB1" tp:docExchangeId="docExchangeB1"> . .
Transaction Management Extension (BTP) - Page 40 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
230231232146014611462146314641465
1466146714681469
1470147114721473
1474147514761477
147814791480
14811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530
233234235
OASIS ebXML CPP/A Technical Committee 08/11/2002
. </tp:DeliveryChannel> . . . <tp:Transport tp:transportId="transportB1"> . . . </tp:Transport> . . . <tp:DocExchange tp:docExchangeId="docExchangeB1"> . . . </tp:DocExchange> </tp:PartyInfo> <!-- SimplePart corresponding to the SOAP Envelope --> <tp:SimplePart tp:id="CompanyB_MsgHdr" tp:mimetype="text/xml"> . . . </tp:SimplePart> . . . <!-- An ebXML message with a SOAP Envelope only --> <tp:Packaging tp:id="CompanyB_MshSignalPackage"> . . . </tp:Packaging> . . .
<btpext:TransactionManagement_BTP_CPP_Ext btpext:BTP_CPPA_Ext_version="1.0"> <btpext:BTPversion> 1.0 </btpext:BTPversion> <btpext:StandardBindings>XML_SOAP1_1_HTTP1_1</btpext:StandardBindings> <btpext:StandardBindings>XML_SOAP1_1_Attach_HTTP1_1</btpext:StandardBindings><btpext:TransactionTimeLimitRange> <btpext:MinTimeLimit>200</btpext:MinTimeLimit> <btpext:MaxTimeLimit>2000</btpext:MaxTimeLimit> </btpext:TransactionTimeLimitRange> <btpext:InferiorTimeoutRange> <btpext:MinTimeLimit>20</btpext:MinTimeLimit> <btpext:MaxTimeLimit>50</btpext:MaxTimeLimit> </btpext:InferiorTimeoutRange> <btpext:MinInferiorTimeoutRange> <btpext:MinTimeLimit>10</btpext:MinTimeLimit> <btpext:MaxTimeLimit>20</btpext:MaxTimeLimit> </btpext:MinInferiorTimeoutRange> <btpext:ActorRole>Participant\Inferior+Enroller</btpext:ActorRole> <btpext:FactoryDefaultAddress> <btp:binding-name>soap-attachments-http-1</btp:binding-name> <btp:binding-address>220.12.50.11</btp:binding-address> <btp:additional-information>Alternative addresses available</btp:additional-information> </btpext:FactoryDefaultAddress> <btpext:MessageTimeoutRange> <btpext:MinTimeLimit>5</btpext:MinTimeLimit> <btpext:MaxTimeLimit>50</btpext:MaxTimeLimit> </btpext:MessageTimeoutRange> <btpext:StandardQualifiersSupported>Transaction_Time_Limit </btpext:StandardQualifiersSupported> <btpext:StandardQualifiersSupported>Inferior_Timeout </btpext:StandardQualifiersSupported> <btpext:StandardQualifiersSupported>Minimum_Inferior_Timeout
Transaction Management Extension (BTP) - Page 41 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
236237238153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569
15701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601
239240241
OASIS ebXML CPP/A Technical Committee 08/11/2002
</btpext:StandardQualifiersSupported><btpext:RecoveryCapable>false<btpext:RecoveryCapable>
<priB:some-BTP_CPPA_extension" priB:must-be-understood="false"> <priB:My_Parameter1>ABC6724</priB:My_Parameter1> <priB:My_Parameter2>ADBC624</priB:My_Parameter2></priB:some-BTP_CPPA_extension>
<tp:Comment xml:lang="en-US">Please e-mail if these values are not suitable. Use email; address [email protected] </tp:Comment></btpext:TransactionManagement_BTP_CPP_Ext>
<tp:Comment xml:lang="en-US">Seller's Collaboration Protocol Profile with BTP Transaction Management extension </tp:Comment></tp:CollaborationProtocolProfile>
Transaction Management Extension (BTP) - Page 42 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
24224324416021603
16041605160616071608
1609161016111612
1613161416151616
1617
245246247
OASIS ebXML CPP/A Technical Committee 08/11/2002
Appendix B Example of CPA Document (Non-Normative)The example in this appendix is to be parsed with an XML Schema parser. The schema is available as an ASCII file at URL
The example that can be parsed with the XSD is available athttp://www.oasis-open.org/committees/ebxml-cppa/schema/cpa-example-2_0b.xml
This example is the outline of one possibility for a CPA formed from the two CPPs in Appendix A. The full example CPA without the Transaction Management extension added are to be found in Appendix B of the base specification [ebCPPA]. It is are available as ASCII files at
http://www.oasis-open.org/committees/ebxml-cppa/schema/cpa-example-2_0b.xml
The example below includes the outline of the CPA with missing items indicated by 3 vertical dots. The transaction management extension (BTP) element is shown in full. The full example CPA including the Transaction Management extension are available as an ASCII file at:
<?xml version="1.0"?><!-- Copyright UN/CEFACT and OASIS, 2001. All Rights Reserved. --><tp:CollaborationProtocolAgreement xmlns:tp="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd" xmlns:btpext="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-btp-ext-1_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:priC="http://www.private1.org/xml/priC.xsd" xmlns:priA="http://www.private1.org/xml/priA.xsd" xmlns:priB="http://www.private2.org/xml/priB.xsd" xsi:schemaLocation="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd cpp-cpa-2_0.xsd" tp:cpaid="uri:companyA-and-companyB-cpa" tp:version="2_0b"> <tp:Status tp:value="proposed"/> <tp:Start>2001-05-20T07:21:00Z</tp:Start> <tp:End>2002-05-20T07:21:00Z</tp:End> <tp:ConversationConstraints tp:invocationLimit="100" tp:concurrentConversations="10"/> <!-- Party info for CompanyA --> <tp:PartyInfo tp:partyName="CompanyA" tp:defaultMshChannelId="asyncChannelA1" tp:defaultMshPackageId="CompanyA_MshSignalPackage"> <tp:PartyId tp:type="urn:oasis:names:tc:ebxml-cppa:partyid-type:duns">123456789</tp:PartyId> <tp:PartyRef xlink:href="http://CompanyA.com/about.html"/> <tp:CollaborationRole> . . . </tp:CollaborationRole> <!-- Certificates used by the "Buyer" company --> <tp:Certificate tp:certId="CompanyA_AppCert"> . . . </tp:Certificate>
Transaction Management Extension (BTP) - Page 43 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
248249250
1618
161916201621162216231624162516261627162816291630163116321633163416351636163716381639
1640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676
251252253
OASIS ebXML CPP/A Technical Committee 08/11/2002
. . . <tp:SecurityDetails tp:securityId="CompanyA_TransportSecurity"> . . . </tp:SecurityDetails> . . . <tp:DeliveryChannel tp:channelId="asyncChannelA1" tp:transportId="transportA1" tp:docExchangeId="docExchangeA1"> . . . </tp:DeliveryChannel> . . . <tp:Transport tp:transportId="transportA1"> . . . </tp:Transport> . . . <tp:DocExchange tp:docExchangeId="docExchangeA1"> . . . </tp:DocExchange> </tp:PartyInfo> <!-- Party info for CompanyB --> <tp:PartyInfo tp:partyName="CompanyB" tp:defaultMshChannelId="asyncChannelB1" tp:defaultMshPackageId="CompanyB_MshSignalPackage"> <tp:PartyId tp:type="urn:oasis:names:tc:ebxml-cppa:partyid-type:duns">987654321</tp:PartyId> <tp:PartyRef xlink:type="simple" xlink:href="http://CompanyB.com/about.html"/> <tp:CollaborationRole> . . . </tp:CollaborationRole> <!-- Certificates used by the "Seller" company --> <tp:Certificate tp:certId="CompanyB_AppCert"> . . . </tp:Certificate> . . . <tp:SecurityDetails tp:securityId="CompanyB_TransportSecurity"> . . . </tp:SecurityDetails> . . . <tp:DeliveryChannel tp:channelId="asyncChannelB1" tp:transportId="transportB1" tp:docExchangeId="docExchangeB1"> . .
Transaction Management Extension (BTP) - Page 44 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
25425525616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747
257258259
OASIS ebXML CPP/A Technical Committee 08/11/2002
. </tp:DeliveryChannel> . . . <tp:Transport tp:transportId="transportB1"> . . . </tp:Transport> . . . <tp:DocExchange tp:docExchangeId="docExchangeB1"> . . . </tp:DocExchange> </tp:PartyInfo> <!-- SimplePart corresponding to the SOAP Envelope --> <tp:SimplePart tp:id="CompanyA_MsgHdr" tp:mimetype="text/xml"> . . . </tp:SimplePart> . . . <!-- An ebXML message with a SOAP Envelope only --> <tp:Packaging tp:id="CompanyA_MshSignalPackage"> . . . </tp:Packaging> <tp:Packaging tp:id="CompanyB_MshSignalPackage"> . . . </tp:Packaging> . . .
<btpext:TransactionManagement_BTP_CPA_Ext btpext:BTP_CPPA_Ext_version="1.0">
<!—Common agreed properties -->
<btpext:BTPversion> 1.0 </btpext:BTPversion> <btpext:StandardBindings>XML_SOAP1_1_HTTP1_1</btpext:StandardBindings><btpext:TransactionTimeLimitRange> <btpext:MinTimeLimit>200</btpext:MinTimeLimit> <btpext:MaxTimeLimit>1000</btpext:MaxTimeLimit> </btpext:TransactionTimeLimitRange> <btpext:InferiorTimeoutRange> <btpext:MinTimeLimit>20</btpext:MinTimeLimit> <btpext:MaxTimeLimit>50</btpext:MaxTimeLimit> </btpext:InferiorTimeoutRange> <btpext:MinInferiorTimeoutRange> <btpext:MinTimeLimit>10</btpext:MinTimeLimit> <btpext:MaxTimeLimit>20</btpext:MaxTimeLimit> </btpext:MinInferiorTimeoutRange> <priC:some-BTP_CPPA_extension" priC:must-be-understood="true"> <priC:My_Parameter2>ADBC624</priB:My_Parameter2> </priC:some-BTP_CPPA_extension>
<btpext:PartyA_Properties">
Transaction Management Extension (BTP) - Page 45 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
2602612621748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793
17941795
17961797
179817991800180118021803180418051806180718081809181018111812181318141815
18161817
1818
263264265
OASIS ebXML CPP/A Technical Committee 08/11/2002
<btpext:ActorRole>Composer\Superior</btpext:ActorRole> <btpext:ActorRole>Coordinator\Superior</btpext:ActorRole><btpext:MessageTimeoutRange> <btpext:MinTimeLimit>5</btpext:MinTimeLimit> <btpext:MaxTimeLimit>50</btpext:MaxTimeLimit> </btpext:MessageTimeoutRange> <btpext:StandardQualifiersSupported>Transaction_Time_Limit </btpext:StandardQualifiersSupported> <btpext:StandardQualifiersSupported>Inferior_Timeout </btpext:StandardQualifiersSupported> <btpext:StandardQualifiersSupported>Minimum_Inferior_Timeout </btpext:StandardQualifiersSupported> <btpext:StandardQualifiersSupported>Inferior_Name</btpext:StandardQualifiersSupported> <btpext:RecoveryCapable>true<btpext:RecoveryCapable> <priA:some-BTP_CPPA_extension" priA:must-be-understood="false"> <priA:My_Parameter1>20/4/48</priA:My_Parameter1> </priA:some-BTP_CPPA_extension></btpext:PartyA_Properties">
<btpext:PartyB_Properties">
<btpext:TransactionTimeLimitRange> <btpext:MinTimeLimit>100</btpext:MinTimeLimit> <btpext:MaxTimeLimit>1000</btpext:MaxTimeLimit> </btpext:TransactionTimeLimitRange> <btpext:InferiorTimeoutRange> <btpext:MinTimeLimit>10</btpext:MinTimeLimit> <btpext:MaxTimeLimit>100</btpext:MaxTimeLimit> </btpext:InferiorTimeoutRange> <btpext:MinInferiorTimeoutRange> <btpext:MinTimeLimit>5</btpext:MinTimeLimit> <btpext:MaxTimeLimit>20</btpext:MaxTimeLimit> </btpext:MinInferiorTimeoutRange> <btpext:ActorRole>Participant\Inferior+Enroller</btpext:ActorRole><btpext:MessageTimeoutRange> <btpext:MinTimeLimit>5</btpext:MinTimeLimit> <btpext:MaxTimeLimit>50</btpext:MaxTimeLimit> </btpext:MessageTimeoutRange> <btpext:StandardQualifiersSupported>Transaction_Time_Limit </btpext:StandardQualifiersSupported> <btpext:StandardQualifiersSupported>Inferior_Timeout </btpext:StandardQualifiersSupported> <btpext:StandardQualifiersSupported>Minimum_Inferior_Timeout </btpext:StandardQualifiersSupported> <btpext:RecoveryCapable>false<btpext:RecoveryCapable> <priB:some-BTP_CPPA_extension" priB:must-be-understood="true"> <priB:My_Parameter1>ABC6724</priB:My_Parameter1> <priB:My_Parameter2>ADBC624</priB:My_Parameter2> </priB:some-BTP_CPPA_extension></btpext:PartyB_Properties">
<tp:Comment xml:lang="en-GB">This extension has been agreed for use </tp:Comment></btpext:TransactionManagement_BTP_CPA_Ext>
<tp:Comment xml:lang="en-US">buy\sell agreement between CompanyA.com and CompanyB.com with BTP Transaction Management extension </tp:Comment></tp:CollaborationProtocolAgreement>
Transaction Management Extension (BTP) - Page 46 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
266267268181918201821182218231824182518261827182818291830183118321833183418351836
18371838
183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868
186918701871
18721873187418751876
18771878
269270271
OASIS ebXML CPP/A Technical Committee 08/11/2002
Appendix C Requirements on this BTP Transaction Management extension
1) Use BTP, or not.
2) Editions of BTP supported (for CPP), edition of BTP agreed to be used.
3) Actors / roles that can be assumed (for CPP) – single actor/role for CPAValues: Composer\Superior, Composer\Decider, Coordinator\Superior, Coordinator\Decider, Participant\Inferior+Enroller, Sub-Composer\Superior, Sub-Composer\Inferior, Sub-Coordinator\Superior, Sub-Coordinator\Inferior, Initator+Terminator, Factory.
4) Address of default Factory.
5) Bindings offered for CPP – binding to be used for CPA.Values:
In BTP standard: XML\SOAP1.1(messages)\HTTP1.1;XML\SOAP1.1 with attachments (messages)\HTTP1.1; (only two for the present, more may be added later)
Not in BTP standard: For example Java RMI; (others to be added as companies provide)
6) Default timeout / time limit value ranges acceptable.Value ranges for: transaction time limit
Inferior timeoutMinimum inferior timeout
(Note: default value to apply if none given in the business process / collaboration. The normal value used should come from the Business process specification.)
7) Standard Qualifiers supported:Values: Transaction time limit
Inferior timeoutMinimum inferior timeoutInferior name
(more may be added in future editions of the BTP specification)
8) Proprietary Qualifiers supported (if any).
9) Timeout before resending a message when the expected response message is received and the number of times the message is resent before taking alternative action.
10) Failure recovery capability (separate CPP/A for failure recovery interactions?)
Note: Security for the BTP interactions has not been specified yet.
Issue 1: Have CPP/A that covers business application and BTP interactions, or separate ones for business application (just stating BTP to be used and pointing to separate CPP/A for BTP interactions) and BTP interactions?
Issue 2: Have a separate CPP/A that covers failure recovery interactions?
Transaction Management Extension (BTP) - Page 47 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
272273274
18791880
1881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929
275276277
OASIS ebXML CPP/A Technical Committee 08/11/2002
Appendix D Scenarios (Non-Normative)
Initiatingapplication
BTPengine
System A
InternalAPI
Respondingapplication
BTPengine
System B
InternalAPI
Application protocol+ some BTP
BT Outcome protocol
CPP_A1
CPP_A2
CPP_B1
CPP_B2
CPA_1
CPA_2
Figure 1 Minimal BTP enabled distributed application - two systems
Initiatingapplication
BTPengine
System A
InternalAPI
Respondingapplication
BTPengine
System B
InternalAPI
Application protocol+ BTP
CPP CPPCPA
Figure 2 Minimal BTP enabled distributed application - two systems with ‘one-wire’ optimisation
Transaction Management Extension (BTP) - Page 48 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
278279280
1930
1931
19321933193419351936
193719381939194019411942
281282283
OASIS ebXML CPP/A Technical Committee 08/11/2002
Initiatingapplication
BTPengine
applicationBTPengine
applicationBTPengine
applicationBTPengine
. . . .
CPP CPP
CPP CPP
CPPCPP
CPA(BTP)
CPA (App + BTP)
CPP CPPCPP CPP
CPPCPP
CPA(BTP) CPA
(BTP)CPA (App + BTP)
CPA(App+ BTP)
BTP Controlor Outcome
protocol
BTP Outcomeprotocol
Applicationprotocol
Figure 3 Example tree structure BTP enabled distributed application - many systems
Initiatingapplication
BTPengine
BTPengine
applicationBTPengine
CPP CPP
CPP
CPA(BTP)
CPA
CPPCPP
CPP
CPA(App + BTP)
BTP Outcomeprotocol
BTP Controlor Outcome
protocolApplication
protocol
Figure 4 Example of the use of a (sub-) coordinator or (sub-) composer
Transaction Management Extension (BTP) - Page 49 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
284285286
19431944194519461947
194819491950
19511952
287288289
OASIS ebXML CPP/A Technical Committee 08/11/2002
Appendix E W3C XML Schema Document Corresponding to Complete CPP and CPA Transaction Management (BTP) extension Definition (Normative)
This XML Schema document is available as an ASCII file at: URL
Add to the CPP - CPPA base schema the abstract element ‘CPPA-extensions’ as a top-level element.
<!— CPP and CPPA Extensions -->
<complexType name="cppa-extension-type"> <complexContent mixed="true"> <restriction base="anyType"> <sequence> <any processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </sequence> <attribute name="must-be-understood" type="boolean" default="true"/> </restriction> </complexContent> </complexType> <element name="CPPA-extension" type="cppa:cppa-extension-type" abstract="true"/> <element name="CPPA-extensions"> <complexType> <sequence> <element ref="cppa:CPPA-extension" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> </element>
<!-- example CPP / CPA extension definition: <element name="some-extension" type="some-extension-type" substitutionGroup="cppa:CPPA-extension"/> -->
<?xml version="1.0" encoding="UTF-8"?><!-- This is the schema that corresponds to the version 1.0 Transaction Management (BTP) CPP/A extension --><!-- Some parsers may require explicit declaration of 'xmlns:xml="http://www.w3.org/XML/1998/namespace"'. In that case, a copy of this schema augmented with the above declaration should be cached and used for the purpose of schema validation for CPPs and CPAs. -->
<schema targetNamespace="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-btp-ext-1_0.xsd" xmlns:btpext="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-btp-ext-1_0.xsd" xmlns:cppa="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd" xmlns:btp="urn:oasis:names:tc:BTP:1.0:core" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified" version="1_0">
<import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://www.oasis-open.org/committees/ebxml-msg/schema/xlink.xsd"/>
<import
Transaction Management Extension (BTP) - Page 50 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
290291292
195319541955
195619571958195919601961
19621963
196419651966196719681969197019711972197319741975197619771978197919801981198219831984
19851986198719881989
1990199119921993199419951996199719981999
2000200120022003200420052006200720082009
2010201120122013
20142015
293294295
OASIS ebXML CPP/A Technical Committee 08/11/2002
namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
<import namespace="urn:oasis:names:tc:BTP:1.0:core" schemaLocation="http://www.oasis-open.org/committees/business-transactions/xml/btp_core.xsd"/>
<import namespace="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd" schemaLocation="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd"/>
<!-- BTP Extension element definition -->
<element name="TransactionManagement_BTP_CPP_Ext" substitutionGroup="cppa:CPPA-extension"> <complexType> <complexContent> <extension base="cppa:cppa-extension-type"> <sequence> <element ref="btpext:BTPversion" maxOccurs="unbounded"/> <element ref="btpext:StandardBindings" minOccurs="0" maxOccurs="unbounded"/> <element ref="btpext:NonStandardBindings" minOccurs="0" maxOccurs="unbounded"/> <element ref="btpext:TransactionTimeLimitRange" minOccurs="0"/> <element ref="btpext:InferiorTimeoutRange" minOccurs="0"/> <element ref="btpext:MinInferiorTimeoutRange" minOccurs="0"/> <element ref="btpext:ActorRole" maxOccurs="unbounded"/> <element ref="btpext:FactoryDefaultAddress" minOccurs="0" maxOccurs="unbounded"/> <element ref="btpext:MessageTimeoutRange" minOccurs="0"/> <element ref="btpext:StandardQualifiersSupported" minOccurs="0" maxOccurs="unbounded"/> <element ref="btp:qualifiers" minOccurs="0" maxOccurs="unbounded"/> <element ref="btpext:RecoveryCapable"/> <element ref="btpext:BTP_CPPA_Extensions" minOccurs="0" maxOccurs="unbounded"/> <element ref="cppa:Comment" minOccurs="0" maxOccurs="unbounded"/> </sequence> <attribute ref="btpext:BTP_CPPA_Ext_version" use="required"/> </extension> </complexContent> </complexType> </element>
<element name="TransactionManagement_BTP_CPA_Ext" substitutionGroup="cppa:CPPA-extension"> <complexType> <complexContent> <extension base="cppa:cppa-extension-type"> <sequence>
<!-- Parameters common to both parties --> <element ref="btpext:BTPversion"/> <choice> <element ref="btpext:StandardBindings"/> <element ref="btpext:NonStandardBindings"/> </choice> <element ref="btpext:TransactionTimeLimitRange" minOccurs="0"/> <element ref="btpext:InferiorTimeoutRange" minOccurs="0"/> <element ref="btpext:MinInferiorTimeoutRange" minOccurs="0"/> <element ref="btpext:BTP_CPPA_Extensions" minOccurs="0" maxOccurs="unbounded"/>
<!-- Parameters for Party A --> <element name="PartyA_Properties"> <complexType> <sequence> <element ref="btpext:ActorRole" maxOccurs="unbounded"/> <element ref="btpext:MessageTimeoutRange" minOccurs="0"/> <element ref="btpext:StandardQualifiersSupported" minOccurs="0" maxOccurs="unbounded"/> <element ref="btp:qualifiers" minOccurs="0" maxOccurs="unbounded"/> <element ref="btpext:RecoveryCapable"/> <element ref="btpext:BTP_CPPA_Extensions" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> </element>
Transaction Management Extension (BTP) - Page 51 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
29629729820162017
20182019202020212022
2023202420252026
202720282029
20302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055
205620572058205920602061
20622063206420652066206720682069207020712072
20732074207520762077207820792080208120822083208420852086
299300301
OASIS ebXML CPP/A Technical Committee 08/11/2002
<!-- Parameters for Party B --> <element name="PartyB_Properties"> <complexType> <sequence> <element ref="btpext:ActorRole"/> <element ref="btpext:MessageTimeoutRange" minOccurs="0"/> <element ref="btpext:StandardQualifiersSupported" minOccurs="0" maxOccurs="unbounded"/> <element ref="btp:qualifiers" minOccurs="0" maxOccurs="unbounded"/> <element ref="btpext:RecoveryCapable"/> <element ref="btpext:BTP_CPPA_Extensions" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> </element>
<!-- Common comment for the BTP CPA extension --> <element ref="cppa:Comment" minOccurs="0" maxOccurs="unbounded"/> </sequence> <attribute ref="btpext:BTP_CPPA_Ext_version" use="required"/> </extension> </complexContent> </complexType> </element>
<!-- BTP Extension element attributes -->
<attribute name="BTP_CPPA_Ext_version" type="btpext:non-empty-string"/>
<!-- btpext:BTP_CPPA_Extensions element definition -->
<complexType name="BTP_CPPA_Extension-type"> <complexContent mixed="true"> <restriction base="anyType"> <sequence> <any processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </sequence> <attribute name="must-be-understood" type="boolean" default="true"/> </restriction> </complexContent> </complexType> <element name="BTP_CPPA_Extension" type="btpext:BTP_CPPA_Extension-type" abstract="true"/> <element name="BTP_CPPA_Extensions"> <complexType> <sequence> <element ref="btpext:BTP_CPPA_Extension" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> </element>
<!-- Example extension to these BTP extensions to the CPP definition to be included in a Transaction_Management BTP CPP or CPA extension schema: <element name="some-BTP_CPPA_extension" type="btpext:BTP_CPPA_Extension-type" substitutionGroup="btpext:BTP_CPPA_Extension"/>
See also section 8.15-->
<!-- Element definitions -->
<element name="BTPversion" type="btpext:non-empty-string"/>
<element name="ActorRole"> <simpleType> <restriction base="string"> <enumeration value="Composer\Superior"/>
Transaction Management Extension (BTP) - Page 52 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
30230330420872088208920902091209220932094209520962097209820992100
210121022103210421052106210721082109
211021112112
21132114
211521162117
211821192120212121222123212421252126212721282129213021312132213321342135213621372138
21392140214121422143214421452146214721482149
21502151
21522153215421552156
305306307
OASIS ebXML CPP/A Technical Committee 08/11/2002
<enumeration value="Composer\Decider"/> <enumeration value="Coordinator\Superior"/> <enumeration value="Coordinator\Decider"/> <enumeration value="Participant\Inferior+Enroller"/> <enumeration value="Sub-Composer\Superior"/> <enumeration value="Sub-Composer\Inferior"/> <enumeration value="Sub-Coordinator\Superior"/> <enumeration value="Sub-Coordinator\Inferior"/> <enumeration value="Initator+Terminator"/> <enumeration value="Factory"/> </restriction> </simpleType> </element>
<element name="FactoryDefaultAddress" type="btp:address"/>
<element name="StandardBindings"> <simpleType> <restriction base="string"> <enumeration value="XML_SOAP1_1_HTTP1_1"/> <enumeration value="XML_SOAP1_1_Attach_HTTP1_1"/> </restriction> </simpleType></element>
<element name="NonStandardBindings" type="btpext:non-empty-string"/>
<element name="TransactionTimeLimitRange" type="btpext:TimeRange"/>
<element name="InferiorTimeoutRange" type="btpext:TimeRange"/>
<element name="MinInferiorTimeoutRange" type="btpext:TimeRange"/>
<element name="MessageTimeoutRange" type="btpext:TimeRange"/>
<element name="MinTimeLimit" type="nonNegativeInteger"/> <!-- Time expressed in integer seconds -->
<element name="MaxTimeLimit" type="nonNegativeInteger"/> <!-- Time expressed in integer seconds -->
<element name="StandardQualifiersSupported"> <simpleType> <restriction base="string"> <enumeration value="Transaction_Time_Limit"/> <enumeration value="Inferior_Timeout"/> <enumeration value="Minimum_Inferior_Timeout"/> <enumeration value="Inferior_Name"/> </restriction> </simpleType></element>
<element name="RecoveryCapable" type="boolean"/>
<!-- Complex Type definitions -->
<complexType name="TimeRange"> <sequence> <element ref="btpext:MinTimeLimit"/> <element ref="btpext:MaxTimeLimit"/> <!-- Time expressed in integer seconds --> </sequence> </complexType>
<!-- Common Simple Type definitions -->
<simpleType name="non-empty-string"> <restriction base="string"> <minLength value="1"/>
Transaction Management Extension (BTP) - Page 53 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
3083093102157215821592160216121622163216421652166216721682169
21702171
217221732174217521762177217821792180
21812182
21832184
21852186
21872188
21892190
219121922193
219421952196
21972198219922002201220222032204220522062207
22082209
221022112212
22132214221522162217221822192220
222122222223
2224222522262227
311312313
OASIS ebXML CPP/A Technical Committee 08/11/2002
</restriction> </simpleType>
</schema>
Transaction Management Extension (BTP) - Page 54 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
31431531622282229
223022312232
223322342235
317318319
OASIS ebXML CPP/A Technical Committee 08/11/2002
Appendix F CPA Composition (Non-Normative)For techniques for composing a CPA please refer to the main CPP/CPA specification [ebCPPA] and the CPA Negotiation [ebCPPANeg] specification.
Transaction Management Extension (BTP) - Page 55 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
320321322
2236
22372238
323324325
OASIS ebXML CPP/A Technical Committee 08/11/2002
Appendix G Glossary of TermsGeneral terms applicable to CPPs and CPAs are to be found in the base specification [ebCPPA]. This appendix list those terms specific to this extension specification.
Term Definition
Transaction Management Extension (BTP) - Page 56 of 56Collaboration-Protocol Profile and Agreement Specification
Copyright © OASIS, 2002. All Rights Reserved
326327328
2239
224022412242
2243
329330331