Until now, we have talked about how a business process can be defined, how agreements set up the registry, and the messaging service. Let us see how they come together to realize the business collaboration scenario between Flute Bank and its stationery supplier, OfficeMin, which provides an online ordering service.
OfficeMin builds an ebXML-compliant application or buys an off-the-shelf product and implements the business process.
It then uploads its company profile and Collaboration-Protocol Profile to the ebXML registry. Together, they describe the business scenarios in XML and associated messages the company is able to engage in.
Flute Bank wants to engage in business with OfficeMin. It queries the ebXML registry-repository and retrieves OfficeMin's Collaboration-Protocol Profile.
Flute Bank saves its own profile and capabilities in the registry for OfficeMin or other partners to retrieve.
Flute Bank determines that it is able to execute a certain scenario (e.g., place a purchase order) with OfficeMin, but before engaging in that scenario, it submits a Collaboration-Protocol Agreement. This outlines the scenario it wants to use as well as certain transport- and security-related requirements.
OfficeMin accepts and agrees to the CPA.
Based on the scenarios it retrieved, Flute Bank implements its end of the system (e.g., the application to send purchase orders and process returned invoices).
Flute Bank and OfficeMin engage in business.
Figure 7.16 shows a simplified version of these interaction steps, without return arrows. For example, step 2 has an associated return, where the registry validates the data and sends a reply (either synchronously or asynchronously) acknowledging the data.