|
|
Overview of the ebXML Architectures
As noted in the first article in this series, ebXML started its work program with the overall solution and its high level architecture already decided. The task of the Architecture project team was therefore not to develop the architecture from a set of requirements, but to describe the chosen architecture (based on what the other project teams were doing) and flesh out its details. They had quite a difficult time doing this, evidenced by the fact that the Technical Architecture Specification was approved in February 2001, very near to the May 2001 completion of the ebXML work program. One of the main difficulties in describing the ebXML architecture is that, in conventional software architecture terms, there is not one ebXML architecture but instead there are two. One of these is the architecture for the software comprising the technical infrastructure, often referred to as a product architecture. The other is the architecture for performing systems analysis and development, often referred to as a process architecture. The Architecture Specification somewhat alludes to this in its "Recommended Modeling Methodology" section when discussing the Business Operational View and Functional Service View (two concepts taken from the ISO Open-EDI Reference Model). However, it does not explicitly identify two separate architectures.
The latest academic thinking about software architectures holds that six attributes are required to fully describe an architecture. These are:
The ebXML Architecture Specification does a fairly good job in defining the elements and interactions of the ebXML Architecture (although the picture is somewhat muddled by trying to describe the product and process architectures as a single architecture). It also offers fairly good rationale in several cases. However, it doesn't address patterns, constraints, or styles in any detail. The other technical specifications likewise give further detail on elements, interactions, and in some cases rationale, but also deal very little with patterns, constraints, and style. For that reason, I won't address those attributes either, but will limit the overview to elements and interactions. To keep this article fairly short, I also won't address rationale but direct the reader to the Architecture Specification and the other specifications. Let's look at the product architecture first, than the process architecture, then finally how they are related to each other. Product ArchitectureThe technical infrastructure is composed of the following major elements:
The ebXML infrastructure is modular and with few exceptions these infrastructure components may be used somewhat independently. They are therefore only loosely related. The elements of the infrastructure may interact with each other, but in most cases are not required to. The messaging services may be used completely independently, although a message header may contain a reference to a CPA. The CPA and CPP provide means to identify a Business Process Specification governing how the parties do business and parameters for using the ebXML messaging service, but these are both optional and are not required. The Business Process Specification may specify how services offered by the messaging service (such as signaling acknowledgments or requesting digital signatures) are used in the conduct of a business process, but these also are not required. The CPP, CPA, and Business Process Specifications may be stored in an ebXML compliant registry, but this is not required. An ebXML compliant Registry may store any type of object, including non-XML objects. However, all communications with the registry must use the ebXML messaging service. Process ArchitectureThe ebXML process architecture is based on UN/CEFACT's Unified Modeling Methodology (UMM) and it's Meta Model. UMM prescribes a specific way to perform business process and information modeling for electronic commerce using Unified Modeling Language (UML). The Meta Model specifies all of the items that must be produced from the analysis and describes their relationships. The Business Process Specification Schema, described in the product architecture, represents a subset of the information in the meta model. Ideally, it might be developed by going through the full UMM process. However, ebXML developed worksheets that enable analysts and perhaps even non-technical business people to document the information necessary for the BPSS without needing to follow the UMM. In addition, ebXML developed several other contributions related to analysis. The major ones are listed here.
The relationships between the business process components should be fairly obvious from these descriptions. The analysis worksheets draw on the catalog of common business processes and e-commerce patterns to develop a specification document that covers the essential set of data specified by the UMM meta model. The relationships of the core component specifications to each other are similar. However, the relationship between the BP work and the Core Components work is not so well developed. The only link is a mention that business documents exchanged as part of a business process are composed of "business information objects" that are themselves composed of other business information objects, domain components, or core components. Left unspecified in any great detail is exactly how context and core component extension relate to the top down business process analysis methodology of UMM. Even though a section of the BP Overview Technical Report deals with the relationship, it is still unclear. Specifically, it is unclear how a business information object differs from a core or domain component, since aggregate core and domain components, like business information objects, may also be composed of other core or domain components. The BP work seems inconsistent with the CC work on this point. The BP Overview also has an interesting statement that "The role of Context with respect to business process models has not been formally addressed by ebXML as it is out of scope for the ebXML effort." This raises more questions than it answers. I trust that these are areas that will be worked out as the BP and CC work are further developed by UN/CEFACT.
Similar to the modular nature of the technical infrastructure, the parts of the process architecture may be used independently. It is quite possible to develop XML schemas for business documents in a bottom up fashion strictly from core and domain components without doing any formal business process analysis. Conversely, it is also quite possible to generate XML document schemas from UML business process models using invented business information objects or objects from a source other than ebXML Core Components. The Interactions between Product and Process ArchitecturesIt should be apparent from the descriptions here that there is only one strong link between the process architecture and the product architecture. That link is the Business Process Specification Schema, which is a machine interpretable encoding of a business process. It is compliant with the UMM meta model, but does not necessarily need to be developed using the full UMM process. Instead, as noted above, it can be generated from a business process editor that implements the Business Process Analysis Worksheets. It is true that schema documents, core component descriptions, CPPs, and other such ebXML things may be hosted by an ebXML registry, but the ebXML registry was designed to host anything that can be encoded in a binary form and has little direct knowledge of ebXML artifacts.
Now that you have an overall understanding of what ebXML is, we have a foundation for taking a critical look at it. The next article will review how well ebXML achieved its primary goal of enabling interoperability.
July 19, 2001 © Michael C. Rawlins |
|
About | Services | Resources | Contact ©Rawlins EC Consulting 2007 |