copyright oasis, 2005 / 2007 cam technology introduction david webber chair oasis cam tc...
TRANSCRIPT
Copyright OASIS, 2005 / 2007
CAMTechnology
Introduction
David WebberChair OASIS CAM TC
Presentation
February 9th, 2007Bethesda 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 9th, 2007
Bethesda MD
INTRODUCTIONPart 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
UserCertification
Analysis / Design
RulesEditorValidate
XML
Templates
Report
UserCreatesXMLResults
Test
Pass / Fail
Analyst
TemplatesSamples
XML
html
Develop
Verify
StructureRulesContext
4
5
6
1
3
2Rules
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 9th, 2007
Bethesda MD
TECHNOLOGYPart 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
CAMCAMCAMCAM
XML ParserXML Parser/ DOM/ DOM
XML ParserXML Parser/ DOM/ DOM
Built-in Built-in FunctionsFunctionsBuilt-in Built-in
FunctionsFunctions
XPathXPathhandlerhandlerXPathXPath
handlerhandler
SQL SQL persistencepersistence
SQL SQL persistencepersistence TermsTerms
RegistryRegistryTermsTerms
RegistryRegistryRule EngineRule EngineRule EngineRule Engine Post-Post-ProcessingProcessing
/ Errors/ Errors
Post-Post-ProcessingProcessing
/ Errors/ Errors
XML-awareXML-awareXML-awareXML-aware
EXTENSIONS
Copyright OASIS, 2005 / 2006
jCAM Functional Components
CAMCAMCAMCAM
XML ParserXML Parser/ DOM/ DOM
XML ParserXML Parser/ DOM/ DOM
Built-in Built-in FunctionsFunctionsBuilt-in Built-in
FunctionsFunctions
XPathXPathhandlerhandlerXPathXPath
handlerhandler
SQL SQL persistencepersistence
SQL SQL persistencepersistence TermsTerms
RegistryRegistryTermsTerms
RegistryRegistryRule EngineRule EngineRule EngineRule Engine
EXTENSIONS
jaxenxerces
e.g. DROOLS,Others…
Saxon - xslt
planned using AJAX / ebXML
Post-Post-ProcessingProcessing
/ Errors/ Errors
Post-Post-ProcessingProcessing
/ Errors/ Errors
XML Data Mapping
XML-awareXML-awareXML-awareXML-aware
cam
XXXX
Deployment Options
B2B Web services
jCAMenginejCAM
engine
XML
Templates
XML
MessageSystemXMLJava
APIReceive
Process
Validate Server
TemplatesRequest
XML
htmlResponseJavaAPIProcess
StructureRulesContext
1
2
3
1
2
3
Standalone
EDITOR
Template
XMLhtml
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 9th, 2007
Bethesda MD
DEMONSTRATIONPart 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
1
2
3
4
5
Available structures
Structure Rule Viewer
Rule Details
Results Viewer
ValidationProcess
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 SimpleBuild SimpleTemplateTemplateBuild SimpleBuild SimpleTemplateTemplate
ExtendingExtendingTemplateTemplateExtendingExtendingTemplateTemplate
Verify ResultsVerify ResultsVerify ResultsVerify Results
SimpleSimpleXML instanceXML instance
SimpleSimpleXML instanceXML instance
Document Document Rule DetailsRule DetailsDocument Document Rule DetailsRule Details
1
2
3
4
5
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
AQ&Q U E S T I O N SQ U E S T I O N S
A N S W E R SA N S W E R S
Copyright OASIS, 2005 / 2007
www.jcam.org.uk
camprocessor.sourceforge.net
www.drools.org
www.oasis-open.org/committees/cam
Resources:
Copyright OASIS, 2005 / 2007
A special mention for our contributors to the CAM and jCAM work:
UK - Martin Roberts with BTplcUS - Sidhartha Nagolu from AC-Tech / NIH
Credits: