Interface Between Private and Public PIPs
Typically, the interfaces between the private and public processes consist of two items:
- BPML (Business Process Modeling Language) Messages – BPML messages are used to communicate between BPML processes that implement the private or public RosettaNet processes. BPML messages contain references to RosettaNet business messages or status information. The communication works bidirectionally: Messages are sent from the private process to the public process and vice versa.
- Process Data Fields – If a private process spawns
a public process, additional bookkeeping information is passed through
the process data environment to the spawned process. A private process
has to implement a certain message protocol that is defined by the
public PIP. The message protocol defines:
- Message names
- Fields and structure of each message
- Values ranges or types of each field
- Sequence and direction of messages
Some examples for the different interfaces are described in the tables below:
Interface PIP3A7_Seller_Private / PIP3A7_V02.00_Seller:
Message Name in Process Data | Direction | Structure/Fields | Values: Types |
---|---|---|---|
RequestMessage | Private process -> Public process | <POUpdateNotification> <PrimaryDocument…/> </POUpdateNotification> <PrivateCaller …/> |
|
ProcessStatusMessage | Private process -> Public process | <ProcessStatus.../> | ProcessStatus: Boolean"true", if POUpdateNotification could be processed. "false", else |
FinalPIPStatusMessage | Public process -> Private process | <FinalPIPStatus..,/> | FinalPIPStatus: Boolean"true", if Acknowledgment for POUpdateNotificationMessage is received from the Buyer successfully. "false", else |
TP ProfileInformationProcess data | Private process -> Public process | <…/> | TP Profile for 3A7 |
Interface PIP3A7_V02.00_Buyer / PIP3A7_Buyer_Private:
Message Name in Process Data | Direction | Structure/Fields | Values: Types |
---|---|---|---|
POUpdateNotificationMessage | Public process -> Private process | <RequestMessage> <PrimaryDocument…/> </RequestMesage><Caller…/> |
PrimaryDocument: document reference (Service Content (SC) of a Purchase Order (PO)). Caller:IntegerProcess ID of public process |
PrivateResponseMessage | Private process -> Public process | [<POUpdateNotificationMessage> <PrimaryDocument…/></P OUpdateNotificationMessage>] |
PrimaryDocument: document reference (Service Content of a POUpdateNotificationMessage) |
FinalPIPStatusMessage | Public process -> Private process | <FinalPIPStatus.../> | FinalPIPStatus: Boolean"true", if Acknowledgment for PO UpdateNotification is sent to the Seller successfully. "false", else |
Example (PIP 3A7 Seller-Buyer Dialog)
The Seller sends a PurchaseOrderUpdateNotification Message to the Buyer. The bootstrapped business process of the Buyer system is kicked off when the message is received by the HTTP-Server. The bootstrapped business process initiates the de-enveloping of the business message and sends back an Acknowledgment Signal to inform the Seller that his or her message was received successfully. Then the business process passes the message to the PIP Dispatcher. The PIP Dispatcher decides whether a new PIP has to be started or the message should be passed to an existing public process.