The Content Assembly Mechanism specification provides an open XML based system for using business rules to define, validate and compose specific business documents from generalized schema elements, attributes and structures. A CAM rule set and document assembly template defines the specific business context, content requirement, and transactional function of a document. A CAM template must be capable of consistently reproducing documents that can successfully carry out the specific transactional function that they were designed for. CAM also provides the foundation for creating industry libraries and dictionaries of schema elements and business document structures to support business process needs.
1. Executive Overview
business
transaction
information
management
Why do Businesses Need CAM? The Issue of Context in Business
Today’ business interactions are
s Interchanges
becoming increasingly sophisticated, and the Particularly important is the ability of CAM
legal and social impacts more pronounced. It templates to enable the use of business
is no longer enough to simply exchange basic context. Knowing the context of any
information with few or no edits and checks information exchange is critical. For example a
involved. Further more to gain maximum seller may need to know such things as: is this
business advantage requires flexible shipment urgent, is this a preferred customer,
information flows that can react rapidly and do they need English or Spanish, what model
effectively to market changes and is the part for? Without context mistakes and
opportunities, not to mention formal service run-on costs rapidly ensue.
requirements between partners. Some
examples include: being able to adapt to cross- In automating information integration,
border shipment regulations to ensure timely knowing and defining context of use is the
deliveries, tracking of goods and services, single most pervasive and important factor.
ensuring appropriate delivery methods The older EDI systems however have no way
(refrigeration, fragile goods, perishable goods, to support dynamic context driven content
security of goods), through to parts and assembly whereas CAM provides this better
supplies meeting exacting engineering and than any other XML syntax system today. In
technical requirements to ensure the correct fact CAM templates work for both old EDI
part or service is provided. We need only to payloads and new XML based transaction
mention the recent Mad Cow disease event to structures.
realize how important all this may suddenly CAM provides a rich yet simple context
become, and then think about potential threats mechanism defined in XML syntax that
to supply chain providers in today’ volatile
s enables interactions to be tailored by
world to realize the degree of importance specifying the context parameters (as in the
accurate information now has. seller example above) and the appropriate
To address these needs information agreed control values they will contain. There
exchanges are moving to technical formats are also guidelines toward determining roles
using XML technology worldwide. However and methods to deduce what these appropriate
XML by itself is only a markup language, it was significant parameters should be. The concept
never intended to support exacting business here is “ surprises” which means that users
no
interchange definitions, rules and industry of CAM templates know exactly what to
vocabularies. To provide that extra level of expect, and why, from their business partners
robust information definition and exact control because they can inspect and agree to the
the Content Assembly Mechanism (CAM) has context parameters before hand.
been developed as an OASIS open This context mechanism is at the heart of
specification and toolset. Business users can why CAM is so effective. By allowing users to
quickly and easily use CAM templates to quantify what their context factors are
declaratively assert these missing business precisely, this removes the guess work from
rules and structural information requirements. business transaction exchanges between
2. Content Assembly Mechanism Executive Overview -2
partners and allows them to formulize their that can successfully carry out the specific
collaboration agreements exactly. It also transactional function that they were designed
makes re-use and identifying potential for. CAM also provides the foundation for
candidate CAM template models much easier. creating industry libraries and dictionaries
Simply knowing what the external parameters of schema elements and business document
are can instantly qualify if a template makes structures to support business process needs.
sense for a user and allow them to therefore The figure here shows a summary of the
select it. technical components that a CAM template
Relating to this is the further need in can contain. They can be used altogether or in
today’ interconnected world to be able to
s combination. The structure instance section is
leverage industry dictionaries of standard pre- required; the remaining four are optional, so a
defined information elements. CAM directly CAM template can be as simple or
supports the use of registries of industry sophisticated as the business needs dictate.
vocabulary definitions for content
can have more than one structure layout
references within business transactions.
Therefore information exchanges can be Combined XML
with instance can add inline rules directly
assembled from pre-built proven structure(s) into structure
industry components and structure
definitions. + Simple Declarative Statements
makeOptional()
By using CAM technology Business context rules excludeTree()
businesses can secure and dramatically +
item type="noun"
name="Agency/@AgencyID"
Content Reference rules
improve the quality and accuracy of their UIDReference="ukt000910"
information exchanges. The business + <conditional
expression="'//SupplierID' and
Data Validation rules
benefits then accrue thorough the ability lookup(value,'SGIRWSDL:sup
plierID_check')"
to handle more business partners + <MapRule output="type"
External Mapping rules
needs, more types of products, more input="Sales/Company/Yea
r/Qtr/Product@type"/>
sophisticated products, while shortening
the time to deploy by eliminating production
errors and making pre-production testing Next we describe how to use CAM with
simple and complete. typical production environments today such as
Having established the business needs, the Microsoft’ BizTalk™ Server and .NET
s
remaining questions concern what the required environments, or other transaction processing
software components to acquire CAM systems just as the Sun J2EE based
technology are, how do these work, how does environments.
that fit with your existing infrastructure, and Using CAM template processing
what is involved in adoption and
Integrating CAM processing into an
implementation?
existing environment is simple and
CAM Technology Overview straightforward. First you need to determine
The CAM specification provides an open what role or roles you wish CAM to perform. A
XML based system for using business rules to typical role for an initial adoption is using the
define, validate and compose specific business CAM processor to validate inbound XML
documents from generalized schema transactions in a processing queue based on
elements, attributes and structures. who the originating sender is and the context
of that transaction.
A CAM rule set and document assembly
template defines the specific business context, An incoming transaction is selected, its
content requirement, and transactional function profile referenced to find the appropriate CAM
of a document. A CAM template must be template type for that transaction, and then a
capable of consistently reproducing documents context parameter set file may also be
optionally selected from that senders profile.
3. Content Assembly Mechanism Executive Overview -3
The CAM processor then reads in the XML either case it is provided with parameters that
transaction, loads the CAM template and the point to the XML transaction to be processed
context value file (if provided) and then and the CAM template and context details that
validates the information and structure in the apply.
transaction by comparing the rules in the Another excellent role for CAM is as a
template with the information in the actual XML design time tool, allowing business partners to
transaction record(s). The figure here shows pre-validate sample business transactions
the steps involved in CAM processing. before they use them in production. Therefore
in this case you can provide CAM templates to
1 XML your partners so they can pre-test their own
CAM
Template
process transaction transaction implementations. In this case they
and content
compare would run the CAM processor locally on their
own systems, or remotely as a web service
+ 3
4
from your own network facilities.
2
Generates
actual XML The next role is in automated transaction
Context
Statements
instance processing systems such as a business
definition
to be used
process engine (BPEL or BPSS) and it may
CAM gets passed context from use a CAM processor to direct the creation or
business use 5
processing of business transactions for it. In
Results for
given
this case a step in the business process will
context and have a CAM template associated with it that
action
will be invoked. The CAM processor can then
produce the desired information processing for
Importantly CAM is able to handle very the business process engine.
specific structure variances and rules, such as Considering this business processing
knowing when a customer number or part type picture CAM processing can be used to
is needed or allowed depending on the type of assemble or re-format transactions either
item that is being ordered. All this is encoded outbound or inbound. This capability is
using simple and clear XML declarations in the enabled by the merge and mapping features of
CAM template itself. the CAM template. Since the CAM template
CAM can also do lookups of business allows you to specify more than one
information using the template lookup rule transaction structure, you may decide to have
mechanism. This can check information one structure for the information coming from
against backend application database your application databases and then another
information such as part numbers, stock on structure for the resulting output layout of the
hand and other volatile information that cannot transaction you require to send. In this case
be written as a static rule in the CAM template the CAM processor will determine the exact
itself. If CAM detects a problem it can direct layout structure dynamically by apply its
error responses accordingly, along with context assembly rules, including or excluding
appropriate error messages that have been structure pieces accordingly. For example if an
defined in the CAM template. This allows order contains perishable items, those items
highly specific and accurate problem reporting, require handling and storage instructions to be
rather than vague and non-specific reactions to added to the transaction structure itself.
be returned back when a problem is Once the target structure is assembled,
encountered. then the CAM processor will complete the
The CAM processor itself is a self- transaction itself by merging and manipulating
contained component that can either be called the information from the raw input data
directly by the existing transaction processing structure. Again these rules are expressed as
software, or invoked as a web service. In simple declarations using XML syntax and
4. Content Assembly Mechanism Executive Overview -4
predicate commands within the CAM template Creating Industry Catalogues
itself.
Since CAM templates are just simple
Obtaining CAM processing XML files themselves they can also be readily
An open source CAM processor is and easily shared within an industry group or a
available that supports validating transactions business enterprise. They can be stored into
with a CAM template. The CAM templates an XML Registry or traditional online
themselves can be created using any simple cataloguing system and then searched for and
XML text editing environment. The first thing located accordingly. Whole libraries of CAM
you require when constructing a CAM template templates can be built for popular and typical
is an actual XML model of the information industry transaction formats, such as the OAGi
structure you wish to manipulate. You can BOD formats that are used extensively by ERP
either enter this directly from scratch into the systems or financial CAM templates for
CAM template, in XML, or you can cut and common invoice and popular financial
paste an example from some XML that you are transaction structures. Users then simply
already using1. Many samples are available download the appropriate CAM template and
that serve as illustrations for various scenarios set their own CAM context variable values to
and industry transactions. customize it for their own use.
Since the CAM processor itself is Industry Dictionaries and Vocabularies
designed to be highly interactive with feedback Built into the CAM templates is the
messaging, this makes it also a good learning content referencing system. This allows
tool for staff creating their own CAM templates. developers to create libraries of pre-defined
The CAM specifications themselves also elements with characteristics, facets and
contain helpful samples and use guides business rules associated with them
throughout. There is also a CAM template automatically. These definitions can either be
model available in the commercial VisualScript specified directly in-line into the CAM template,
editing tool product that will automatically or can reside in an industry registry of terms
create a baseline CAM template. A 30 day and structures.
free trial version is available for those wanting
Additionally by using the content
to try this out.
referencing system the information crosswalk
Unlike complex XML syntax between different industry structures can be
approaches, CAM templates are designed to automatically deduced and documented.
be open and easy to read and build by hand
The content referencing system is very
for human designers. The target transaction
flexible and supports a wide variety of registry
structures are specified directly in XML itself.
interfaces directly. It also allows industry
This means no special knowledge is needed;
groups to use their existing dictionary elements
designers can simply type into the CAM
and code systems directly, without requiring
template the exact structure layout they wish to
invention of new codes or details. Best of all,
use. This is WYSIWYG for XML structures.
existing legacy transactions that are in use
Designers can also include sub- today can simply be upgraded and made CAM-
structures command that insert from pre-built aware without any changes to those wire
components too, allowing commonly used transaction formats themselves. By creating a
patterns to be made consistent across a range CAM template for any such transactions and
of content assembly structures. then completing the content reference section
this will automatically provide the crosswalk to
the industry dictionary definitions.
1
Note: a tutorial of the technical steps to create CAM When used in an environment where
templates is provided in the companion “CAM an industry dictionary is not readily available
Technology Overview” brochure available from the the content referencing system allows
OASIS CAM TC documents center.
5. Content Assembly Mechanism Executive Overview -5
developers to quickly construct that and • Information modelling analysts creating
classify those element details. dictionaries and vocabularies
Local language decoupling • Production managers running high volume
eBusiness hubs
A further huge benefit of the content • Mobile device engineers working with
referencing system is locale and language rendering content to small footprint displays
usage decoupling. Often XML • RFID engineers needing to link XML to
implementations become mired in arguments physical characteristics of items and build
relating to the exact XML tag names to use for
catalogues that can be automatically
content, and also the information content itself referenced
requires localization into another language.
• Consultants advising customers on optimal
This often involves conflicts around the use of
ways to deploy XML technologies.
elements or attributes or both within the XML
structure since XML itself does not provide you The following items next provide samples of
with a single consistent way to do this possible use case for CAM processing.
(attributes of attributes are not permitted, and A CAM processor can be deployed as a
elements cannot be enumerated and web service to allow business partners to pre-
tokenized). validate XML instances before using them in
The content reference system frees you message exchanges. By presenting an XML
from these constraints by allowing you to instance to the web service and selecting a
specify a reference code for an element or CAM template the partner can have returned a
attribute directly. You can therefore apply the detailed report about the results of the tests
rules you where you need them. Therefore the and their outcomes.
CAM processor can consistently apply rules Within industry standardization efforts CAM
and manipulations regardless of the actual templates can be used to capture all the
structure layout, element or attribute name design rules that apply to an industries use of
used. From the CAM perspective the elements XML structures. The CAM processor can then
<process_time/>, <Pdatetime/>, and provide a validation and conformance service.
<madewhen/> are all functionally identical Industry groups can also create CAM
when they all have the same content reference templates to document older legacy
identifier associated with them. transaction formats and provide XML based
By providing the locale language semantics and usage rules for those.
definitions or these items as well, then you When integrating with E-Forms systems
have the ability to read in codes in one the CAM processor can be used in a variety of
language and then output them directly to a modes. It could create forms given some input
different one. business transaction, or it could take the output
Who uses CAM templates? from a form entry process and then validate it
In this segment we provide examples of and re-structure the content and deliver it as a
a selection of our current audience set and business transaction.
people who are working with and uses of CAM In short the CAM processor can be used in
templates today: a variety of roles wherever manipulation or
validation of information content structures is
• Developers who are working with handling required.
XML transaction content
A Real World CAM Scenario
• Business analysts creating industry domain
transaction standards The original implementation of CAM by
• Engineers working on smart applications and British Telecomm (BT) in the UK is providing
agent applications with XML transaction validation against hundreds of
• Business process engineers defining trouble ticket message formats that BT
workflow interactions receives daily. These trouble ticket formats
6. Content Assembly Mechanism Executive Overview -6
used in the telecommunications industry are provide the basis for up to 50% of information
XML messages using the xCBL syntax flowing in legacy EDI transactions. Industry
approach and are highly complex XML groups define extensive code lists for the
structures. The information carried in them is products and services used by their members.
highly variable and differs according to the Yet the W3C XML schema system does not
originators own telecommunications switches support code list definitions directly. Therefore
and configuration details. The message CAM provides a key capability with its built-in
details change frequently every three to four lookup () functionality.
months as new services and products are
introduced and provisioned in response to Industry initiatives today have created
demands from highly dynamic and technology dictionaries of their nouns (elements) and
driven markets within the industry. verbs and labelled them with reference codes.
They have also provided classifications and
Managing these structures and formats
taxonomies for these as in the case of UDEF
takes significant manpower and especially to
particularly. By allowing these industry groups
detect when solution partners have made
to load their dictionaries into XML instances in
changes to their transactions and details
a registry the CAM approach unlocks the
without first notifying the systems connected to
potential of these dictionaries to effect
them. This may also happen inadvertently
significant improvements in interoperability of
when new devices are installed in the field and
information in those industries.
they start producing new trouble ticket reports
automatically.
Providing the means to assemble consistent
Being able to direct and manage this transactions from pre-defined libraries of
implementation space using the XML scripts in structure components and also to create
the CAM templates significantly reduces this libraries of business process definitions that
maintenance burden and also allows changes can be context driven are key functionality that
to be implemented rapidly and easily. CAM delivers.
Partners can also begin to become
involved in the process themselves by By linking a CAM processor service to the
managing and maintaining the CAM template registry these industry groups can then allow
definitions that relate to their own production members to validate XML transactions against
systems and configurations. They can then the standard definitions in their registries or
share those templates with their partners when download CAM templates and associated
changes are about to be placed in production. business process definitions that they can use
directly in their own systems.
How Does CAM Work With or Compliment By combining CAM technology with a
Other Semantic Definition Initiatives (UDEF, registry in this way provides the foundation for
UBL, OAG, RosettaNet, HL7, STEP, eprXML) even more sophisticated semantics in the
The CAM technology has been designed future. Taxonomies and ontologies are
fundamentally to leverage dictionaries of noun emerging as ways for machines to understand
definitions and libraries of transaction formats more about knowledge in a way that today only
built from industry initiatives. By providing the humans are able to. Registries can provide
content reference section in the CAM template ontology and taxonomy driven search results.
the processor is able to automatically retrieve This allows agent software and human
semantics from industry registries about researchers to more effectively locate business
individual elements in a XML transaction. This transaction processes, such as CAM
allows consistent definitions to be deployed templates, and determine if they are suitable
across a set of industry business transactions. for the task they need.
It also includes the ability to version and sub-
version definitions. This is especially important
for the processing of code lists. Code lists
7. Content Assembly Mechanism Executive Overview -7
Enhancing the work of industry groups is a Contacts and Additional Information
significant benefit that CAM technology
The CAM technology is a product of the
delivers today.
OASIS Business Content Assembly
CAM can also be used in tandem with Mechanism Technical Committee. More
UML. UML does have a production rules details can be found from the specifications
system that can be used to output XML from and documents that the committee has
UML diagrams and it is anticipated that this produced. These include the latest CAM
can allow UML models to output partially specification, presentations introducing CAM,
complete CAM templates that can then be and examples of CAM templates. These and
hand-edited in XML to complete a full other documents can be obtained through the
information model. OASIS website at: www.oasis-open.org.
Perhaps one of the most exciting potential For more information on how to participate
uses for CAM is with the emerging OASIS in CAM activities, please see the membership
work on EPR (Electronic Process) links from the main OASIS web site or the
specifications for service oriented CAM TC area directly.
applications2. Since these are required to be
fully model driven, having the CAM templates
able to resolve dynamically through context
parameters the information exchange formats Content Assembly
allows designers of eprAPL (EPR Application) Mechanism Technical
solutions a rapid and consistent way of Committee
implementing these.
Chair: David Webber – drrwebber@acm.org
Summary
Reviewing what CAM represents and the
opportunities it opens up we find a range of
use cases; from sophisticated discreet tasks as
part of specific architectures such as ebXML
business processes or Service Oriented
Architectures environments, to simple local
document verification as a standalone
business tool.
The value of the CAM approach is in
managing context and business rules directly
and tying these to consistent information
semantics. The lesson learned is that
consistent information exchanges must include
context management. The result from this will
be to transform the ability of industry to deploy
successful and interoperable eBusiness
information exchanges simply and quickly.
2
For more information on the EPR work and the
eprXML and eprAPL components – please see the
OASIS BCM TC area at http://oasis-open.org