400 likes | 590 Views
Accelerated NIEM IEPD Development. Process, Procedures and Techniques. NIEM and IEPD Overview. NIEM – National Information Exchange Model approach ( http://www.niem.gov ) Provides Naming and Design Rules (NDR) and process for schema development
E N D
Accelerated NIEM IEPD Development Process, Procedures and Techniques
NIEM and IEPD Overview • NIEM – National Information Exchange Model approach (http://www.niem.gov) • Provides Naming and Design Rules (NDR) and process for schema development • Provides set of core component schema (NIEM core) and schema for domains – family services, census, environment, trade, hazmat, nuclear, justice, immigration, et al (15 domains). • IEPD – Information Exchange Package Documentation • Describes formal exchange that conforms to NIEM • Provides schema, example XML, supporting artifacts • Re-uses NIEM components • Defines domain specific components
IEPD “Fish Hook” lifecycle 1 5 2 4 3
Agenda • Developing NIEM IEPDs • Current accepted practice – pitfalls and challenges • How to do this faster, simpler, more reliably? • Accelerated process overview • Blueprints and Dictionaries • Constructing your exchange and blueprints • Leveraging re-use – NIEM, LEXS, UCORE dictionaries • Creating your own domain dictionary from XSD or UML • Generating IEPD artifacts • NDR evaluation, Exchange schema, NIEM mapping, “want list” + subset, XML instances, business rules documentation • Summary
Developing IEPDs Current Practice – Pitfalls and Challenges How to do this faster, simpler, more reliably? Accelerated Process Overview
IEP Dev Tool JIEM & Ref Model Modeling Tool Search Tool Forms Business Model Other IEPDs Mapping Tool Subschema Generator XML Editor All IEP Artifacts Data Modeling Standards Mapping Schema Building Test via Validating Packaging & Posting Exchange Inception Support Docs Flows/ Use Case Model UML Domain Model NIEM Mapping Document Schemas Sample XML Instance Sample Style Sheet Exchange Model Business Rules Wantlists Metadata Extension Schemas Constraint Schemas IEPD Posting Current Practice - Mechanics
IEPD - Pitfalls and Challenges • Significant amount of manual labor needed to develop all the NIEM IEPD artifacts and XML related end products • Multi-discipline team and supporting cast of NIEM / XML savvy developers needed • Disconnect between the software delivery teams’ schedule and process and the NIEM IEPD development team and process; production system not matching what the IEPD says it does • Alignment to existing domain Enterprise Data Model (EDM) • Varying quality of hand checked results and no consistency of technical approach to schema development techniques and re-use of NIEM • Process not repeatable and predictable • Scalability - differing production XML details across teams, often incompatible across implementations
IEPD Level of Effort Estimates Currently800+ hour process for 300+ node exchange
Improving the Process • Resolving the issues and challenges • Ensuring consistent results that can be easily reviewed • Leverage existing dictionary work and repositories of components that the enterprise already has • Reduce the learning curve and need for specialized skills • Business analysts not excluded from design, review and implementation by technical barriers • Customizable and configurable so can adapt to changing requirements
Faster, Simpler, Predictable • Tooling automates much of the manual tasks; ensures predictable quality of results • Reduce need for specialized technical knowledge of NIEM and XML • Provide consistent approach that leverages NIEM techniques with built-in NIEM smarts and knowledge • Tooling checks for common pitfalls, applies NDR checks • Allow business analyst to complete much of the design work and crosscheck application details • Leverage reuse of domain component dictionaries and blueprints • Lockstep development to IEPD artifacts and their delivery • Accelerate development tasks (test cases, testing, schema writing) • Produce result that are neutral to developer tooling platforms • Process repeatable and replicatable when requirements / versions change
Using Dictionaries & Blueprints • Dictionaries provide reference sets of components to be used in exchanges; three possible sources: • NIEM domain dictionaries imported from existing NIEM 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 • Expander tool reads the blueprint, references the dictionary, and constructs the complete exchange schema
Business Modelling Charter Import EDM Import XSD Work- Group Naming / NDR / spell check Generate Dictionary Search tools Wayfarer SSGT Blueprints Dictionary Excel Dictionary Completed Exchange Structures NDR Evalu- ation Rules Report XML examples XSD schemas Validation Engine Subset Schema “Wantlist” 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 IEPD artifacts Test examples and rules Generate IEPD Artifacts and Test them Package IEPD
Blueprints and Dictionaries Constructing your exchange and blueprints Leveraging re-use – dictionaries for NIEM, LEXS/UCORE Creating your own domain dictionary from XSD or UML
EDM Ele Def DDL LEGEND Automated Manual Blueprint Approach Overview Target applications 3 Pick Components Structure Outline Blueprint NIEM dictionaries formatted as XML IEPD generator tools (CAM) 4 Enterprise Data Model Import and refactor for use with NIEM 6 2 Expand Structure Exchange Structure Exchange Components 1 Build Exchange Blueprint Designer User Interface Local domain dictionary formatted as XML 5 IEPD Package Components Definition (XML) 7 Ele Def Dictionary Repository
Component Definitions Component Definitions Blueprint Development Tools Excel Domain dictionary 1 SSGT Blueprint Designer NIEM dictionary 2 Search Tools Expander Tool 3 Insert Dictionary Parent Components 4 5 Completed Exchange Template
Blueprint Expander Example COMPLETED EXCHANGE TEMPLATE 2 Expander Tool Structure Details Expanded 1 Dictionary Lookups Exchange components outline 3 EXCHANGE BLUEPRINT Blueprint follows model Console Log detail
Exchange Template Editor Exchange Structure items 2 1 Rules for each item Can add new custom domain Items 3 Domain Components Namespaces 4
Generating IEPD artifacts NDR evaluation, NIEM mapping, “want list” + subset, Exchange Schema, XML instances, business rules documentation
IEPD Generation Steps Structure Rules CAM Template Documentation EXCHANGE TEMPLATE Toolkit for IEPD artifacts generation • Run template Evaluation Report • Compare to NIEM dictionary - create mapping spreadsheet - create wantlist.xml - NIEM online SSGT uploading + subset schema generation Generate business rules report • Generate exchange XSD schema • Generate XML test instance(s) 1 2 Suite of menu options and tools in desktop CAM toolkit editor (each run custom xslt scripts on the exchange CAM template xml) 3 4 5
NDR Evaluation Report • Provides scoring, alerts, warnings and potential issues including: • Naming and Definition Conventions • Naming / Restriction consistency checks • Interoperability Enablers/Inhibitors checks • Rules integrity and duplicates • Statistics on exchange size
Evaluation Report (NDR) example Part of an example report for LEXS getDataItemRequest template displayed in toolkit HTML viewer
Compare to NIEM dictionary • References NIEM dictionary of names and properties currently in NIEM 2.1 or 2.0 releases • Matches on physical names • Reports mapping details • Compatible with Microsoft Excel • Report can be used to do spell checking (in Excel) • Generates wantlist.xml file • Wantlist can be uploaded to SSGT and then subset schema generated (http://niem.gtri.gatech.edu/niemtools/ssgt/SSGT-Options.iepd )
NIEM cross-reference spreadsheet Formatted view in Microsoft Excel of import of cross-reference report details (from generated XML file)
NIEM online SSGT and wantlist.xml Options menu and Load Wantlist option with resulting load of subset details
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 IEPD 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
Business Rules Documentation Part of the example rules for LEXS getDataItemRequest template displayed in toolkit HTML viewer
Export Exchange to XSD Schema Export Template to Exchange XSD: Completed Exchange Structure Set Exchange Options Complete set of NIEM exchange schemas generated
Exchange Schema Generated Each namespace file is import for those specific type definitions Set of XSD files with filename and namespace suffix Reviewing XSD results in a schema editor tool
Examples Generation • Support for software development testing process • Designed to allow creation of concrete realistic examples not just random value based • Hinting system allows insertion of actual test system values into XML examples • Can create both valid and invalid examples to support unit testing of application software • Exclude capability allows generator to create examples that contain only a portion of the entire exchange • Control over random seed value used allows re-generation of identical test cases
XML example generation wizard View of CAM toolkit with LEXS getDataItemRequest and dialogue for XML test example generator tool
Running validation rules tests • Built-in validation engine allows testing of XML instances against actual exchange rules. • Critical to ensure that the exchange validates actual live production example scenarios correctly • Allows deployed solution to match IEPD exchange details • Errors can be reviewed interactively in exchange visual interface • Post-processing of validation results allows unit regression tests to be created with reporting of errors, warnings and information level notes
Run Exchange Template Pick XML test case to validate Run validation Review results in visual editor
Summary Dictionary driven exchanges Blueprint enabled reuse Automated IEPD generation Alignment to NDR Principles and Rules Testing and validation support
Review • Top Down development • Reference dictionary components • Create exchange blueprint • Run Expander tool • Refine desired structure in visual editor • Automated IEPD generation • Schemas, XML, documentation, mapping to NIEM • Test generated example XML with rules validation • Dictionary driven reuse • Enterprise Data Model and NIEM/LEXS components • NDR Principles and Rules • Best practices for interoperability and schema techniques
Reference Materials References and Links
Links and References • DOWNLOADS - • CAM Toolkit download • https://sourceforge.net/projects/camprocessor • SUPPORTING NIEM MATERIALS - • NIEM Naming and Design Rules (NDR) 1.3 • http://www.niem.gov/pdf/NIEM-NDR-1-3.pdf • NIEM Practical Implementer’s Course (online) • http://www.niem.gov/elearning.php • NIEM Course Modules (17 free PDFs) • http://www.niem.gov/course.php • Techniques for Building and Extending NIEM XML Components • http://www.niem.gov/Techniques_for_Building_and_Extending_NIEM.pdf