HOME

TheInfoList



OR:

Content Assembly Mechanism (CAM)Standard defined in http://docs.oasis-open.org/cam/ is an
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
-based standard for creating and managing information exchanges that are
interoperable Interoperability is a characteristic of a product or system to work with other products or systems. While the term was initially defined for information technology or systems engineering services to allow for information exchange, a broader defi ...
and
deterministic Determinism is a philosophical view, where all events are determined completely by previously existing causes. Deterministic theories throughout the history of philosophy have developed from diverse and sometimes overlapping motives and consi ...
descriptions of machine-processable information content flows into and out of XML structures. CAM is a product of the
OASIS In ecology, an oasis (; ) is a fertile area of a desert or semi-desert environment'ksar''with its surrounding feeding source, the palm grove, within a relational and circulatory nomadic system.” The location of oases has been of critical imp ...
Content Assembly Technical Committee. The CAM approach aligns with the National Information Exchange Model (
NIEM NIEM ( ) originated as an XML-based information exchange framework from the United States. NIEM also supports NIEM JSON exchanges. NIEM is currently developinthe NIEM Metamodel and Common Model Formatwhich can be expressed in any data serializati ...
) approach and assists with producing Information Exchange Package Documentation (IEPD). The camprocessor tools enable creation of realistic XML examples from XSD schema structure definitions. These XML samples simulate test cases for use in interoperability testing and determination of templates for use in actual business information exchanges. The single most important problem that CAM is solving is simpler and more reliable interoperability for business information exchanges. Today's electronic commerce via the internet is extremely limited in the amount of automation or integration that is occurring. The ability to share accurate concise and verifiable information exchange definitions is a critical next step in enabling easier and cheaper global commerce. CAM is emerging as the definitive standard underlying effective management of information exchanges through the critical mass being generated by the open source solution. A broad range of OASIS standard definitions are now being documented, validated and enhanced using the CAM open source toolset and approach. To date these include EDXL, CIQ, and EML. CAM use is also extending to external industry groups such as PESC, MISMO, STAR Automotive, CAQH and then for government uses including stratML, LEXS and NIEM. Each group faces the same challenges in promoting localizations of their overall standards in ways that can be quickly verified and adopted. Using CAM they are able to take their existing XSD schema work and rapidly develop localization templates, XML test cases, new subset schemas for use with web services and create re-usable want lists and content hints. In addition CAM templates are used to build domain dictionaries directly from the XSD schema definitions and then produce
cross-reference The term cross-reference (abbreviation: xref) can refer to either: * An instance within a document which refers to related information elsewhere in the same document. In both printed and online dictionaries cross-references are important because ...
spreadsheets for individual templates to the master dictionary definitions. All these capabilities are aimed at improving the quality and speed of implementation and interoperability using business information exchanges based on
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
.


History of CAM

The
OASIS In ecology, an oasis (; ) is a fertile area of a desert or semi-desert environment'ksar''with its surrounding feeding source, the palm grove, within a relational and circulatory nomadic system.” The location of oases has been of critical imp ...
Content Assembly Technical Committee (CAM TC), which met for the first time in January 2003, was chartered "to produce a specification of a generalized mechanism in XML whereby implementers can deliver the means to bring together business process context and the localized implementation business rules needed to take a raw industry standard schema instance and combine that with actual business information content, context and roles and produce a valid consistent XML document instance.

OASIS is developing specifications for business process mechanisms, industry standard schemas, registry systems, and schema mechanisms. The CAM specification will allow these four components to be brought together in a consistent and standard way and publish assembly implementation instructions based on these OASIS specifications. This will facilitate the work of industry groups and allow development of software tools that work consistently with all these specifications. The original work predating CAM was begun in the later days of the
ebXML Electronic Business using eXtensible Markup Language, commonly known as e-business XML, or ebXML (pronounced ee-bee-ex-em-el, 'bi,eks,em'el as it is typically referred to, is a family of XML based standards sponsored by OASIS and UN/CEFACT whose m ...
initiative as an offshoot of the ebXML Registry work. This working group was dubbed "BRIM" – Business Registry Interface Model and the focus was Registry content assembly services and content syntax storage specification
link to BRIM reference at CEFACT
In addition the BRIM work was also positioned to enable core component message assembly (CCMA) for business processes. The work was moved into OASIS at the end of 2002 to better facilitate the necessary XML development. Implementations and deployments of CAM V1.1 are in progress as of this writing (January-2009) including open source solutions using
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
and
XSLT XSLT (Extensible Stylesheet Language Transformations) is a language originally designed for transforming XML documents into other XML documents, or other formats such as HTML for web pages, plain text or XSL Formatting Objects, which may subseque ...
.


Versions of CAM

* CAM 1.1 was adopted as an OASIS Standard in June 2007. * Current work is continuing on refining and extending toward a new V1.5 release in 2009 mainly focusing on clarifications, corrections and limited extensions. The core role of CAM remains the same – defining, composing and validating XML content. The CAM template syntax for scripting is designed to be obvious, human readable and declarative.


CAM building blocks

CAM is built upon a number of existing standards: ; Extensible Markup Language (XML): CAM templates are expressed in a standardized
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
; XML Schema: CAM provides an abstraction layer for XSD schema that makes manipulating and defining business information exchange templates significantly easier than using just XSD schema alone
XML Schema An XML schema is a description of a type of Extensible Markup Language, XML document, typically expressed in terms of constraints on the structure and content of documents of that type, above and beyond the basic syntactical constraints imposed ...
. ; XPath V2.0: CAM uses
XPath XPath (XML Path Language) is an expression language designed to support the query or transformation of XML documents. It was defined by the World Wide Web Consortium (W3C) and can be used to compute values (e.g., strings, numbers, or Boolean v ...
extensively for defining rules and path target expressions that are at the heart of the CAM validator processing. ; XSLT scripting: the existing open source solutions leverage
XSLT XSLT (Extensible Stylesheet Language Transformations) is a language originally designed for transforming XML documents into other XML documents, or other formats such as HTML for web pages, plain text or XSL Formatting Objects, which may subseque ...
extensively. ; electronic business XML(ebXML): core components and registry concepts developed for ebXML ( ISO15000) provide significant conceptual foundations to the CAM approach to content assembly.


CAM templates

A CAM ''template'' consists of four core sections. The header section, the structure section, and business rules section and the extensions section. These can be summarized in XML syntax as:
The purpose of the Header section is to declare properties and parameters for the CAM process to reference. The purpose of the AssemblyStructure section is to capture the required content structure or structures that are needed for the particular business information exchange. Once the assembly structure(s) have been defined, then the next step is to define the context rules that apply to that content. The technique used is to identify a part of the structure by pointing to it using an XPath target locator reference, and then also applying an assertion using one of the structure predicates provided for that purpose. There are two sections to these business context rules, default rules normally apply, and conditional rules that only apply if a particular rule block evaluates to true. Rules are expressed using XPath 2.0 syntax along with an additional set of structure predicates that CAM provides that simplify the control over the structure and its information content model. CAM function predicates include: excludeAttribute(), useAttribute() excludeElement(), useChoice() excludeTree(), useElement() makeOptional(), useTree() makeMandatory(), useAttributeByID() makeRepeatable(), useChoiceByID() setChoice(), useElementByID() setId(), useTreeByID() setLength(), startBlock() setLimit(), endBlock() setValue(), checkCondition() setDateMask(), makeRecursive() setStringMask(), setUID() setNumberMask(), restrictValues() datatype() or setDataType(), restrictValuesByUID() setRequired(), orderChildren() allowNulls(), setDefault() setNumberRange() The Extension section then allows for the definition of miscellaneous items such as code list values. For more details on the CAM template approach see the formal OASIS standard specificatio
OASIS CAM v1.1 standard


Canonical XML dictionaries

The CAM specification is being extended to include canonical XML dictionaries to support Content Assembly using blueprint templates and xslt expander tools. Examples of these include
NIEM NIEM ( ) originated as an XML-based information exchange framework from the United States. NIEM also supports NIEM JSON exchanges. NIEM is currently developinthe NIEM Metamodel and Common Model Formatwhich can be expressed in any data serializati ...
domain dictionaries and OASIS EDXL and EML dictionaries. For overview of these capabilities se
OASIS CAM Blueprints and Dictionaries Quick Guide


Schema models

The CAM template format also supports the generation of structure component models such as
UML The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system. The creation of UML was originally m ...
/ XMI and
mind maps The mind is the set of faculties responsible for all mental phenomena. Often the term is also identified with the phenomena themselves. These faculties include thought, imagination, memory, will, and sensation. They are responsible for various m ...
. This is achieved via a xslt transformation that renders the CAM template structure, rules and documentation components into the XMI or MM model formats.


References

* SDvCAM/strong>
David Webber David R.R. Webber (born 1955) is an Information technologist specializing in applications of XML, ebXML and EDI to standards-based information exchanges. He is a senior member of the ACM since 2007. David Webber is one of the originators of ...
et al., white paper ''White Paper on CAM v1.1 and XSD Schema V1.1 Insights'' OASIS Draft, 2008. Documen
link CAM white paper
* chematronvCAM/strong>
Rick Jelliffe Richard (Rick) Alan Jelliffe (born 1960) is an Australian programmer and standards activist (ISO, W3C, IETF), particularly associated with web standards, markup languages, internationalization and schema languages. He is the founder and Chief Tec ...
, August 2009, ''Comparison of Schematron v CAM'' O'Reilly Articl

* ncon/strong> Kateřina Opočenská,
Michal Kopecký Michal (; he, מיכל , gr, Μιχάλ) was, according to the first Book of Samuel, a princess of the United Kingdom of Israel; the younger daughter of King Saul, she was the first wife of David (), who later became king, first of Judah, ...
et al., ''Incox – A language for XML Integrity Constraints Description'' White Paper, Aachen, Germany, 200


External links


OASIS Content Assembly Mechanism Technical Committee

Cover Pages: Executive Overview of CAM

IBM Developer Works Article on the benefits of CAM

SOA Magazine article on CAM

Principle resource site for Java jCAM implementation of CAM

OASIS wiki resources site for CAM

Presentation at XML2008 on NIEM and CAM

March 2009 DEVX article "Taking XML Validation to the Next Level: Introducing CAM" by Michael Sorens
* National Information Exchange Model, 3rd party NIEM tools
SOA Magazine, July 2007 "The Content Assembly Mechanism (CAM) and SOA Data Service Layers"


* [https://books.google.com/books?id=GK7RnNWH81gC&lpg=PR2&ots=WjbKIEXBS_&dq=RuleML%20keynote&lr&pg=PA2#v=onepage&q=RuleML%20keynote&f=false RuleML 2010, proceedings of, "NIEM Canonical XML Dictionaries and Rule Engine Systems"]
RuleML 2013, "Rules and Policy based handling of XML"

CAMed (editor) and CAMV (validator) wiki page
{{OASIS Standards XML-based standards