The CPPA3 package provides a collection of open source Python modules to process OASIS ebCore CPPA3 documents and related functionality. CPPA3 is the version 3 of the ebXML Collaboration Protocol Profile and Agreement specification, currently under development.
A CPP is an XML document representing a party’s sending and receiving technical and business collaboration capabilities. A CPA is an XML document representing the agreed collaboration parameters of two parties. A CPA can be used to configure B2B messaging systems to exchange messages between two parties using the agreed settings.The OASIS ebCore Technical Committee (ebXML Core) is maintaining and enhancing the CPPA3 specification. The development of this package tracks the development of the draft ebCore CPPA3 schema and specification. This release of the package is compatible with the draft version 2016_02_17. That version supports various B2B messaging protocols:
- ebMS 3.0 Core,
- parts of the ebMS 3.0 Part 2 Advanced Features specification,
- ebMS 2.0,
- and the AS1, AS2 and AS3 IETF EDIINT specifications.
- unify.py provides functionality to fully automatically form a CPA from two CPPs.
- pmode.py provides functionality to generate a (set of) P-Modes from a CPA in a JSON notation that follows (as closely as possible) the dotted string notation used in the OASIS specification.
pip install cppa3
This will also install any required packages you may not yet have on your system.
The full package from PyPi also includes a growing number (currently 146) of tests, including sample CPPs, derived CPAs and derived PModes. You can run the tests using the command: python setup.py test
The main purpose of the library is to support the development of the CPPA3 schema and specification, and to support some user communities. On top of the library a lot of interesting functionality can be implemented quite easily. More on some of that work is to follow in future posts. In the mean time, any questions or comments are welcome ...