240 likes | 364 Views
Ken Sall , SAIC / KC Morris , NIST Presented to the Data Architecture Subcommittee (DAS) of the CIO Council’s Architecture and Infrastructure Committee (AIC) July 13, 2006. Federal XML Naming and Design Rules and Guidelines (NDRG) / XML Schema Guidelines (XSG) – An Overview. Agenda.
E N D
Ken Sall, SAIC / KC Morris, NIST Presented to the Data Architecture Subcommittee (DAS) of the CIO Council’s Architecture and Infrastructure Committee (AIC) July 13, 2006 Federal XML Naming and Design Rules and Guidelines (NDRG) / XML Schema Guidelines (XSG) – An Overview
Agenda • What/Who: • NDR is? / Background / Status of NDRG / Participants • Why: • Interoperability / Reuse /Sharing / Proliferation of NDRs • How: • Approach for Going Forward / Quality of Design (QOD) Tool / XML Schema Guidelines (XSG) / Authoring and Sharing Environment • Where: • CORE.gov, NIST, SourceForge
What is an “NDR”? • Naming and Design Rules • Any of a series of rules documents since 2003 that restrict XML Schema flexibility by proscribing which features should, may, may not, should not, must, or must not be used • Focuses only on XML Schema • not DTDs, RELAX NG, XSLT, XSL-FO, DOM, SAX, etc. • Tends to be very specific and integrated; adopt as a whole, not partially – debatable! • Original impetus was E-Commerce (UN/CEFACT and UBL)
What is an NDR? — Naming Rules…. • Naming rules: the names are the [XML] tags used by the exchange file • Names represent information to be exchanged • Names vary between the systems being integrated • A single common name for a given concept is adopted for the integration • Consistently representing those names helps usability of the XML Schema Source: KC Morris (kcm@nist.gov), Boonserm Kulvatunyou, et al, NIST/MSID (Manufacturing Systems Integration Division
What is an NDR? – … and Design Rules • Design Rules address how information is structured • Superstructures: namespaces • Microstructures: global vs local elements Source: KC Morris (kcm@nist.gov), Boonserm Kulvatunyou, et al, NIST/MSID (Manufacturing Systems Integration Division
Why is an NDR needed? • Many features of XML (in general) and XML Schema are optional, so developers have many choices to make: • lowercase, camelCase, UpperCamelCase, UPPERCASE? • Namespaces as URLs or URNs? • Local or global scope for elements? • Versioning, modularity, extensions? • Highly structured, consistent, and clear rules or guidelines promote reusability, interoperability and information sharing both within an organization and across organizations.
Benefits of NDR Encoding • NDR can be computationally enforced! • Encoding of rules results in better rules • The process of encoding tests the rules • Executing the rules results in better XML Schemas • The benefits of the NDR are achieved • Cycle time from requirements for a schema to production XML is reduced • [Korean group reduced time from 2 weeks to 3 days] Source: KC Morris (kcm@nist.gov), Boonserm Kulvatunyou, et al, NIST/MSID (Manufacturing Systems Integration Division
NDRG Background and Status [1] • NDR = (XML) Naming and Design Rules – generic term • NDRG = (Federal XML) Naming and Design Rules and Guidelines • May 2005: Work initially funded by GSA/OGP, under the XML Community of Practice (Owen Ambur, co-chair). LMI: authors/editors. A dozen participants. • 5 drafts circulated over about 9 months. Many open issues. No code examples until last version. • Participation varied, only a few agencies represented. • Mar. 6, 2006: Cease Work Instruction issued by GSA.
NDRG Background and Status [2] • Mar. 15, 2006: Going Forward - XML CoP presentations at NIST: • NIST Quality of Design Tool (QOD) • Lessons Learned from Encoding the DON NDR • Potential Next Steps • Since May 2006 – Bi-weekly telecons hosted by NIST. • Quality of Design Tool (QOD) progressing nicely • XML Schema Guidelines (XSG) – outline only • Using CORE.gov for docs: NDRG/XSG Community • Using SourceForge for QOD development • Few participants • July 19, 2006: KC Morris presenting to DoD Metadata WG
NDRG / XSG: Participants (partial list) • Key Current Participants • KC Morris – kcm@nist.gov • Serm Kulvatunyou – serm@nist.gov • Josh Lubell – lubell@nist.gov • Betty Harvey, ECC, Inc. - harvey@eccnet.com • Ken Sall, SAIC – sallk@saic.com (for ODNI CIO/ICEA) • Joe Pantella, FGM, Inc. - joe@fgm.com (for DISA/DoD Metadata Registry) • Owen Ambur - Owen_Ambur@ios.doi.gov (XML CoP co-chair) • New Participants • Priscilla Walmsley, Datypic – former member, W3C XML Schema and XQuery Working Group (confirmed) • Webb Roberts, GTRI for NIEM (not yet confirmed)
NDRG / XSG: Participants (partial list) [2] • Previous Participants • Paul Macias and Greg Wilson, LMI (authors of draft NDRG through Mar. 2006) • Sol Safran, IRS • Mike Grimley, DoN • Chris Traver, DoJ • Joe Chiusano, BAH • SSgt Rebecca Wilde, USAF • Winchel "Todd" Vincent III, xmlLegal.org • Marion Royal, GSA/OGP • Mark Crawford, SAP (formerly LMI)
One NDR That Rules Them All? [1] • U.S. Government • EPA Exchange Network XML Design Rules and Conventions • Federal XML Naming and Design Rules Project • Global Justice XML Data Model (GJXDM) Naming and Design Rules • IRS XML Naming and Design Rules • US Department of the Navy XML Naming and Design Rules • Education: Federal Student Aid - XML Registry Links from Cover Page on NDR. [With apologies to J.R.R. Tolkien.]
One NDR That Rules Them All? [2] • International • Danish XML Project: OIOXML Naming and Design Rules • Hong Kong OGCIO Interoperability Framework for E-Government • OAGIS Naming and Design Rules (NDR) • OASIS LegalXML Exchange Document Methodology, Naming, and Design Rules (MNDR) Subcommittee • Universal Business Language (UBL) Naming and Design Rules • UN/CEFACT XML Naming and Design Rules Technical Specification • AIAG (Automotive Industry Action Group) • Others?
NIST Quality of Design Testing Tool (QOD) • Contains rules based on NDRs from a number of sources • Stores executable test cases written in Schematron and Java Expert System Shell (JESS) • Executes tests against user-provided schemas and reports results [i.e., which rules does schema not comply with] • Used to organize tests into profiles Source: KC Morris (kcm@nist.gov), Boonserm Kulvatunyou, et al, NIST/MSID (Manufacturing Systems Integration Division
Why QOD? • Addresses proliferation of NDRs • Overlapping NDR standards • Supports reusability of rules • Highlights ambiguous rules • Provides an explicit structure for rules in NDRs • [Betty Harvey is developing an XML Schema for NDR rule structure and another for NDR document structure] • Automates rule enforcement • Enables versioning and traceability Source: KC Morris (kcm@nist.gov), Boonserm Kulvatunyou, et al, NIST/MSID (Manufacturing Systems Integration Division
Rule 1, Test 1 Rule 2, Test 2 XSD of rule structure Executable Tests (Schematron, JESS) Quality of Design Tool – Testing Environment Rule N, Test N QOD Common Rule Database Rule Input & Test GUI Schema to Check Schema Compliance Report
QOD is a Database of Rules • Where we are: QOD as a Testing Tool • Tool is available online with an account • Database contains sampling of rules from DON, UBL, AIAG • Users may submit others • Where we are going: NDR Authoring and Sharing Environment • Tool being developed at NIST • XML Schema Guidelines (XSG) being developed within XML CoP – help is needed! Source: KC Morris (kcm@nist.gov), Boonserm Kulvatunyou, et al, NIST/MSID (Manufacturing Systems Integration Division
NDR Authoring and Sharing Environment • Work in progress • [One] XML Schema for rule [description] and exchange • [Another] XML Schema for NDR documentation • XML Schema Guidelines for expansion of rule base • Reuse of rules by new COIs • [Clone or Modify] • Traceability and versioning of rules Source: KC Morris (kcm@nist.gov), Boonserm Kulvatunyou, et al, NIST/MSID (Manufacturing Systems Integration Division
Rule 1, Test 1 Rule 2, Test 2 XSD of doc structure XSD of rule structure Executable Tests (Schematron, JESS) Quality of Design Tool – w/ Authoring and Sharing Env. Rule N, Test N QOD Common Rule Database Rule Input & Test GUI Sharing GUI Rule Selection Schema to Check Custom NDRs Schema Compliance Report
Benefits of NDR Authoring and Sharing Environment • Makes an NDR real • Executable rules are integral to NDR • Schemas can be tested for consistency with NDR • Problems in written rules are [uncovered] as they are developed • Reduce time spent on formatting • Multiple output [formats] from same source (HTML, PDF, …) • Promote reuse • Make it easier to extract rules from document • Make it easier to tailor an existing NDR to meet new requirements • Improve traceability Source: KC Morris (kcm@nist.gov), Boonserm Kulvatunyou, et al, NIST/MSID (Manufacturing Systems Integration Division
Goals and Objectives of the Current Federal XML NDRG / XSG [1] • Common source of XML Schema rules that may be applied (to varying degrees) across most US government XML efforts. • Derived from UN/CEFACT, ISO, and OASIS “NDR” standards. • Customizable for adoption at various organizational levels: federal, department, agency, and project. That is, IRS, DoN, Education, DoJ, EPA, IC, etc. can each have their own NDR derived from (and traceable to) the common source. • Provides varying degrees of interoperability across these levels, proportional to the degree of strictness of rule selection.
Goals and Objectives of the Current Federal XML NDRG / XSG [2] • Set guidelines for use of xsd:documentation to facilitate XML Registry Services integration. • Facilitate practical use of the NDRG by providing tools for customization of the common source, and for testing how well specific XML Schemas adhere to their respective organization’s NDRs (via the NIST Quality of Design tool). • Develop QOD NDR Authoring and Sharing Environment at NIST.
Proposed Action Plan for NDRG/XSG Working Group • Write charter based on objectives, goals, and benefits. • Present charter to DAS for approval. • Expand QOD Testing Environment to QOD Authoring and Sharing Environment. • Expand initial rule set and test cases. • Write documentation explaining how to create a rule and test case. • Solicit input rules from all (interested) agencies. • Solicit test cases for these rules from original contributors or work with them to develop test cases. • Demonstrate creation of an NDR using the QOD Authoring and Sharing Environment, perhaps for the IC. • Tackle specific problems with TEMs, such as to develop an XML Namespace Recommendation.