Upload
roderick-whitehead
View
216
Download
0
Embed Size (px)
Citation preview
OASIS CAM Technology -
Brief Introduction
January, 2008Creating EDXL Use PatternTemplates
David Webber
Chair OASIS CAM TC
EDXL TC - January 2008 2
Agenda
CAM templates
Domain Examples
SOA / Semantics Roadmap
Use Case and Approach
EDXL
Q & A
EDXL TC - January 2008 3
Domain Examples
DOJNIEM/LEX
Fannie MaeEDI-esque
XML
PESCDictionary
andschema
UBL schema
and CCTS
-Universal Business Language (UBL)
-OASIS standard
-Uses UML models and CCTS approach
-Derived from xCBL and simplEDI approach
-Supply chain schema with joint initiative EU / Asia / US
-Developed by GTRI for DOJ community
-Vocabulary based
-LEXS schema built using NIEM vocabulary
-Law enforcement and court applications
-Developed for Education Department
-form-style XML
-Older XSD techniques for simple flat schema model
-No re-use of common structures
-Student loans and transcripts
-Developed by BAH and NG for form-based application submissions
-Translate previous paper form into multiple schema sections
-Massive schema with extended namespaces
-Set of functional transactions and configuration templates for managing and processing elections
-Common set of components and vocabulary
-Widely differing use patterns and items by country localization
OASISEML
Grants.govform based
schema
-Transactions replacing EDI
-Overloaded reuse of structure components
-Financial reporting data
-Financial transaction data
-Extended use of code sets to label transaction content / purpose
EDXL TC - January 2008 4
SOA and Data Services Roadmap
TransportTransport
SecuritySecurity
Internet Infrastructure
DeliveryDelivery
Proc
ess
Proc
ess 33
22
55
Query / Response
WSDL
11
SOAP / http / https
Data Services
Data Services
44
Vocabulary / Semantics
Packaging / Encoding
XML / edi
Validation / Assembly
Mapping / Transform
XSD, CAM, XSLT
Business Model
ServiceAgreement
Context/ Roles
BusinessProcesses
Description
Msg ExchangeProfile
State & Context
Addressing / Envelope
Transactions
Coordination
Push / Pull
C A M
EDXL TC - January 2008 5
Exchange - Facilitation Needs
• For business communities:– Ability to create sharable templates for communities
of practice that need consistent XML transaction handling definitions that are open and public.
• For business data analysts:– Printable rule documentation support and features. – Example domain templates within communities of
practice – Supporting codelists implementation (Genericode).
• For programmers:– XML content manipulation support and rules ( xslt,
XPath …)– Web services and SOA support
EDXL TC - January 2008 6
Defining Information Services
Create Samples
RulesEditor
XML
AnalystTemplates
Samples
Develop
Verify
StructureRulesContextVocabulary
3
2
Rules
html
XML
Resultshtml
Publish
1
Detail Use Rules
Test Rules on Samples
4
Share Results
EnablingAgile Information Exchanges
Structure + Vocabulary
Rules + Context Templates
Verify Template Outcomes
EDXL TC - January 2008 7
Partner Conformance
Test andCertification
Validate
Templates
Report
PartnerCreatesXMLResults
Test
Pass / Fail
Templates
XMLhtml
StructureRulesContext
4
5
6
Publish
EDXL TC - January 2008 8
How does CAM 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
EDXL TC - January 2008 9
Eclipse CAM Editor
1
2
3
4
5
Available structures
Structure Rule Viewer
Rule Details
Results Viewer
ValidationProcess
EDXL TC - January 2008 10
Conceptual View of EDXL transaction
Transaction
Templates
StructureRulesContext3
2
Use Rules
html
XML
Reportshtml
Publish
1
Common Details
Rules
4
Share Details
Address
Facility
Contact
Vehicles
Emergency
Revenues
Activity
Content Rules
Lookup Values
Context
VersioningResources
EDXL TC - January 2008 11
Illustrative EDXL requirements
• When Admissions Total > 50– AND Deaths > 0
• When AdultICU Bed type > 0– AND Triage Quantity > 5
• Require Facility State = CA, NV, NM
EDXL TC - January 2008 12
CAM rules syntax
<as:BusinessUseContext> <as:Rules> <as:default> <as:context>
<as:constraint condition="//Activity24Hr /Admissions > 50 and( // Activity24Hr /Deaths > 0)" action="restrictValues(//
Activity24Hr /Admissions, ‘Alert – possible outbreak’) "/>
<as:constraint action="restrictValues(//ns5:AdministrativeArea /ns5:NameElement , 'CA|NV|NM')"/>
</as:context> </as:default> </as:Rules> </as:BusinessUseContext>
EDXL TC - January 2008 13
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
• Providing open sharable templates and documentation
• Re-use easier through support for includable components
• Ability to integrate to business processes and context
• Enabling more robust fault tolerant processing + versioning
• Open source, open public standard toolkit – editor + engine
EDXL TC - January 2008 14
Questions?
EDXL TC - January 2008 15
www.jcam.org.uk
camprocessor.sourceforge.net
www.drools.org (JRules)
www.oasis-open.org/committees/cam
docs.oasis-open.org/cam
Resources:
EDXL TC - January 2008 16
History and Status of CAM work
• OASIS technical committee• Five years of combined development in
UN/CEFACT and OASIS• OASIS v1.1 public standard and specification • jCAM open source implementation in Java• Creating simple XML-scripted open standard
mechanisms for XML transaction assembly and processing
• Re-use: leverages XPath and xslt, and saxon• Developing templates for common industry
formats
EDXL TC - January 2008 17
CAM Processor 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
EDXL TC - January 2008 18
Using jCAM :
• Start with sample XML
• Use Eclipse template editor
• Load XML, generate CAM
• Enhance base template
• Test, refine and deploy
• Generate documentation
• 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
EDXL TC - January 2008 19
Interactive Documentation (iDoc)
CAM Template
XSLT
iDocwiki
HTML
EDXL TC - January 2008 20
A special mention for our contributors to the CAM and jCAM work:
UK - Martin Roberts and team from BTplcUS - Sidhartha Nagolu from AC-Tech / NIH
Credits: