Copyright OASIS, 2004
Resources:http://www.oasis-open.org/committees/camhttp://www.jcam.org.uk
Naming Conventions and OASIS CAM
Naming Conventions and OASIS CAM
David RR Webber
Chair OASIS CAM TChttp://drrw.net
eGov TC, Washington DC, July 2004.
Copyright OASIS, 2004
Two world views – programmer v modeller
• Programmer wants efficient structures
– <bzTrn><Data><Line fld1=“A”/></Data></bzTrn>
• Production manager wants efficient throughput and low transaction exchange costs
• Modeller wants semantic relevant names
• Business analyst wants domain relevant names
• Multi-national implementation wants localization of terms
Copyright OASIS, 2004
eBusiness XML parsing - mission profile
• Working with vocabularies and naming systems
• Opening up business integration rules
• Handling local context drivers
• Validating content with semantics
• How does W3C XSD schema help?
• What does OASIS CAM provide?
• How do you create efficient payload structures?
Copyright OASIS, 2004
Topics
• Naming Convention Systems
– Understanding Elements / Attributes / Data types /
Namespaces
– Using Vocabularies / Legacy Semantics
– Deployment / Business Context Mechanism
– Alignment of Industry Vocabularies
• Summary
Copyright OASIS, 2004
• Content Assembly Techniques
Naming Convention SystemsNaming Convention Systems
Copyright OASIS, 2004
Conceptual: Data Elements build Transactions
Name
Address
Phone #
Company
Company
Phone #
Address
Name
Party
Party ID
Invoice
PO #
Line Item
Cost
CONTEXT
Copyright OASIS, 2004
Example #1 - Core Components
Create Long Term Contract
Forecast Component Requirements
Send Planning Document
Place Order
Ship Materials
Customer
Arrange Payment
Supplier
Domain: Matl Mgmt
Industry: Auto •Ship Notice
Regulatory: Safety
Change Lvl
Container
Serialized ID
ProdId
Part Number
Ship’d Qty
Context Providing supply chain messaging using CCTS
Copyright OASIS, 2004
Example #2 - Context Affects “Person” depending on “Role”.
CORE COMPONENT
(PERSON)
Police Officer knows he is a WITNESS
FRENCHENGLISH
Police Investigator thinksHe is a SUSPECT
NPB calls him a PAROLEE
Corrections call him aINMATE / CRIMINAL
Judge calls him aDEFENDANT
L'officier de police sait qu'il est un TÉMOIN
L'investigateur de police pense qu'il est un SUSPECT
NPB l'appelle un LIBÉRÉ SUR PAROLE
Les corrections l'appellent un DÉTENU/CRIMINEL
Le juge l'appelle un DÉFENDEUR
Copyright OASIS, 2004
How do you put this all together?
Action Event
InformationRuleWhatWhy
How When
Where / Who Where / Who Where / Who
Action Event
InformationRuleWhatWhy
How When
Action Event
InformationRuleWhatWhy
How When
Copyright OASIS, 2004
Combination of Components
Logical Components
Registry Definitions
CAM template Content References
XSD Structure components
XML instances
Linkage Layer
Definitions
Instances
Naming conventions
Local usage terms
Copyright OASIS, 2004
Separation of tagging from logical use
• XSD defines structure and tag names• Registry holds semantic definitions of nouns
in vocabulary• CAM template provides linkage between
vocabulary and XML instance• Context allows specialization and localization
to be applied
Copyright OASIS, 2004
Capturing Noun Semantics• Draft layout for
storing noun details in registry
See: OASIS Registry Semantic Content Management sub-committee work (SCM SC)
Can use DesignerTools to automatically generate from XSD model
Copyright OASIS, 2004
Reference Nouns from CAM template
• Using the UID reference, and Registry alias mechanisms – associate content in the schema layout with noun semantic reference
Define Registry Alias
Associate structure items
<ContentReference> <Addressing> <registry name="OAGBOD" access="registry.oagi.net:1025" method="http-binding" description="OAGi BOD Element Dictionary Registry access"/> </Addressing>
<item type="noun" name="//DataArea/oa:Sync@confirm" UIDReference="IVI070020" taxonomy="UID" registry=“OAGBODI" setValues="'Never','Always'" /> <item type="noun" name="//EffectivePeriod@inclusive" UIDReference="IVI070025" taxonomy="UID" registry=“OAGBOD" setValues="'True','False'" />
</ContentReference> Noun semantics referencing
Copyright OASIS, 2004
Example : Person Scenario Details in Real World
English or French Text DocumentHTMLXML SchemaPDF eForms
CORE COMPONENT
BUSINESSINFORMATION
ENTITY
SYNTAX BIEEXPRESSION
USAGECONTEXT
Context Key:UID:RCMP023079:00Geo-Political Context: English or FrenchLegislative Context: Narcotics LegistationIndustry Context: NAICS 9221Process Context: HC 3515Process Role Context: Police ChiefSupporting Role Context: RCMP Investigator Product Context: Case Management SystemSystems Capabilities Context: XML Schema
1. Example: AGE
Syntax Independent
Syntax Bound
2. Becomes: PERSON.BIRTH.DATE of Suspect
3.Is expressed in an XML schema fragment
Copyright OASIS, 2004
Elements / Attributes / Data types
• While these are at the heart of XML syntax, they are also in many ways an odd-ball trio.
• If you ask ten people about these, you will get ten different views, or more!
• How do you get to consistency of use and sensible use standards?
• How do you apply versioning and reuse?
• CAM allows you to treat structure elements and attributes consistently and apply robust data typing and validations to them equally as nouns.
Copyright OASIS, 2004
Aligning Terminology and Usage
• XML allows for freeform naming of content tags• CAM provides the means to link those tag names
to standard industry terms and definitions within a formal vocabulary
• This also means that multi-lingual support is built-in
• You can also version those references• Registry SCM team is defining noun semantics
Copyright OASIS, 2004
Noun Semantics Summary
• CAM uses a simple unique identifier system (UID) tailored to the target domain – such as ISO11179, UDEF, RosettaNet, FIX, legacy EDI and more.
• With a neutral logical labelling system you decouple away from dependency on explicit human readable names – and can resolve possible collisions.
• Facilitates a system of nouns and constructing a vocabulary that provides consistent semantic use.
• Enables libraries of structure parts and foundation for automated crosswalks between transaction documents and application stores.
Copyright OASIS, 2004
More thoughts : Names and Namespaces• Is this a solution looking for a problem?
• How much irresolvable collision of names really happens in a given XML instance?
• Local and global declarations– Can you just include a piece of XML into another XML
structure and it always work?
• Can you work smart and build XML that is self-defining and always locally unambiguous?
• What we really need is a way of establishing logical identifiers that link consistent semantics – regardless of the tag name used!
Copyright OASIS, 2004
Namespaces – when to use them?• CAM itself uses namespaces.
• The most coherent reason to use them is not to apply prefixes to every piece of content – that is wasteful, confusing and prevents easy content reuse!
• CAM uses namespaces to denote a stream of markup within markup. In other words – markup that is there only to direct how the main markup is to be used - e.g. inline predicates and assertion rules.
• This use of namespaces is simple and clear.
• A namespace prefix may also denote ownership organization location in a purely informational role.
Copyright OASIS, 2004
Elements / Attributes - Summary• CAM facilitates the use of simple XML V1.0 based
structure definitions that provide very stable interoperability and compatibility
• The CAM template provides the means to express the semantics around the content in the target XML structure
• The cardinality and logic statements in CAM provide the means to assemble together a clear structure instance schema
• Removes the need to use namespaces to avoid naming collisions.
• The next section looks at the techniques and examples
Copyright OASIS, 2004
Tools that support the development of industry vocabularies for noun semantics and legacy transaction integration.
Aligning Industry VocabulariesAligning Industry Vocabularies
Copyright OASIS, 2004
Noun Semantics – common foundation• Need consistent way of expressing noun
definitions across industry domains• Registry SCM provides path to that• Existing industry domain vocabularies can be
easily populated into Registry using the noun semantics layout
• Once loaded Registry provides powerful set of tools to aid alignment – associations, classification, ontologies, discovery
• Alignment is two steps – internal, then external
Copyright OASIS, 2004
Registry Roles “A semantic registry is the key foundation block upon which global electronic business exchanges will be built”.
BusinessAnalyst
Web Interface
InformationProfiles
Distribution
Administration
Program LevelSemantics
Information Engine
Industry Business StandardsRegistry Protocol StandardsebXML, ISO11179, OASIS,
OAGi, RosettaNet, UBL, UDEF
XML
Software Developers
Interchange
CAM
Copyright OASIS, 2004
ContentAssemblyTemplate
Example : Managing Process / Transactions
XMLinstance
structure(s)
Business context rules
+Content Reference rules
+Data Validation rules
+External Mapping rules
Logical business transaction can have more than one structure layout
can add inline rules directly into structure
makeOptional()excludeTree()
item type="noun" name="Agency/@AgencyID" UIDReference="ukt000910"
<conditional expression="'//SupplierID' and lookup(value,'SGIRWSDL:supplierID_check')"<MapRule output="type" input="Sales/Company/Year/Qtr/Product@type"/>
Simple Declarative Statements
BPMStep
transactiontemplate
Copyright OASIS, 2004
Resources and Planning
SummarySummary
Copyright OASIS, 2004
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 three critical abilities:
– documentation of business interchange transactions, – design-time assembly support with verification, – and runtime checking of information content.
Copyright OASIS, 2004
Next Steps
• Work in progress: – Formal Publication of OASIS Specification– Continue development of jCAM processor– Library of CAM templates by industry– Integration with OASIS Registry assembly– Building of noun semantic dictionaries
Copyright OASIS, 2004
Available Components / Resources
• jCAM component– http://jcam.org.uk
• VisualScript editor for CAM templates– http://www.visualscript.com
• JAXE editor with CAM XSD– http://www.jaxe.org
• OASIS CAM TC– http://www.oasis-open.org
Copyright OASIS, 2004
Get involved in OASIS CAM
• Download the specs from www.oasis-open.org• Open source resources www.jcam.org.uk • Encourage your industry group to adopt CAM
templates for their standards• Specify CAM-compliance from providers
Copyright OASIS, 2004
OASIS – Content Assembly Mechanism
April 2004
http://www.oasis-open.org/committees/cam
Thank YouThank You
www.oasis-open.orgxml.coverpages.orgwww.xml.org