The GlobX System
Let's invent a business story from which we can create a sample SOA. This example isn't meant to be realistic; otherwise, you might spend the next months pondering the requirements. We need a simple story from which to draw our design.
Let's discuss the fictional case of Country-Wide Express (CWE), a courier company serving the USA. This company accepts shipping pickup requests over the Internet, so they already have a web front end, but they want to facilitate B2B electronic transactions. One of their imaginary customers is Euro-Ship, a partner of CWE that covers Western Europe. Euro-Ship doesn't have an electronic pickup request system, but they want to set one up because CWE made it a requirement that all partners connect in an SOA-type system (that is, if they want to remain partners).
CWE and Euro-Ship sit together in many meetings. It's decided that they'll call this system GlobX. They analyze their current ways of working and how they can collaborate in making GlobX a reality. They also decide to use web services to implement the system, as the two companies work with different platforms.
Soon the partners figure out that their different ways of working will cause problems:
CWE requires the person doing the shipping to provide a shipment number, and Euro-Ship wants to use a generated number.
The transactions in the SOA systems will also differ.
The tax-numbering schemes at the two companies are not the same.
CWE and Euro-Ship need systems that can be used directly from third-party companies, but also can be used to forward the vital shipping information to each other.