Roadmap to an IEPD What do developers need to do? 1 Agenda • IEPD Deliverables • NIEM IEPD – Base Components Needed • Top Down or Bottom Up? • Tools and XML Technology • How do these tools all play together? • Dictionaries – NIEM / Domain • Reference Materials • Illustrative Examples • Resources and Contacts 2 IEPD Base Components XML Schema 1 Exchange Schema XSD (aligns to information model, NIEM core plus domain dictionary and ICE NDR principles) 2 3 Documentation (Project business details (MS Word), NIEM cross-reference Spreadsheet) 3 XML artifacts 4 Examples & Test Cases (wantlist.xml, subset schema. Optional - extension, restriction and reference schemas ) (Realistic test XML instance(s) for exchange interoperability testing ) Required items Technical Goals • Schemas for data exchange • To produce “exchange schemas” which offer a high degree of clarity, interoperability and reusability while being agnostic to the actual deployment software tools. • Documentation for understanding business context and usage • Supporting XML Artifacts • Examples and test cases for verification • Cross-reference to NIEM dictionary to ensure consistency, interoperability and reuse within and across domains • Alignment to domain data model components dictionary – interoperability across domain applications • Consistency: conforms to domain naming and design rules principles 4 Top Down or Bottom Up? Component Tasks Timings Constraints Collect exchange needs Model information needs Days Assisted analysis Perform XSD schema development with NIEM alignment XSD syntax writing Hours Reduce need to know detailed schema syntax. Documentation of each element HTML report formats Minutes Automatic generation Document NIEM element alignment (want list) Excel spreadsheet Wantlist.xml Minutes Automatic generation Create test cases and examples Sets of XML instances Hours Perform interoperability testing Build test environments Hours Automatic with content hinting Test harnesses consistent Create IEPD document Word documentation Days When requirements change – Regenerate Automatically! 5 Manual preparation Status Today Roadmap Item Capability Status 1 Definitions Repository – NIEM dictionary, domain dictionary, import of ERwin EDM XSD 1st release Base capabilities developed 2 CAM toolkit – bottom up designer and pick list Top down designer from dictionary components Available In progress Suite of tools available Visual structure editor 3 Generate IEPD artifacts Available Enhancements planned 4 Principles and NDR evaluation tool 1st release Enhancements planned 5 Localized exchange schema generation Available Generator writes XSD automatically 6 Realistic test case generation and xml validator Available 7 Batch unit test harness Planned Q4/2009 Integration to test harness via web services Planned Q1/2010 Business process integration Planned Q1/2010 8 6 Schedule Q3/2009 Comments Extend and develop current manual tools As project priorities determine actual needs As project priorities determine actual needs Tools and XML Technologies How do these tools all play together? 7 NIEM Exchange Schema 1 3 Exchange XSD Exchange xml 2 *Extension xsd Wantlist xml *Constraint xsd xsd subset *Restriction xsd NIEM domain schemas *Reference xsd *Code list xsd Code list xsd XML Schema LEGEND: 8 * Optional Namespace Approach in a Nutshell CAM Template XSD Collection Exchange xsd XSLT tools process entire XSD collection Structure *Extension xsd xsd subset Rules *Constraint xsd *Restriction xsd INGEST NIEM domain schemas *Code list xsd Code list xsd Re-factor to CAM abstraction format Documentation XML Schema LEGEND: * Optional Namespace CAM = Content Assembly Mechanism 9 IEPD development CAM Template Structure Toolkit for IEPD base components generation 1. 1 Run template evaluation report 2. 2 Compare to NIEM dictionary Rules - create wantlist.xml PROCESS Documentation 10 Suite of menu options and tools in CAM toolkit editor (run custom xslt scripts on CAM template xml) - create spreadsheet 3. 3 Generate business rules report 4. 4 Generate XML instance(s) Leveraging SSGT • Generating IEPD base components • Exchange schema ingesting •1 Principles and Rules check evaluation report •2 Cross-reference to NIEM dictionary • Wantlist.xml generation • NIEM online SSGT uploading + subset schema generation •3 Excel spreadsheet of cross-reference • Business Rules documentation •4 Example XML instance 11 Reference Materials Illustrative Examples References and Contacts 12 NDR evaluation example Part of an example report for LEXS getDataItemRequest template displayed in toolkit HTML viewer 13 NIEM cross-reference spreadsheet Formatted view in Microsoft Excel of import of crossreference report details (from generated XML file) 14 NIEM online SSGT and wantlist.xml Options menu and Load Wantlist option with resulting load of subset details 15 Business Rules Documentation Part of the example rules for LEXS getDataItemRequest template displayed in toolkit HTML viewer 16 XML example generation wizard View of CAM toolkit with LEXS getDataItemRequest and dialogue for XML test example generator tool 17 Points of Contact • Phil Letowt philip.letowt@dhs.gov • Mini Kanwal kanwalm@saic-dc.com • David Webber david.webber@ionep.com • Ken Sall sallk@saic-dc.com 18 Links and References • • • • • • XML Schema Part 1: Structures and XML Schema Part 2: Datatypes (and Part 0: Primer) – We are using XML Schema version 1.0. • http://www.w3.org/XML/Schema#dev 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 NIEM 2.0 Conformant LEXS 3.1: Logical Entity eXchange Specifications • http://www.it.ojp.gov/default.aspx?area=implementationAssistance&page=1017&sta ndard=486 • • 19 IEPD Preparation Guide – DRAFT (To be renamed CAM Toolkit User Guide for IEPD Development) • http://powerport.ice.dhs.gov/tapweb/documents/IEPD_Prep_Guide.pdf CAM Toolkit download • https://sourceforge.net/projects/camprocessor