Articulo de referencia

Mecanismo de ensamblaje de contenido

El Mecanismo de Ensamblaje de Contenido ( CAM ) [ 1 ] es un estándar basado en XML para crear y gestionar intercambios de información que son descripciones interoperables y dete...

El Mecanismo de Ensamblaje de Contenido ( CAM ) [ 1 ] es un estándar basado en XML para crear y gestionar intercambios de información que son descripciones interoperables y deterministas de flujos de contenido de información procesables por máquina dentro y fuera de estructuras XML. CAM es un producto del Comité Técnico de Ensamblaje de Contenido 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 del procesador CAM permiten crear ejemplos XML realistas a partir de definiciones de estructuras de esquema XSD. Estos ejemplos XML simulan casos de prueba para su uso en pruebas de interoperabilidad y para la determinación de plantillas que se utilizarán en intercambios reales de información empresarial.

El problema más importante que CAM está resolviendo es la interoperabilidad más sencilla y fiable para el intercambio de información empresarial. El comercio electrónico actual a través de internet presenta limitaciones extremas en cuanto a automatización e integración. La capacidad de compartir definiciones de intercambio de información precisas, concisas y verificables es un paso fundamental para facilitar un comercio global más sencillo y económico.

CAM se está consolidando como el estándar definitivo para la gestión eficaz del intercambio de información gracias a la masa crítica que genera esta solución de código abierto.

Actualmente, se está documentando, validando y mejorando una amplia gama de definiciones estándar de OASIS mediante el conjunto de herramientas y el enfoque de código abierto CAM. Hasta la fecha, estas incluyen EDXL, CIQ y EML. El uso de CAM también se está extendiendo a grupos industriales externos como PESC, MISMO, STAR Automotive y CAQH, y posteriormente a aplicaciones gubernamentales como 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 forma que puedan verificarse y adoptarse rápidamente. Mediante CAM, pueden aprovechar su trabajo existente en esquemas XSD y desarrollar rápidamente plantillas de localización, casos de prueba XML, nuevos subesquemas para su uso con servicios web y crear listas de deseos y sugerencias de contenido reutilizables. Además, las plantillas CAM se utilizan para crear diccionarios de dominio directamente a partir de las definiciones de esquemas XSD y, posteriormente, generar hojas de cálculo de referencias cruzadas para cada plantilla con las definiciones del diccionario maestro.

Todas estas capacidades están orientadas a mejorar la calidad y la velocidad de implementación y la interoperabilidad mediante el intercambio de información empresarial basado en XML .

Historia de la medicina alternativa y complementaria

El Comité Técnico de Ensamblaje de Contenido 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 puedan proporcionar los medios para reunir el contexto del proceso de negocio y las reglas de negocio de implementación localizadas necesarias para tomar una instancia de esquema estándar de la industria en bruto y combinarla con el contenido, el contexto y los roles de la información comercial real y producir una instancia de documento XML válida y consistente".

OASIS está desarrollando especificaciones para mecanismos de procesos de negocio, esquemas estándar de la industria, sistemas de registro y mecanismos de esquema. La especificación CAM permitirá integrar estos cuatro componentes de forma coherente y estandarizada, y publicar instrucciones de implementación de ensamblaje basadas en dichas especificaciones de OASIS. Esto facilitará el trabajo de los grupos de la industria y permitirá el desarrollo de herramientas de software compatibles con todas estas especificaciones.

El trabajo original, anterior a CAM, se inició en la última etapa de la iniciativa ebXML como una ramificación del trabajo del Registro ebXML. Este grupo de trabajo se denominó "BRIM" (Business Registry Interface Model) y se centró en los servicios de ensamblaje de contenido del Registro y las especificaciones de almacenamiento de sintaxis de contenido (consulte la referencia de BRIM en CEFACT) . Además, el trabajo de BRIM también se orientó a habilitar el ensamblaje de mensajes de componentes centrales (CCMA) para procesos de negocio. El trabajo se trasladó a OASIS a finales de 2002 para facilitar el desarrollo XML necesario.

En el momento de redactar este informe (enero de 2009), se están llevando a cabo implementaciones y despliegues de CAM  V1.1, incluyendo 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.
  • Actualmente se sigue trabajando en el perfeccionamiento y la ampliación del software para su lanzamiento en la versión 1.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 las plantillas CAM para la creación de scripts está diseñada para ser obvia, legible para los 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 manipular y definir plantillas de intercambio de información empresarial sea significativamente más fácil que usar solo el esquema XSD solo Esquema XML .
XPath V2.0
CAM utiliza XPath de forma extensiva para definir reglas y expresiones de destino de ruta que son la base del procesamiento del validador de CAM.
Programación XSLT
Las soluciones de código abierto existentes hacen un uso extensivo de XSLT .
XML de negocios electrónicos (ebXML)
Los componentes básicos y los conceptos de registro desarrollados para ebXML ( ISO 15000 ) proporcionan una base conceptual importante para el enfoque CAM del ensamblaje de contenido.

Plantillas CAM

Una plantilla CAM consta de cuatro secciones principales: la sección de encabezado, la sección de estructura, la sección de reglas de negocio y la sección de extensiones.

Esto se puede resumir en sintaxis XML de la siguiente manera:

<CAM CAMlevel= "1" version= "1.1" > <Header/> <AssemblyStructure/> <BusinessUseContext/> <Extension/> <!-- Opcional, repetible --> </CAM>

La sección de encabezado tiene como objetivo declarar las propiedades y los parámetros que el proceso CAM debe utilizar como referencia. La sección de estructura de ensamblaje tiene como objetivo capturar la estructura o estructuras de contenido necesarias para el intercambio de información empresarial específico.

Una vez definida la estructura del ensamblaje, el siguiente paso es definir las reglas de contexto que se aplican a dicho contenido. La técnica empleada consiste en identificar una parte de la estructura mediante una referencia de localizador de destino XPath y, a continuación, aplicar una aserción utilizando uno de los predicados de estructura previstos para tal fin.

Estas reglas de contexto empresarial constan de dos secciones: reglas predeterminadas que se aplican normalmente y reglas condicionales que solo se aplican si un bloque de reglas específico se evalúa como verdadero. Las reglas se expresan mediante la sintaxis XPath 2.0, junto con un conjunto adicional de predicados de estructura que proporciona CAM para simplificar el control sobre la estructura y su modelo de contenido informativo.

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() datatype() o setDataType(), restrictValuesByUID() setRequired(), orderChildren() allowNulls(), setDefault() setNumberRange()

La sección de Extensión permite definir elementos diversos, como valores de listas de códigos.

Para obtener más detalles sobre el enfoque de plantilla CAM, consulte la especificación estándar formal de OASIS, OASIS CAM v1.1.

Diccionarios XML canónicos

La especificación CAM se está ampliando para incluir diccionarios XML canónicos que permitan el ensamblaje de contenido mediante plantillas de planos y herramientas de expansión XSLT. Algunos ejemplos son los diccionarios de dominio NIEM y los diccionarios OASIS EDXL y EML. Para obtener una descripción general de estas funcionalidades, consulte la Guía rápida de planos y diccionarios de OASIS CAM.

Modelos de esquema

El formato de plantilla CAM también admite la generación de modelos de componentes estructurales como UML / XMI y mapas mentales . Esto se logra mediante una transformación XSLT que convierte la estructura, las reglas y los componentes de documentación de la plantilla CAM a los formatos de modelo XMI o MM.

Referencias

  1. Estándar definido en https://docs.oasis-open.org/cam/
  • Webber, David (agosto de 2008). "Libro blanco sobre CAM v1.1 y perspectivas del esquema XSD V1.1" (libro blanco) . OASIS Open .
  • Jelliffe, Rick (21 de agosto de 2009). "Comparación de Schematron vs CAM" . O'Reilly Community . O'Reilly Media . Archivado del original el 7 de enero de 2010.
  • Opočenská, Kateřina; Kopecký, Michal (abril de 2008). "Incox: un lenguaje para la descripción de restricciones de integridad XML" (PDF) . En Snasel, V.; Richta, K.; Pokorny, J. (eds.). Bases de datos, Textos, Especificaciones y Objetos . Dateso 2008. Actas del taller CEUR. vol.  330. Desna, República Checa. págs. 1 a 12. ISBN  978-80-248-1746-0ISSN 1613-0073 

Lecturas adicionales

  • Carey, Brian M. (22 de septiembre de 2009). "Conozca CAM: Una nueva tecnología de validación XML" . IBM DeveloperWorks . IBM . Archivado del original el 2 de octubre de 2010.
  • Kathuria, P.; Webber, D.; Roberts, M. (11 de mayo de 2010). "Marco de validación XML mediante OASIS CAM (CAMV)" . IBM DeveloperWorks . IBM . Archivado del original el 21 de septiembre de 2010.
  • Sorens, Michael (5 de marzo de 2009). "Llevando la validación XML al siguiente nivel: Presentación de CAM" . DevX . Archivado del original el 16 de marzo de 2012.
  • Webber, David RR (5 de julio de 2007). "El Mecanismo de Ensamblaje de Contenido (CAM) y las Capas de Servicio de Datos SOA" . The SOA Magazine . N.°  IX. S2CID 18603523. Archivado del original el 13 de julio de 2007. 
  • Webber, David (2010). «Diccionarios XML canónicos NIEM y sistemas de motores de reglas» . En Morgenstern, L.; Stefaneas, P.; Lévy, F.; Wyner, A.; Paschke, A. (eds.). Reglas de la Web Semántica . RuleML 2010. Lecture Notes in Computer Science . Vol.  6403. Washington, DC: Springer-Verlag. pp. 2–15 . doi : 10.1007/978-3-642-16289-3_2 . ISBN  978-3-642-16288-6.
  • Webber, David (2013). "Gestión de XML basada en reglas y políticas en contextos gubernamentales, incluido NIEM" (PDF) . En Dean, M.; Hall, J.; Rotolo, A.; Tabet, S. (eds.). Teoría, práctica y aplicaciones de las reglas en la web . RuleML 2013. Lecture Notes in Computer Science . Vol.  8035. Seattle: Springer. doi : 10.1007/978-3-642-39617-5_7 . ISBN 978-3-642-39616-8Archivado del original (PDF) el 5 de mayo de 2016.
  • Comité Técnico del Mecanismo de Ensamblaje de Contenidos de OASIS
  • Portada: Resumen ejecutivo de CAM
  • Sitio web principal de recursos para la implementación de CAM mediante Java jCAM
  • Sitio de recursos wiki de OASIS para CAM
  • Presentación en XML2008 sobre NIEM y CAM
  • Herramientas NIEM de terceros
  • Página wiki de CAMed (editor) y CAMV (validador)