370 likes | 548 Views
Quick Guide to CAM Dictionaries. Building and using Canonical XML dictionaries for CAM. Author: David RR Webber Chair OASIS CAM TC April, 2010 http://www.oasis-open.org/committees/cam. (CAM – Content Assembly Mechanism Specification). Agenda. Why Dictionaries?
E N D
Quick Guide toCAM Dictionaries Building and using Canonical XML dictionaries for CAM Author: David RR Webber Chair OASIS CAM TC April, 2010 http://www.oasis-open.org/committees/cam (CAM – Content Assembly Mechanism Specification)
Agenda • Why Dictionaries? • Making interoperability baked into the XML infrastructure • Linguistic and semantic alignment; neutral representations • International and national initiatives • Dictionary concepts • What does the dictionary contain conceptually? • Understanding the dictionary XML / use with spreadsheets • Mapping across domains • Generating Dictionaries • Harvesting from existing sources | Using modelling tools | Manually • Catalog of existing dictionaries • Available dictionaries and domains • More Dictionary tools
Why Dictionaries? Making interoperability baked into the XML infrastructure Linguistic and semantic alignment; neutral representations International and National initiatives
Baking in Interoperability • Using consistent component definitions dramatically improves interoperability and reuse • Having formal design methods makes development faster, easier, predictable and repeatable • Aligning local practice to industry domain dictionary can reduce complexity and reinforce best practices • Dictionary definitions can be automatically evaluated for common mistakes and this reduces the opportunity for errors during design phase • Generating software artifacts from neutral dictionary definitions ensures reliable information exchange results across user communities and their particular systems, platforms and tools
Neutral Content Model Representation • Neutral representations allow business stakeholders to participate in dictionary development without technology barriers • Concise neutral formats can be viewed as simple spreadsheets as they have no special syntax dependencies • Based on open public standard specifications, semantic concepts and leading knowledge domain techniques • Neutral representation prevents lock-in by vendor, syntax, tooling or platforms • Maximizes flexibility and future proofing of dictionary definitions
Linguistic and Semantic Alignment • Formal community domain naming and design rules provide consistency of definitions • Consistency of definitions minimizes duplication and overlapping of dictionary components • Dictionaries allow collaboration on component development to improve the overall results • Formal component content detail drives alignment • Design best practices ensure logical self-contained components that can be selected contextually • Avoids explosion of complexity and excessive over definition (e.g. “kitchen-sink” schema)
International and National Initiatives • Sampling of prior dictionary related work • ISO 11179 • UN/CEFACT CCTS / ebXML • OASIS Registry / Repository specifications • USA national initiatives • NIEM • UK / EU examples • e-GIF • RIDE (Health interoperability) • Industry work • HL7 and NIST – Healthcare term registry • Geospatial use of ebXML registry
Introduction to dictionary concepts What does the dictionary contain conceptually? How does the XML organize the information? How does this relate to Excel spreadsheets? Mapping to dictionary and between domains
Conceptual Information Model Follows Naming and Design Rule (NDR) principles and rules Canonical Components Dictionary XML Each compound component Parent (ABIE) Item Parent (ABIE) Item Parent (ABIE) Item Parent (ABIE) Item . . . . . Each atomic component Attribute (ASBIE) Child (BBIE) Item Child (BBIE) Item Child (BBIE) Item Child (BBIE) Item Attribute (ASBIE) Attribute (ASBIE) ebXML CCTS terms (ABIE, BBIE, ASBIE) Parent = Aggregate Business Information Entity Child = Basic Business Information Entity Attribute = Association Business Information Entity Attribute (ASBIE) Optional attributes of component * CCTS – Core Components Technical Specification
Example – Person Name • Person Name (ABIE) • Verified Details? (ASBIE) • First Name (BBIE) • Middle Name (BBIE) • Last Name (BBIE) • Previous Name? (ASBIE) • Language Code (BBIE) Language Code may exist independently of Person Name Verified Details and Previous Name are flags that denote additional information about the entity they are associated with There are three components aspects represented: structure relationships; content rules; definitions
Conceptual Information View Structure Rules CAM Template Definitions DICTIONARY COMPONENTS DOMAIN DATA COMPONENTS Items Item CAM toolkit processing Properties Name Unique ID Component Type Cardinality Content Type Content Mask Children Uses tools in desktop CAM toolkit editor Group Structure Context Where from Definition Rules Language, Label, Notes * Required items in Blue
XML View of Dictionary Content Name Unique ID Component Type Cardinality Items * See slide notes for explanation Content Type Content Mask
Excel Spreadsheet View properties as columns An item per row
Mapping to Dictionaries • You can compare a template of components to a dictionary • check within a domain for alignment to dictionary • check between domains for interoperability • incrementally adding new components to dictionary • Matches on physical names • Reports matching items and details • Reports statistics and percentages of matching • Generates crosswalk xml file • Compatible with Microsoft Excel • Report can be used to do spell checking
Example cross-reference spreadsheet Formatted view in Microsoft Excel of import of cross-reference report details (from generated XML file) Matched details; item and alignment
Generating Dictionaries Harvesting from existing sources Using modelling tools Manually from scratch Renaming tool
Harvesting from Existing Sources • Schema of exchange structures • Physical database models
Using Modelling Tools • Existing logical data models • Creating new data models
LEGEND Automated Manual Analyst Review Apply Naming and Design Rule (NDR) checks and edits Option 1 – From Enterprise Data Model Import XSD and refactor for use with OASIS CAM Building Domain Dictionaries 1 3 Import EDM Model Components XSD schema OASIS CAM template NDR Evaluation, Refactor, Renaming Tool Analyst Review 4 Export Components in XSD syntax Collection of objects from model Ele Def XML 5 Generate Standard Components Dictionary XML DDL ebXML CCTS compatible (ABIE, BBIE, ASBIE) Dictionary of exchange components Option 2 – Derive from existing exchange XSD schema Import each XSD and merge into CAM dictionary 2 3 4 5 Merge & Generate Dictionary XML NDR Evaluation, Refactor, Renaming Tool CAM template Exchange XSD schema XML Import CAM template Exchange XSD schema OASIS CAM template Import Exchange XSD schema Dictionary of exchange components Import ebXML CCTS compatible (ABIE, BBIE, ASBIE)
From modelling tools • Ingest • Refactor • Compress • Add namespace • Rename (progress) + re-open, save to CAM • Evaluate • Advanced – editing word-utils / preferences
Creating from Scratch • Outlining components in XML • Editing spreadsheet
Dictionaries Catalog Available dictionaries and domains
Dictionary Tools Building Exchanges from Components Renaming tool
Using Dictionaries & Blueprints • Dictionaries provide reference sets of components to be used in exchanges; three possible sources: • Dictionaries imported from existing industry schema • Domain dictionary built from an Enterprise Data Model schema • Reverse engineered out from existing exchange schema • Blueprint • Is the outline of the structure components to be used in an exchange schema • Can import components from one or more domain dictionary collections • Sketches out the desired information exchange with re-use of existing exchange component structures, plus any local additions / extensions / exclusions • Expander tool reads the blueprint, references the dictionary, and constructs the complete exchange schema
Component Definitions Component Definitions Dictionary Development Tools Excel Domain dictionary Web tool 1 Blueprint Designer Industry dictionary 2 Search Tools Expander Tool 3 Insert Dictionary Parent Components 4 5 Completed Exchange Template
Review • Top Down development • Reference dictionary components • Create exchange blueprint • Run Expander tool • Refine desired structure in visual editor • NDR Principles and Rules • Best practices for interoperability and schema techniques • Dictionary driven reuse • Enterprise Data Model and industry components • Ensures consistency of definition and use • Automated exchange package generation • Schemas, XML, documentation, mapping crosswalk • Test generated example XML with rules validation
Business Modelling Charter Import EDM Import XSD Work- Group CAM Enabled Naming / NDR / spell check Generate Dictionary Search tools Desktop Web based Blueprints Dictionary Excel Dictionary Completed Exchange Structures NDR Evalu- ation Rules Report XML examples XSD schemas Validation Engine Subset Schema Crosswalk Test Cases Mapping Spreadsheet Rendering Stylesheet Accelerated Process Overview Dictionary Generation Project Inception Model Exchange Exchange Content Modelling dictionaries Expand and Evaluate Results Expand, Review, Refine Review / Tailor Exchange Structures Completed Exchange artifacts Test examples and rules Generate Package Artifacts and Test them Package Exchange
LEGEND Automated Manual Blueprint Approach Overview Target applications 3 Pick Components Structure Outline Blueprint Industry dictionaries formatted as XML Exchange generator tools (CAM) 4 Enterprise Data Model Import and refactor for use with CAM 6 Expand Structure Exchange Structure 2 Exchange Components 1 Build EDM Exchange Blueprint Designer User Interface Local domain dictionary formatted as XML Ele 5 Exchange Package 7 Components Definition (XML) Def Ele Def DDL Dictionary Repository
Generate Documentation and Schema • Documentation: • Create HTML report of exchange schema details and associated content and business rules • Report layout and content designed to be reviewed by business analysts • Schema: • Generate XSD schema for exchange • Customizable exchange folder layout management by namespace for extension, subset and exchange schema components • Writes XSD schema in syntax that is clear, simple and compatible with deployment tooling environments
Summary Dictionary driven exchanges Blueprint enabled reuse Automated exchange package generation Alignment to NDR Principles and Rules Testing and validation support
Domain Exchange Development Steps • Adopt formal Naming and Design Rules (NDR) • UN/CEFACT – NDR • OASIS UBL – Universal Business Language • OASIS EML – Election Markup Language • NIEM – National Information Exchange Model approach (http://www.niem.gov) • OASIS EM - Emergency Management joint initiative with NIEM • Develop data models of core components for use in exchanges • Build Dictionary of Core Components • Provide Principles and Rules guidance to schema team • Use namespaces, Yes / No? • Camel case naming convention? • Schema constructs and restrictions on use? • Information Exchange Package Documentation (IEPD) • Describes formal exchange that conforms to NDR and principles and rules • Provides schema, example XML, supporting artifacts • Re-uses core components • Defines domain specific components
OASIS Content Assembly Mechanism (CAM) & Integration Technologies Guide W3C XSD Schema Ontology Classification Discovery Machine Based Reasoning Shared Semantics Registry OASIS CAM Templates Domain Dictionaries NDR - WHEN? • Alerts • Process control • Workflow • Automated interfacing • Business Intelligence - WHERE? • Domain classification systems • Ontology and reasoning definitions • Associations and linkages • Search and drilldown • Modelling tools • HOW? WHY? • Provides actual use patterns (templates) • Supports context handling and rules • Rendering outputs and documentation for verification • Enables integration testing / certification • Versioning - WHERE? • Shared resources of semantic definitions • Code lists • Dynamic rendering • Distributed versioning control • Role and access security management • WHAT? • Provides lexicon of information content • Describes structure constructs • Arranges groups of information • Simple content typing • Software tooling interfaces - WHO? • - Alignment of meaning and terms • - Consistent domain definitions • Modelling methods and practice • Business information content building blocks
Reference Materials References and Links
Links and Resources • DOWNLOADS - • CAM Toolkit download • https://sourceforge.net/projects/camprocessor • SUPPORTING MATERIALS - • NIEM Naming and Design Rules (NDR) 1.3 • http://www.niem.gov/pdf/NIEM-NDR-1-3.pdf • RESOURCES – • UN/CEFACT Core Components Technical Specification • http://www.unece.org/cefact/ebxml/CCTS_V2-01_Final.pdf • Additional support slides (following)
Static Conventional Models, Artefacts, Code WSDL,XSD,UML,XML Blueprint Driven Approach Data models Excel spreadsheet Blueprint Templates XML visualization XML artifacts XSD schema Agile Dynamic Components TEMPLATES BUSINESS USERS Needs Requirements Procurement Implementation /Use Dynamic Installation Adoption, integration Coding Maintenance Test Design Specification Analysis Software code Compilers Deployment servers XSD schema XML artifacts SW DEVELOPERS
Technology Targeting • Syntax specific production rules 4 XML 2 • Domain Dictionary Details Stored 1 • Wizard • runtime configuration • Template 3 • design time • Exchange Interface / Blueprints • Visual editor + review / test / completion steps 5 • Library • Object templates/Components XML XML XML XML • Facets • Questions / Data • Solution Specific Syntax