The Content Assembly Mechanism (CAM) and SOA Data Service Layers by David RR Webber Published: July 2, 2007 (SOA Magazine Issue VIII: July/August 2007, © 2007)
As use of SOA systems expands the effort needed for integration of content transaction exchanges will become increasingly an inhibiting factor comparable to how legacy EDI systems reached a level of saturation in their traditional deployment niche. The danger is that the very success of SOA-enabled interfaces can threaten to overwhelm an organization’s ability to operate them, due to the fact that the cost of supporting and maintaining these interfaces can overshadow their potential return on investment.
The new OASIS Content Assembly Mechanism (CAM) templates standard provides significant technology advances that reduce and spread out data service integration burdens. Furthermore, by providing an open public standard the CAM approach enables industry domains and e-government initiatives to freely share formal business rule sets and transaction use patterns directly in machine processable formats.
For the business data analysts involved in SOA implementations the CAM documentation formats allow direct agreement between stakeholders on business rule details that are then directly applied in the SOA data services layer without requiring re-programming. Achieving a reduction in complexity and consistency in representation remains a continuing business challenge. In this article I explore the progress to date achieved with CAM and look at opportunities and scope for facilitating SOA data services and the various deployment models available.
# # # #
05.30.2007 "CAM: A Swiss Army knife for XML structures", Daniel Rubio, THE WEB SERVICES ADVISOR
Web services’ bread and butter consists primarily of exchanging XML structures between applications in order to fulfill interoperability requirements. Prior to such exchanges taking place, most XML data undergoes a series of steps that include validation and transformation, many of which are solved using staple XML approaches like Schemas, DTD’s, XPath and XSL. Up next we will explore yet another technique developed by OASIS which nicely complements many of the aforementioned procedures, its name: CAM (Content Assembly Mechanism) .
CAM’s primary objective is to define, compose and validate XML content through the use of specialized templates which allow the application of contextual business rules to any XML structure. Before we dig into what actually constitutes these contextual business rules and why they are useful, the first thing you should realize about CAM is that its rooted in the same principles as many other validating and transformation techniques you may already be familiar with — such as using XPath and structures similar to those of Schemas. So in this sense CAM is an easily digestible approach which doesn’t require starting a fresh new learning curve.
So what is a contextual business rule for XML? Its an elaborate piece of logic which can be applied to raw XML data prior to being used in an actual Web service or application. Such business rules can in turn be used to enforce a particular XML structure (validate) or transform XML fragments to fit a predetermined form. With that said, let’s take a closer look at some of these business rules, including their syntax, how they are declared in a CAM template and an actual XML structure using CAM. Listing 1.1 shows an XML document which makes use of CAM.