Content Assembly Mechanism ( CAM ) [1] es un estándar basado en XML para crear y gestionar intercambios de información que son interoperables y descripciones deterministas de los flujos de contenido de información procesable por máquina hacia y desde estructuras XML. CAM es un producto del Comité Técnico de la Asamblea de Contenidos de OASIS .
El enfoque CAM se alinea con el enfoque del Modelo Nacional de Intercambio de Información ( NIEM ) y ayuda a producir la Documentación del Paquete de Intercambio de Información ( IEPD ).
Las herramientas de camprocessor permiten la creación de ejemplos XML realistas a partir de definiciones de estructura de esquema XSD. Estas muestras XML simulan casos de prueba para su uso en pruebas de interoperabilidad y determinación de plantillas para su uso en intercambios reales de información empresarial.
El problema más importante que está resolviendo CAM es una interoperabilidad más simple y confiable para los intercambios de información empresarial. El comercio electrónico actual a través de Internet es extremadamente limitado en cuanto a la cantidad de automatización o integración que se está produciendo. La capacidad de compartir definiciones de intercambio de información precisas, concisas y verificables es un próximo paso fundamental para permitir un comercio global más fácil y económico.
CAM está emergiendo como el estándar definitivo que subyace a la gestión eficaz de los intercambios de información a través de la masa crítica que genera la solución de código abierto. [ cita requerida ]
Ahora se está documentando, validando y mejorando una amplia gama de definiciones estándar de OASIS utilizando el conjunto de herramientas y el enfoque de código abierto CAM. Hasta la fecha, estos incluyen EDXL, CIQ y EML. El uso de CAM también se está extendiendo a grupos industriales externos como PESC, MISMO, STAR Automotive, CAQH y luego para usos gubernamentales, incluidos stratML, LEXS y NIEM.
Cada grupo se enfrenta a los mismos desafíos a la hora de promover la localización de sus estándares generales de manera que puedan verificarse y adoptarse rápidamente. Usando CAM, pueden tomar su trabajo de esquema XSD existente y desarrollar rápidamente plantillas de localización, casos de prueba XML, nuevos esquemas de subconjuntos para usar con servicios web y crear listas de deseos reutilizables y sugerencias de contenido. Además, las plantillas CAM se utilizan para crear diccionarios de dominio directamente a partir de las definiciones del esquema XSD y luego producir hojas de cálculo de referencias cruzadas para plantillas individuales con las definiciones del diccionario maestro.
Todas estas capacidades están destinadas a mejorar la calidad y la velocidad de implementación e interoperabilidad mediante intercambios de información empresarial basados en XML .
Historia de CAM
El Comité Técnico de la Asamblea de Contenidos de OASIS (CAM TC), que se reunió por primera vez en enero de 2003, fue creado "para producir una especificación de un mecanismo generalizado en XML mediante el cual los implementadores pueden brindar los medios para unir el contexto del proceso de negocios y la implementación localizada las reglas comerciales necesitaban tomar una instancia de esquema estándar de la industria sin procesar y combinarla con el contenido, el contexto y los roles de la información comercial real y producir una instancia de documento XML coherente y válida ". [1]
OASIS está desarrollando especificaciones para mecanismos de procesos comerciales, esquemas estándar de la industria, sistemas de registro y mecanismos de esquemas. La especificación CAM permitirá que estos cuatro componentes se unan de manera uniforme y estándar y publiquen las instrucciones de implementación del ensamblaje basadas en estas especificaciones OASIS. Esto facilitará el trabajo de los grupos de la industria y permitirá el desarrollo de herramientas de software que funcionen de manera coherente con todas estas especificaciones.
El trabajo original anterior a CAM se inició en los últimos días de la iniciativa ebXML como una rama del trabajo del Registro ebXML. Este grupo de trabajo se denominó "BRIM" - Modelo de interfaz de registro comercial y el enfoque fue el enlace de las especificaciones de almacenamiento de sintaxis de contenido y los servicios de ensamblaje de contenido del Registro a la referencia BRIM en CEFACT . Además, el trabajo de BRIM también se posicionó para permitir el ensamblaje de mensajes de componentes centrales (CCMA) para los procesos comerciales. El trabajo se trasladó a OASIS a finales de 2002 para facilitar mejor el desarrollo XML necesario.
Las implementaciones y despliegues de CAM V1.1 están en progreso al momento de escribir este artículo (enero-2009), incluidas las soluciones de código abierto que utilizan Java y XSLT .
Versiones de CAM
- CAM 1.1 fue adoptado como estándar OASIS en junio de 2007.
- El trabajo actual continúa refinando y extendiendo hacia una nueva versión V1.5 en 2009, centrándose principalmente en aclaraciones, correcciones y extensiones limitadas. La función principal de CAM sigue siendo la misma: definir, componer y validar el contenido XML.
La sintaxis de la plantilla CAM para secuencias de comandos está diseñada para ser obvia, legible por humanos y declarativa.
Bloques de construcción CAM
CAM se basa en una serie de estándares existentes:
- Lenguaje de marcado extensible (XML)
- Las plantillas CAM se expresan en un XML estandarizado
- Esquema XML
- CAM proporciona una capa de abstracción para el esquema XSD que hace que la manipulación y la definición de plantillas de intercambio de información comercial sean significativamente más fáciles que usar solo el esquema XSD . Esquema XML .
- XPath V2.0
- CAM usa XPath ampliamente para definir reglas y expresiones de destino de ruta que están en el corazón del procesamiento del validador de CAM.
- Secuencias de comandos XSLT
- las soluciones de código abierto existentes aprovechan ampliamente XSLT .
- XML comercial electrónico (ebXML)
- Los componentes centrales y los conceptos de registro desarrollados para ebXML ( ISO15000 ) proporcionan una base conceptual significativa para el enfoque CAM para el ensamblaje de contenido.
Plantillas CAM
Una plantilla CAM consta de cuatro secciones principales. La sección de encabezado, la sección de estructura y la sección de reglas comerciales y la sección de extensiones.
Estos se pueden resumir en sintaxis XML como:
CAMlevel = "1" version = "1.1" > < Estructura de ensamblaje /> ón>
El propósito de la sección Encabezado es declarar propiedades y parámetros para que el proceso CAM haga referencia. El propósito de la sección AssemblyStructure es capturar la estructura de contenido requerida o las estructuras que se necesitan para el intercambio de información comercial particular.
Una vez que se han definido las estructuras de ensamblaje, el siguiente paso es definir las reglas de contexto que se aplican a ese contenido. La técnica utilizada es identificar una parte de la estructura apuntándola usando una referencia de localizador de destino XPath y luego también aplicando una aserción usando uno de los predicados de estructura proporcionados para ese propósito.
Hay dos secciones para estas reglas de contexto empresarial, las reglas predeterminadas normalmente se aplican y las reglas condicionales que solo se aplican si un bloque de reglas en particular se evalúa como verdadero. Las reglas se expresan utilizando la sintaxis XPath 2.0 junto con un conjunto adicional de predicados de estructura que proporciona CAM que simplifican el control sobre la estructura y su modelo de contenido de información.
Los predicados de la función CAM incluyen: 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 () tipo de datos () o setDataType (), restrictValuesByUID () setRequired (), orderChildren () allowNulls (), setDefault () setNumberRange ()
Luego, la sección Extensión permite la definición de elementos diversos, como valores de lista de códigos.
Para obtener más detalles sobre el enfoque de la plantilla CAM, consulte la especificación del estándar OASIS formal estándar OASIS CAM v1.1
Diccionarios XML canónicos
La especificación CAM se está ampliando para incluir diccionarios XML canónicos para admitir Content Assembly mediante plantillas de planos y herramientas de expansión xslt. Ejemplos de estos incluyen diccionarios de dominio NIEM y diccionarios OASIS EDXL y EML. Para obtener una descripción general de estas capacidades, consulte la Guía rápida de diccionarios y planos de OASIS CAM
Modelos de esquema
El formato de plantilla CAM también admite la generación de modelos de componentes de estructura como UML / XMI y mapas mentales . Esto se logra mediante una transformación xslt que convierte la estructura de la plantilla CAM, las reglas y los componentes de documentación en los formatos de modelo XMI o MM.
Referencias
- ^ Estándar definido en http://docs.oasis-open.org/cam/
- [XSDvCAM] David Webber et al., Documento técnico Documento técnico sobre CAM v1.1 y XSD Schema V1.1 Insights OASIS Draft, 2008. Enlace del documento Documento técnico de CAM .
- [SchematronvCAM] Rick Jelliffe , agosto de 2009, Comparación del artículo [2] de Schematron v CAM O'Reilly .
- [Incon] Kateřina Opočenská , Michal Kopecký et al., Incox - Un lenguaje para la descripción de restricciones de integridad XML Libro blanco, Aquisgrán, Alemania, 2009 [3] .
enlaces externos
- Comité Técnico del Mecanismo de Asamblea de Contenidos de OASIS
- Páginas de portada: Descripción general ejecutiva de CAM
- Artículo de IBM Developer Works sobre los beneficios de CAM
- Artículo de la revista SOA sobre CAM
- Sitio principal de recursos para la implementación de CAM en Java jCAM
- Sitio de recursos wiki de OASIS para CAM
- Presentación en XML2008 sobre NIEM y CAM [ enlace muerto permanente ]
- Marzo de 2009 Artículo de DEVX "Llevando la validación XML al siguiente nivel: Introducción a CAM" por Michael Sorens
- Herramientas NIEM de terceros
- Revista SOA, julio de 2007 "El mecanismo de ensamblaje de contenido (CAM) y las capas de servicio de datos SOA"
- Artículo de IBM DeveloperWorks, mayo de 2010 "XML Validation Framework using OASIS CAM (CAMV)"
- RuleML 2010, actas de "NIEM Canonical XML Dictionaries y Rule Engine Systems"
- RuleML 2013, "Manejo de XML basado en reglas y políticas"
- Página wiki CAMed (editor) y CAMV (validador)