Copyright OASIS, 2005 / 2007 CAM Technology Introduction David Webber Chair OASIS CAM TC Presentation February 9 th, 2007 Bethesda MD Toward Agile Information Services
Overview Part 1 – Introduction (5 mins) Providing Local Contextual Validation Services Relationship to XSD schemas Deployment / Use Models Part 2 – Technology (5 mins) Introduction to OASIS CAM Architecture Overview Challenges and Needs? Part 3 – Demonstration (20 mins) CAM tool overview Solving agility – your very own XML example Value proposition Call to action/next steps Q&A (15 mins) Copyright OASIS, 2005 / 2007
Presentation February 9 th, 2007 Bethesda MD INTRODUCTION Part 1 Copyright OASIS, 2005 / 2007 Providing Local Contextual Validation Services Relationship to XSD schemas Deployment / Use Models
Copyright OASIS, 2005 / 2007 Common Data Issues – Information Security Management Electronic Document Management Poor and Inconsistent Documentation Data / Customer / Process Integration Collaboration and Messaging Authentication Technologies Storage Technology Remote communication challenges System Development Life Cycle Change Management Segregation of Duties Exchange & Information Technology
Solution / Problem Metrics Can I create a standard simple open format to describe my message structures and data content rules? Can my partners validate their transactions in test BEFORE they send them? How do people know what I will send them? I want something that’s simple and standards based – leverages existing XML components Can I generate HTML documentation that is readable by business analysts? Copyright OASIS, 2005 / 2007
Why not use XSD? Today’s XML schemas have massive complex structures with no context awareness + no cross field association rules + no dynamic lookups The XSD provides a model of ALL possible structure instances – not the particular instance Excessive use of namespaces make for fragile XML transaction handling Generating valid sparse transaction layout tough Documentation diagrams hard to read How to create simple re-usable templates? Copyright OASIS, 2005 / 2007
Templates - Use Models User Certification Analysis / Design Rules Editor Validate XML Templates Report User Creates XML Results Test Pass / Fail Analyst Templates Samples XML html Develop Verify Structure Rules Context Rules html XML Results html Publish
Copyright OASIS, 2005 / 2006 Business Functionality Simple and obvious domain solution templates Local deployment and simple change support Handling local context drivers and flexibility Opening up business integration rules so that partners can confirm their usage + validating HTML reporting of rules and layouts Processing content with open public specification and sharable rules base
Presentation February 9 th, 2007 Bethesda MD TECHNOLOGY Part 2 Copyright OASIS, 2005 / 2007 Introduction to OASIS CAM Architecture Overview Challenges and Needs?
Copyright OASIS, 2005 / 2007 History and Status of CAM OASIS technical committee Five years of combined work in UN/CEFACT and OASIS OASIS v1.1 committee specification jCAM open source implementation in Java Creating simple XML-scripted open standard mechanisms for XML transaction assembly and processing Developing templates for common industry formats
Copyright OASIS, 2005 / 2006 CAM Process Architecture CAMCAM XML Parser / DOM XML Parser / DOM Built-inFunctionsBuilt-inFunctions XPathhandlerXPathhandler SQLpersistenceSQLpersistence TermsRegistryTermsRegistry Rule Engine Post-Processing / Errors Post-Processing XML-awareXML-aware EXTENSIONS
Copyright OASIS, 2005 / 2006 jCAM Functional Components CAMCAM XML Parser / DOM XML Parser / DOM Built-inFunctionsBuilt-inFunctions XPathhandlerXPathhandler SQLpersistenceSQLpersistence TermsRegistryTermsRegistry Rule Engine EXTENSIONS jaxen xerces e.g. DROOLS, Others… Saxon - xslt planned using AJAX / ebXML Post-Processing / Errors Post-Processing XML Data Mapping XML-awareXML-aware cam XX
Deployment Options B2B Web services jCAM engine jCAM engine XML Templates XML Message System XML Java API Receive Process Validate Server Templates Request XML html Response Java API Process Structure Rules Context Standalone EDITOR Template XML html Report
Copyright OASIS, 2005 / 2006 Versioning Challenges If the schema version changes – how to ensure it does not break our in place validations? How to rapidly adapt to rule changes in a production environment? How to develop user context driven deep version control and re-use of sub-components? Enhance and automate Test release cycle by improving transparency for bug fix process and expose change deltas to speed testing process? Support for regression testing?
Who is doing this? Templates for OASIS UBL subset transactions UK – BTplc – prototyping UBL telephone industry service provisioning MetLife - modified templates approach for ACORD OVS - OASIS EML voting records templates OASIS BPSS v2.0.4 now supports Context + CAM Prototype scripts for PESC loan applications / PreisShare (Asian electronics market pricelists) How do I do this using my everyday XML transaction instances? Demonstration next! Copyright OASIS, 2005 / 2007
Presentation February 9 th, 2007 Bethesda MD DEMONSTRATION Part 3 Copyright OASIS, 2005 / 2007 Tools Overview Solving agility – your very own XML example Value proposition Call to action/next steps
Copyright OASIS, 2005 / 2006 How does jCAM process work? CAM uses WYSIWYG approach to XML Starting with your XML sample – creates structure template from that + default data content model Next – add your structure use rules – optional / repeatable, date fields, allowed values, lookups Then make context business rules – cross field use rules, exclude, include, variables Save template – run against samples Eclipse editor tool makes this all easy to do! Deploy to production using jCAM processor
Eclipse CAM Editor Available structures Structure Rule Viewer Rule Details Results Viewer Validation Process
Copyright OASIS, 2005 / 2006 Using jCAM : Start with sample XML Use Eclipse template editor Load XML, generate CAM Enhance base template Test, refine and deploy Deliver business solution Build Simple Build Simple Template Build Simple Build Simple Template Extending Template Extending Template Verify Results Verify Results Verify Results Verify Results Simple XML instance XML instance Simple XML instance XML instance Document Rule Details Rule Details Document Rule Details Rule Details
Copyright OASIS, 2005 / 2006 Value Proposition Making XML transaction handling simpler and predictable Extends and clarifies your existing XSD schema structures Quick and easy rule building from sample XML transaction Enabling more robust fault tolerant processing Providing open sharable templates and documentation Re-use easier through support for includable components Ability to integrate to business processes and context Open source, open public standard toolkit – editor + engine
Copyright OASIS, 2005 / 2006 What’s Next / Call to Action XSD auto-mapping support XPath v2 support Possible use for mash-up content checking Referencing Registry semantics - business nouns W3C RIF / OMG PRR / OWL / DROOLS semantic rules Develop template sets for your business domain members Integrate into your messaging exchanges validations
A Q & Q U E S T I O N S A N S W E R S
Copyright OASIS, 2005 / camprocessor.sourceforge.net Resources:
Copyright OASIS, 2005 / 2007 A special mention for our contributors to the CAM and jCAM work: UK - Martin Roberts with BTplc US - Sidhartha Nagolu from AC-Tech / NIH Credits: