Interface Between Private and Public PIPs

Typically, the interfaces between the private and public processes consist of two items:

  1. 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.
  2. 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 …/>

  • PrimaryDocument: document reference (Service Content of a Purchase Order)
  • PrivateCaller: IntegerProcess ID of private process
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.