The Schema Composer
The Schema Composer is a versatile tool for quickly and easily defining a variety of formal schema from a model. Due to the unique nature of the Schema Composer, it is not necessary to use a profile or stereotyped elements when building the definition of an XSD (or other) document. This greatly enhances the re-usability of the underlying model and helps alleviate the complexity that arises when dealing directly with XSD or other element types and restrictions.
Many industries have worked hard over the last decade to define shared meta-models specific to their industry, and it is these models that now form the basis for contractual information sharing across organizations and across geographic borders. A typical usage scenario of the Schema Composer is in the creation of message definitions (schema) to exchange information between organizations, ensuring that such messages comply with the underlying meta-model that has been adopted by the involved parties.
When information is shared between organizations, it is frequently the case that only a subset of the full meta-model is required, but it is essential that what is shared conforms precisely to the agreed meta-model. In this case the Schema Composer is the perfect tool for deriving contractual schema based on sub-sets and restricted data sets that take a 'slice' through the meta-model as a whole.
The Schema Composer avoids the common 'pain points' of working with XSD and other schema languages directly:
- There is no need to create a relatively complex XSD model composed of specific XSD elements, in addition to your 'normal' business and data models, to define the required data, its associations and references, and any restrictions or conditions
- You do not need to understand how to use the XSD elements and apply the XSD naming rules and conventions to correctly construct such models; formatting and naming rules as specified by the supported standards are automatically taken care of
The Schema Composer greatly simplifies the process of creating standards compliant schema in a re-usable and accessible manner. In this illustration, you can see how a simple Class diagram is used as the source for the Schema Composer to generate XML Schema.
Schema Composer Demonstration
This series of images demonstrates how the schema composer can be used to generate a series of message schemas from a Class model.
Figure shows a Schema Composition for the Process Order domain in the Example model.
Design > Tools > Schema Composer > Open Schema Composer
The Schema Composer:
- Operates on a Class model rather than an XML schema profile
- Relieves you of the XSD-specific design and schema generation decisions, whilst still ensuring consistency across the profile
- Can operate on a generic Class model to provide generic XSD documents
- Is most useful when operating on industry standard Class models that have specific domain based meaning
- In most circumstances operates on a full model from which a subset of properties from selected Classes are drawn to build specific messages, to communicate only what is necessary for the information to send or request
- For standards such as NIEM, will generate a new sub-model as part of a broader NIEM compliant schema definition
Standards that the Schema Composer currently supports include:
- The Common Information Model (CIM)
- National Information Exchange Modeling (NIEM)
- United Nations Center for Trade Facilitation and Electronic Business (UN/CEFACT) Modeling Methodology (UMM), specifically the Naming and Design Rules (NDR) 2.1 and 3.0
- Universal Business Language (UBL), specifically the Naming and Design Rules (NDR) 3.0
The Schema Composer also helps you to build a definition of the same message using different formats such as:
In addition the Schema Composer
- Supports formats implemented using a custom Add-In that takes advantage of the Schema Composer automation interface
- Has built-in support for various serialization formats and styles used by different industry models
The Schema Composer is supported in the Corporate, Systems Engineering, Business and Software Engineering and Ultimate editions of Enterprise Architect