Copyright OASIS, 2004 Resources: http://www.oasis-open.org/committees/cam http://www.jcam.org.uk Naming Conventions and OASIS CAM David RR Webber Chair.
Post on 19-Jan-2016
Embed Size (px)
Naming Conventions and OASIS CAMResources:http://www.oasis-open.org/committees/camhttp://www.jcam.org.uk David RR WebberChair OASIS CAM TChttp://email@example.comGov TC, Washington DC, July 2004.
Two world views programmer v modellerProgrammer wants efficient structures
Production manager wants efficient throughput and low transaction exchange costsModeller wants semantic relevant namesBusiness analyst wants domain relevant namesMulti-national implementation wants localization of terms
eBusiness XML parsing - mission profileWorking with vocabularies and naming systems Opening up business integration rulesHandling local context driversValidating content with semanticsHow does W3C XSD schema help?What does OASIS CAM provide?How do you create efficient payload structures?
Topics Naming Convention SystemsUnderstanding Elements / Attributes / Data types / NamespacesUsing Vocabularies / Legacy Semantics Deployment / Business Context MechanismAlignment of Industry VocabulariesSummary
Content Assembly TechniquesNaming Convention Systems
Conceptual: Data Elements build TransactionsCONTEXT
Example #1 - Core ComponentsCreate Long Term ContractForecast Component RequirementsSend Planning DocumentPlace OrderShip MaterialsCustomerArrange PaymentSupplierDomain: Matl MgmtIndustry: AutoRegulatory: SafetyContextProviding supply chain messaging using CCTS
Example #2 - Context Affects Person depending on Role.
How do you put this all together?Where / WhoWhere / WhoWhere / Who
Combination of ComponentsLogical ComponentsRegistry DefinitionsCAM template Content ReferencesXSD Structure componentsXML instancesLinkage LayerDefinitionsInstancesNaming conventionsLocal usage terms
Separation of tagging from logical useXSD defines structure and tag namesRegistry holds semantic definitions of nouns in vocabularyCAM template provides linkage between vocabulary and XML instanceContext allows specialization and localization to be applied
Capturing Noun SemanticsDraft layout for storing noun details in registrySee: OASIS Registry Semantic Content Management sub-committee work (SCM SC)Can use DesignerTools to automatically generate from XSD model
Reference Nouns from CAM templateUsing the UID reference, and Registry alias mechanisms associate content in the schema layout with noun semantic referenceDefine Registry AliasAssociate structure items
Noun semantics referencing
Example : Person Scenario Details in Real WorldEnglish or French Text DocumentHTMLXML SchemaPDF eFormsCORE COMPONENTBUSINESSINFORMATION ENTITYSYNTAX BIEEXPRESSIONUSAGECONTEXTContext 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 Schema1. Example: AGESyntax IndependentSyntax Bound2. Becomes: PERSON.BIRTH.DATE of Suspect3.Is expressed in an XML schema fragment
Elements / Attributes / Data typesWhile 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.
Aligning Terminology and UsageXML allows for freeform naming of content tagsCAM provides the means to link those tag names to standard industry terms and definitions within a formal vocabularyThis also means that multi-lingual support is built-inYou can also version those referencesRegistry SCM team is defining noun semantics
Noun Semantics SummaryCAM 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.
More thoughts : Names and NamespacesIs this a solution looking for a problem?How much irresolvable collision of names really happens in a given XML instance?Local and global declarationsCan 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!
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.
Elements / Attributes - SummaryCAM facilitates the use of simple XML V1.0 based structure definitions that provide very stable interoperability and compatibilityThe CAM template provides the means to express the semantics around the content in the target XML structureThe cardinality and logic statements in CAM provide the means to assemble together a clear structure instance schemaRemoves the need to use namespaces to avoid naming collisions.The next section looks at the techniques and examples
Tools that support the development of industry vocabularies for noun semantics and legacy transaction integration. Aligning Industry Vocabularies
Noun Semantics common foundationNeed consistent way of expressing noun definitions across industry domainsRegistry SCM provides path to thatExisting industry domain vocabularies can be easily populated into Registry using the noun semantics layoutOnce loaded Registry provides powerful set of tools to aid alignment associations, classification, ontologies, discoveryAlignment is two steps internal, then external
Registry RolesA semantic registry is the key foundation block upon which global electronic business exchanges will be built.CAM
- Example : Managing Process / TransactionsContentAssemblyTemplateXMLinstancestructure(s)Business context rules+Content Reference rules+Data Validation rules+External Mapping rulesLogical business transaction can have more than one structure layoutcan add inline rules directly into structuremakeOptional()excludeTree()item type="noun" name="Agency/@AgencyID" UIDReference="ukt000910"
Resources and PlanningSummary
Summary: The Holy Grail of e-BusinessAutomatic 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.
Next StepsWork in progress: Formal Publication of OASIS SpecificationContinue development of jCAM processorLibrary of CAM templates by industryIntegration with OASIS Registry assemblyBuilding of noun semantic dictionaries
Available Components / ResourcesjCAM componenthttp://jcam.org.ukVisualScript editor for CAM templateshttp://www.visualscript.comJAXE editor with CAM XSDhttp://www.jaxe.org OASIS CAM TChttp://www.oasis-open.org
Get involved in OASIS CAMDownload the specs from www.oasis-open.orgOpen source resources www.jcam.org.uk Encourage your industry group to adopt CAM templates for their standardsSpecify CAM-compliance from providers
OASIS Content Assembly MechanismApril 2004 http://www.oasis-open.org/committees/cam Thank Youwww.oasis-open.orgxml.coverpages.orgwww.xml.org
Basically you can do four separate things: 1) Assemble schema fragments into an XSD - driven by context rules - then use that result XSD as your validation vehicle. 2) Augment XSD - just use actual XML to layout your transaction model. Embedded into this XML are predicates and context statements. Use this blueprint to validate content. This is superior to XSD alone - since CAM provides much more than either XSD, Schematron or XSLT in this B2B content checking role. 3) Map content to/from SQL database using the external mapping section - tallied to 2) above - i.e. you have XML blueprint of the transaction - then you associate target fields in the SQL tables that go with the elements / attributes in the XML. 4) Merge mode - target is a layout structure - such as HTML table, XForms document, Display layout on a PDA. This works like 3) - except there is an additional layout format to describe the target. We added this because the UPU wanted us to create address labels for printing on bulk mailings given an XML document containing address data. This is context driven of course. Then there is the context mechanism itself - and the layout it is using. This can be used separately i.e. by BPSS or CPA - to state what the context rules are for a given business process / collaboration agreement. And last there is the registry linkage for the noun semantics - so you can look up rules about fields without having to specify them in the template. Instead they are in the registry - and a UID crossref' links them. Important to note:
Data Elements can be aggregated to build bigger structures such as documents much like Lego can be used to build bigger toys.
At this point, there are no display semantics or dependencies.
Clean separation of content from display is a key concept for enabling one format to be consumed by both humans and applications.
Processes can be referenced and inferred by the context in which the data element aggregation is used.This slide demonstrates the fact that a Data Element representation term changes depending upon the context in which it is used. This slide only shows two of the possible 8 context categories language (Geo political) and Role and the possible outcomes based on the values for the context.Main point is to emphasize the use of context as a mandatory component of defining semantics. Even the context of the role can affect how someone looks at a piece of data.