27
1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

Embed Size (px)

Citation preview

Page 1: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

1 Twitter #NIEMNTE3

Lightning-Fast IEPD Development Techniques

PresenterDavid RR Webber

Information ArchitectOracle Public Sector

Page 2: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

2 Twitter #NIEMNTE3

The following is not intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions.

The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

Page 3: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

3 Twitter #NIEMNTE3

Introduction• Effective NIEM IEPD development requires a complete process understanding

and partnership between program management and application implementers. • This session provides a road map for executives and developers alike, based on

the actual development experience of federal and state IEPDs and processes. • For executives, the session covers the latest techniques for leveraging domain

dictionary assets and modeling tools to enable enterprise wide coordination. • For developers, the session illustrates lightning-fast IEPD development

techniques and live prototyping using the latest version of the open source CAM toolkit for IEPD development.

• Attendees will gain an understanding of how to maximize existing enterprise assets and processes to optimize the IEPD development process to ensure involvement and participation for all stakeholders, with successful outcomes as the goal.

Page 4: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

4 Twitter #NIEMNTE3

Agenda• Part 1

– IEPD Process Mechanics– Aligning with SDLC (Software Development Life-Cycle)– Integrating NIEM into the Enterprise

• Part 2– CAM toolkit overview– Component Dictionaries– Patterns for building XML Exchanges– CAM IEPD Demonstration

• Q & AWorkshop – Testing & Delivery

Page 5: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

5 Twitter #NIEMNTE3

IEPD Process Mechanics• Designing an XML exchange requires:

– Understanding of the application data model– Business needs of the information exchange– Engineering efficient data exchanges with XML

• To complete an IEPD needs:– Understanding of the NIEM Naming and Design Rules (NDR)– Building layout structures of XML exchange documents– Set of business rules for content and use patterns– Mapping to NIEM schema for component reuse– Working test case examples

Page 6: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

6 Twitter #NIEMNTE3

Aligning to SDLC• Vital that NIEM IEPD development be integral part of

SDLC – otherwise there will be duplicative work, retrofitting and refactoring

• Initial IEPD reviews must be early in the process• Ideally the IEPD artifacts should be derived from the

actual production XML exchange assets• Development team should work in tandem with

architects and business analysts – not in isolation• Too often we hear “well we already have it in production

so we can’t change it now”

Page 7: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

7 Twitter #NIEMNTE3

Integrating NIEM into the Enterprise• Guidelines when to utilize NIEM domain dictionaries• Building EIEM – Enterprise Information Exchange Model• Canonical Components dictionary – NIEM consistent• Generate exchange artifacts for developers from EIEM• Aligning coding practices with XML to NIEM NDR• Developers and Data Architects synchronize components

library and logical and physical models to EIEM constantly

Page 8: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

8 Twitter #NIEMNTE3

Why do we need EIEM dictionaries?• Allows domains to manage their components libraries• Provides consistency for project development teams

– Sets of NIEM consistent XML exchange components– Aligned to enterprise data stores– Optimized for reuse and interoperability

• Save time and effort across the enterprise– Perennial question for developers – when should I use NIEM

components, and when our own local ones?– Are there components already available for that purpose?

• Provide formal mechanisms and procedures to share components and collaborate across SDLC process

• Provide external parties consistent data views

Page 9: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

9 Twitter #NIEMNTE3

How to create EIEM dictionaries

• Top down - directly from information models

– Enterprise modelling tools

– SQL database physical table definitions

• Bottom up

– Harvesting from existing data assets

– Harvesting from XML exchange structures and schema

• Using neutral abstract standards based representations

Page 10: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

10 Twitter #NIEMNTE3

Conceptual Information Model

Child(BBIE)Item

Child(BBIE)Item

Parent (ABIE)Item

Parent (ABIE)Item

Follows Naming and Design Rule (NDR) principles and guidelines

Canonical Components

DictionaryXML

Canonical Components

DictionaryXML

ebXML CCTS terms (ABIE, BBIE, ASBIE)

Parent = Aggregate Business Information EntityChild = Basic Business Information EntityAttribute = Association Business Information Entity

Parent (ABIE)Item

Parent (ABIE)Item

Parent (ABIE)Item

Parent (ABIE)Item

Parent (ABIE)Item

Parent (ABIE)Item

. . . . .

Child(BBIE)Item

Child(BBIE)Item

Child(BBIE)Item

Child(BBIE)Item

Child(BBIE)Item

Child(BBIE)Item

Attribute(ASBIE)

Attribute(ASBIE)

Attribute(ASBIE)

Attribute(ASBIE)

* CCTS – Core Components Technical Specification

Attribute(ASBIE)

Attribute(ASBIE)

Attribute(ASBIE)

Attribute(ASBIE)

Each compound component

Each atomic component

Optional attributes of component

Page 11: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

11 Twitter #NIEMNTE3

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 NameVerified Details and Previous Name are flags that denote additional information

about the entity they are associated withThere are three component items aspects:

structure relationships; content rules; definitions

Page 12: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

12 Twitter #NIEMNTE3

Example DHS/ICE EIEMICE Enterprise Data Model (EDM)

OASIS CAM template

OASIS CAM template

Model Components

XSD schema

Model Components

XSD schema

ERwin Refactoring,Compress,

Renaming ToolNIEM NDR Evaluations

ERwin Refactoring,Compress,

Renaming ToolNIEM NDR Evaluations

GenerateStandard

Components Dictionary

XML

GenerateStandard

Components Dictionary

XML

55

Canonical Dictionary of ICE exchange components

XML+

XSD

XML+

XSD

33

Analyst Review

ebXML CCTS compatible (ABIE, BBIE, ASBIE)

22

EleEle

DefDef

DDLDDL

Production Rules

44

11

Completed CAM template

Completed CAM template

Excel Spreadsheet

66

77

BENEFITS: Will reduce ICE development time and effort Pre-built NIEM consistent XML components XML consistent with ICE enterprise SQL data Removes scope for definition errors Maximizes reuse potential across ICE Open public standards based approach Open technology infrastructure

Code Lists

Code Lists

Code Lists

Code Lists

ERwin Client

ERwin model

Write

ApplyImportExport

Page 13: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

13 Twitter #NIEMNTE3

CAM Renaming Tool• Expands abbreviations (has built-in lists with context)• Corrects common typos and spelling errors (200+)• Adjusts names to camel case with no separators (_)• Retains acronyms• Adds name suffix according to NIEM representation terms

and type of content, e.g. date, number, code, etc• Optionally refactor rules by their type for interoperability;

make nillable optional; relax DB length restrictions• Can optionally insert namespace prefix• Can be configured by editing the lists in: word-utils.xsl

Page 14: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

14 Twitter #NIEMNTE3

Part 2– CAM Toolkit Overview– CAM Templates– Patterns for building XML Exchanges– XML Exchange Life-Cycle– CAMV validation engine / code lists / lookups– CAM IEPD Demonstration

Page 15: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

15 Twitter #NIEMNTE3

CAM Toolkit Overview• Open source, open public standards based, cross-

platform deployment written using Java, SWT and XSLT• Project is sponsored by Oracle• NIEM-based features:– Evaluation tool for NDR and interoperability– Compare to dictionary, generates cross-reference, re-use

score, and SSGT “want list”– Profiles for generating NIEM schema bundles– NIEM and LEXS dictionaries– Models export to ArgoUML, XMI or Mind maps

Page 16: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

16 Twitter #NIEMNTE3

CAM TemplatesStructure Rules

Documentation

CAM Template

http://www.oasis-open.org/committees/cam

WYSIWYG

Page 17: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

17 Twitter #NIEMNTE3

INGESTINGEST

CAM and W3C Schema Wizards

EXPORTEXPORT

XSLT toolsprocess

entire XSDcollection

XSLT toolsprocess

entire XSDcollection XSD Collection

Structure

Rules

Documentation

*Code list xsd

Namespace* OptionalXML Schema

xsd subset

xsd subset

*Constraint xsd

*Constraint xsd

*Extension xsd

*Extension xsd

*Restriction xsd

*Restriction xsd

Industry Domainschemas

Code list xsd

LEGEND:

Exchange xsdExchange xsd

Exchange Schema

CAM Template

Page 18: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

18 Twitter #NIEMNTE3

Visual Designer with Dictionary Collection

Drag n’ Drop Tool

Drag n’ Drop Tool

Industry dictionaryIndustry dictionaryDomain dictionaryDomain dictionary

Component Definitions

44

Component Definitions

Search Tools

Search Tools

22

ExchangeDesigner

ExchangeDesigner

11

InsertDictionary

Components

InsertDictionary

Components

33

Completed Exchange Template

Completed Exchange Template

55

Collection

Page 19: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

19 Twitter #NIEMNTE3

Configurable Dictionary Collections

Dictionary Control File

XML

Compiled Dictionaries

Dictionary Summary Format

Compiler tool

Referenced

Referenced

Namespace / Dictionary / Location

Loads collection into CAM viewer

Excel spreadsheetcompatible

CAMviewercompatible

Page 20: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

20 Twitter #NIEMNTE3

Patterns for building XML exchanges• Adapting existing exchange XML schema– Tailoring document model to business needs– Insert new components, publish new IEPD– Restructuring and refactoring exchange structure– Flattening XML schema bundle for middleware tooling

• Building new exchange schema– Using EIEM components– Blending EIEM with NIEM components– Custom community exchanges – e.g. OASIS

Page 21: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

21 Twitter #NIEMNTE3

XML exchange life cycle

Monitor

Deploy

Design

AuthorTest

Component Dictionary

CAM

Template

CompiledTemplates

XSD Schema

XML Samples

XMI / UML Models

ProductionLog Results

TemplateUpdates

Documentation

Drag and Drop Visual Editor

Page 22: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

22 Twitter #NIEMNTE3

CAMV Validation Engine• Standalone XML validator using XPath rules• External code list and SQL table lookup support• Callable via Spring framework or Java API• Configurable error levels – error, warning, info• Context aware and declarative rules approach• Integrated with CAM editor menus for instant testing

Workshop session

Page 23: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

23 Twitter #NIEMNTE3

CAM Tutorial WebsiteNIEM IEPD online tutorial video

http://tutorial.cameditor.org

Page 24: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

24 Twitter #NIEMNTE3

CAM IEPD Demonstration• Import an existing XML exchange• Add new dictionary components via Drag and Drop• Apply the NIEM NDR evaluation – assess XML exchange quality• Compare to NIEM dictionary

• produce reuse scores, cross-reference spreadsheet, wantlist (SSGT compatible)

• Generate new NIEM compatible XSD schema collection• Adapt exchange use pattern to suit business needs, add data hints• Generate XML examples; validate them with CAMV engine• Document the Exchange; Generate Models

30 Minutes

11

22

33

44

55

66

77

88

Page 25: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

25 Twitter #NIEMNTE3

CAM Functions Demonstrated

Page 26: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

26 Twitter #NIEMNTE3

What are we working on?• Improvements– Enhancing XML example generation with synthetic data– Aligning WSDL generation with SOA best practices– More business documentation reporting options

• New features– SQL database lookup from CAMV and CAM editor– Dictionary integration with Domain Update Tool– Evaluation tools for dictionaries and components– Integration artifacts generation for SOA services

Page 27: 1 Twitter #NIEMNTE3 Lightning-Fast IEPD Development Techniques Presenter David RR Webber Information Architect Oracle Public Sector

27 Twitter #NIEMNTE3

Q & A

Download the CAM editor toolkit from:

http://www.cameditor.org