1 / 30

XML Schemas and CAM: Enhancing e-Business Integration Rules

Explore the convergence of W3C XSD schema & OASIS CAM for robust e-business integration. Learn to build CAM templates, leverage industry standards, and address business challenges for structured information exchange.

Download Presentation

XML Schemas and CAM: Enhancing e-Business Integration Rules

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Parsing Solutions & OASIS Content Assembly Mechanism (CAM) XMLWG 2004, Wash DC, Jan 21st. David RR Webber Chair OASIS CAM TC http://drrw.net david@drrw.net

  2. eBusiness XML parsing needs today • Interoperability • Opening up business integration rules • Handling local context drivers • Validating content • How does W3C XSD schema help? • What does OASIS CAM provide?

  3. W3C Schema in a nutshell • XML formatted syntax that describes the structure layout of a given XML instance • Is a 90% solution – cannot describe every well formed XML instance perfectly (e.g. interleaved process and content – xhtml + SMIL) • Designed for use by programmers • Has mechanisms for datatyping and content checking • Has a model for creating objects of content and using object techniques

  4. OASIS CAM in a nutshell • CAM syntax - tool for business users to express the information exchange semantics and context of their business process steps as XML-based templates. • library of CAM templates – provides discovery and re-use of common transaction details and sharing of domain context along with consistent referencing to shared nouns and verbs. • CAM processing engine – component to provide consistent information exchanges at three levels – pre-checking content, runtime content assembly, post-receipt integration.

  5. Agenda • Problem Understanding • What are we trying to solve and for whom? • What does XSD schema offer? • How does CAM augment schema? • Using CAM • Approach • Building templates • Leveraging schema • Next Steps • Roadmap for 2004

  6. What are we trying to solve and for whom? Understanding the Problem

  7. Building e-Business Orchestration • Define business ideas and needs • Capture steps and workflow • Then describe the business processing • Top layer – rules and context • Middle layer – industry/application integration • Implementation layer – physical application systems and content delivery / exchange • Consistent information integration mechanisms for use in Service Oriented Architecture (SOA)

  8. Business Layers - Objectives • Reduce complexity of managing large numbers of transaction formats - document the differences • Want to speed adoption by formalizing business rules • Want context-driven transaction generation • Empowers business users to build interchange details • Need to define in a neutral format: works with variety of structures, not just XML • Augment current standards and industry specifications • Provide multi-step process support

  9. Business Challenges for XML • Totally static transaction formats do not work – need configurable structures • How to apply business context assertions to a information structure? • How to derive a consistent way of specifying the interchange parameters to a partner? • How to enable business domain users to implement the exchanges? Key: Context is Everywhere The ability to create re-usable information components is driven by the ability to enable context

  10. XML by itself is not enough • XML, by itself, does not solve interoperability problems yet it is an important tool for doing so. • XML does not provide instant semantics. • XML by itself is not the magic bullet. • What we need are clear policies and vision of how electronic information enables interoperability

  11. XML Schema? • Why not just use XML Schema? • OAGI did this for BODs V8.0 – but required supplementing schema with XSLT and XPath to capture business rules • Had to make all elements optional • No ability to enable business context of combinations of use – i.e. use patterns { if (condition) required | optional | optional } • Limited constructs of structure – example no “interleave” of child elements

  12. Lessons learned: Which XML Method(s)? • We need business collaboration on elements syntax: • Global complexType definition? • Global element definition? • Create industry dictionaries? • Reuse • Reference global element in external namespace? • Define local element as substitutionGroup of global element (bring into local namespace)? • Define local element using external Namespace complexType (bring into local namespace)? • Derive by extension, local element can have additional sub-elements added to it?

  13. XML Schema - SWOT

  14. Leveraging XSD and CAM • Can build default CAM components from XSD • Can build XML examples from XSD • Can use CAM functionality to fill in the gaps in XSD

  15. How does CAM augment schema? • Can have multiple structure instances selected by context • Can include structure from sub-assembly of components • Enhanced element semantics beyond simply datatyping • Full code lists functionality beyond NMTOKEN • Ability to leverage semantics at attribute level consistently with elements • Ability to version content model components • Link to industry dictionaries • Link to web service components for external checks • Ability to assemble transaction instances • Can handle non-XML formats

  16. Technology Positioning • We can use W3C Schema to show basic typing and structural permutations for XML transaction content models. • To provide automation of the business logic at-point-of-use requires OASIS CAM to supplement the Schema. • Use models – • simple one-off structures – XSD schema is adequate • significant information exchange for e-Business – CAM required • available open source CAM processor • Need - leverage today’s in-place XML technology; provide enhanced functionality for next generation.

  17. Using CAM Anatomy and Approach

  18. Basic Components of CAM can have more than one structure layout XML instance structure(s) Combined with can add inline rules directly into structure + Simple Declarative Statements makeOptional() excludeTree() Business context rules item type="noun" name="Agency/@AgencyID" UIDReference="ukt000910" + Content Reference rules + <conditional expression="'//SupplierID' and lookup(value,'SGIRWSDL:supplierID_check')" Data Validation rules + External Mapping rules <MapRule output="type" input="Sales/Company/Year/Qtr/Product@type"/>

  19. How Context is applied CAM Template XML transaction content 1 process and compare + 4 3 2 Generates actual XML instance definition to be used Context Statements CAM gets passed context from business use 5 Results for given context and action

  20. Integrating CAM into eBusiness stack Business agreement Drives document exchanges

  21. Business Context Mechanism • Link between messaging layer, business process layer and assembly layer. <ebContext UIDref='SDIR03400' interchangeID='123456789' BPMref='ABC123456:01‘ CPAref='ABC012345‘ xmlns:as="http://www.oasis-open.org/committees/cam"> <header> <description>An example context instance</description> <version>1.0</version> <language refcode='eng' codelist='ISO639-2' name='English'/> <usage>CAM</usage> <usage>BPM</usage> </header> <conditions> <condition name="Country" value="USA" as:member="USA,CA,MX"/> <condition name="Catalogue" value="A2003-Q1" as:setLength="8" as:setMask="XNNNN-QN" as:UIDreference="SGIR:030451"/> <condition name="itemType" value="nonperishable" label="Item type:“ as:member="nonperishable,perishable,refridgerated,fragile"/> </conditions> </ebContext>

  22. CAM template XML structure <CAM> <Header><ContextStatements> <AssemblyStructure/> <BusinessUseContext/> <ContentReference/> <DataValidations/> <ExternalMapping/> </CAM> • A,B,C,D,E! • Assembly Structure • Business Context Rules • Content Referencing • Data Validations • External Application Mapping • Many examples available from http://cam.swiki.net Example

  23. Technology Foundation excludeAttribute() excludeElement() excludeTree() makeOptional() makeMandatory() makeRepeatable() setRequired() setChoice() setId() setLength() setLimit() setMask() setValue() restrictValues() restrictValuesByUID() useAttribute() useChoice() useElement() useTree() useAttributeByID() useChoiceByID() useElementByID() useTreeByID() lookup() startBlock(), endBlock() • Simple XML V1.0 • XPath • Neutral approach to structure content • Assertion predicates

  24. Integration with Registry Dictionary Re-usable Business Information components Registry Components Vocabulary nouns, and Industry Dictionaries Physical Conceptual Application Database Structure Choices 1 2 Required Content Structure 3 Payload Assembly CAM Assembly Structure Process Engine Content References Context Values Payload / Rendering Logical

  25. External Mapping and Merge Feature <ExternalMapping> <ContentAssociation> <Description>Product List</Description> <InputSource/> <OutputStore type=”SQL” location=”product_table”/> <RulesSet> <MapRule output="Products_List" input="@STARTGRP()"/> <MapRule output="type" input="Sales/Company/Year/Qtr/Product@type"/> <MapRule output="name" input="@trim(Sales/Company/Year/Qtr/Product/Item@name)"/> <MapRule output="manufacturer" input="Sales/Company/Year/Qtr/Product/Item@manufacturer"/> <MapRule output="value" input="Sales/Company/Year/Qtr/Product/Item@value"/> <MapRule output="sold" input="Sales/Company/Year/Qtr/Product/Item@sold"/> <MapRule output="Products_List" input="@ENDGRP()"/> </RulesSet> </ContentAssociation> </ExternalMapping>

  26. Available Components • Specifications and examples from the SWIKI • http://cam.swiki.net • jCAM component • http://jcam.org.uk • VisualScript editor for CAM templates • http://www.visualscript.com • OASIS CAM TC • http://www.oasis-open.org

  27. Next Steps • Work in progress: • Completion of Specification • Enhancement of CAM processor • Library of CAM templates by industry • Integration with OASIS Registry assembly

  28. Summary: The Holy Grail of e-Business • Automatic information integration has been the Holy Grail of e-Business systems since before XML was conceived. • Lesson learned - three needs are paramount: • the ability to design transactions consistently, • the ability to document their usage in a clear way and then • the ability to drive software that can apply rules and test information content to ensure correct compliance. • CAM approach provides these three critical abilities: • documentation of business interchange transactions, • design-time assembly support with verification, • and runtime checking of information content.

  29. Additional Information • OASIS CAM (assembly) Technical Committee • http://oasis-open.org/committees/cam/ • OASIS ebXML Registry Technical Committee • http://oasis-open.org/committees/regrep/ • ebXML.org • http://www.ebxml.org/ • http:ebxmlbook.com

  30. OASIS – Content Assembly Mechanism (CAM TC) Thank You January 2004http://cam.swiki.net www.oasis-open.org xml.coverpages.org www.xml.org www.ebxml.org

More Related