Case Studies on Information Exchange Package Documentation (IEPD) Development GJXDM Users Conference Atlanta, Georgia June 9, 2005
2004 SEARCH, The National Consortium for Justice Information and Statistics | IEPD Goals and Objectives Define IEPDs (Information Exchange Package Documentation) to support interoperability among justice systems Expand and refine GJXDM/DD through experienced feedback; resolve vague definitions Constrain/restrict down to key choices to support interoperability
2004 SEARCH, The National Consortium for Justice Information and Statistics | Goals of the IEPD Process More consistent development of GJXDM conformant schemas Produce artifacts that help project stakeholders Provides a mechanism to synthesize domain/business knowledge of SMEs Supports artifact reuse Leverages open standards Works with standards based tools that are readily available in the public domain Shares lessons learned/best practices
2004 SEARCH, The National Consortium for Justice Information and Statistics | IEPDs Developed Sentencing Order Amber Alert Field Interview Report Charging Document Incident Reporting Uniform Rap Sheet Booking/Arrest Report
2004 SEARCH, The National Consortium for Justice Information and Statistics | Information Exchange Package Documentation Process
2004 SEARCH, The National Consortium for Justice Information and Statistics | IEPD Business Issues Business goals are the primary driver Participation by business representatives IEP built upon use case Justice exchange data does not belong to only one domain Example: Protection from Abuse Order GJXDM conformance Reuse of artifacts Every IEP is a potential model
2004 SEARCH, The National Consortium for Justice Information and Statistics | IEPD Workgroup Representative group of exchange partners Inclusion of business SMEs and technical experts Selection of members is important Consensus process IEPs cannot be built by technical staff or business staff in isolation, partnership is critical Skilled, experienced facilitator important
2004 SEARCH, The National Consortium for Justice Information and Statistics | Workgroup: Facilitator skills Organization and project management Neutrality Understanding of the domain Understanding of IEPD process Understanding of domain modeling UML Object-oriented design Understanding of GJXDM Awareness of national reference material
2004 SEARCH, The National Consortium for Justice Information and Statistics | Workgroup: SME member skills Understanding of business processes Triggering and subsequent processes Required content Relationships Ability to describe the semantic meaning of the data Ability to “think outside the box” As-is processes versus to-be processes Openness to change semantic concepts to align with GJXDM
2004 SEARCH, The National Consortium for Justice Information and Statistics | Workgroup: Tech member skills Understanding of GJXDM Source of good ideas for domain model Think ahead to mapping Understanding of data availability and needs at exchange endpoints Understanding of basic domain modeling concepts (including O/O design)
2004 SEARCH, The National Consortium for Justice Information and Statistics | Project planning Obviously, depends on the document Rough guidelines: Domain modeling (face-to-face, 2-3 days) Mapping (face-to-face for 1-2 days, another 1-2 days remote) Schema building (facilitator or tech member(s) only, 2-3 days) Packaging (1 day)
2004 SEARCH, The National Consortium for Justice Information and Statistics | IEPD Process JIEM/Exchange Requirements Domain Modeling GJXDM Mapping Subset Schema (SSGT) Extension, Document, Constraint Sample XML Instance Packaging Horizontal Analysis/Reuse Education and Outreach
2004 SEARCH, The National Consortium for Justice Information and Statistics | Incident Reporting IEPD Project funded by COPS Office Participants: Local Law Enforcement State Law Enforcement NIBRS, UCR, Repository FBI Prosecution Statistical Crime Reporting
2004 SEARCH, The National Consortium for Justice Information and Statistics | Domain Modeling: Incident Report
2004 SEARCH, The National Consortium for Justice Information and Statistics | Domain Modeling: Motivation In building an IEP, it is very helpful to have: A precise definition/description of document structure A description that can be understandable and verifiable by all stakeholders (bridge the communication gap) A description technique that facilitates interactive design
2004 SEARCH, The National Consortium for Justice Information and Statistics | Domain Modeling: UML Pros Precise and formal, yet… Graphical and understandable by stakeholders Supports O/O concepts inherent in XML Schema Supported by low-cost tools Industry/developer buy-in and adoption
2004 SEARCH, The National Consortium for Justice Information and Statistics | Domain Modeling: UML Cons Need to educate stakeholders about notation Learning curve for modeler (learning notation) Can lock into tools if you’re not careful
2004 SEARCH, The National Consortium for Justice Information and Statistics | Domain Modeling: Associations Associations describe how the classes relate to one another Example: A police officer issues a citation Can be verbs from the domain, or simply descriptions of relationships When modeling hierarchical document structures, associations are navigable (uni- directional) Associations indicated with open-ended arrows Can be named; if not, read as “relates to,” “contains,” or “has”
2004 SEARCH, The National Consortium for Justice Information and Statistics | GJXDM as source of domain concepts XSTF has already done a lot of good thinking about concepts in the justice domain GJXDM contains 400 nouns (complex types) Use these if they fit…don’t reinvent the wheel Don’t use them if they don’t fit…don’t restrict your domain model to what’s in GJXDM Remember: need to build a model that the business people can understand and agree to Most business people struggle to validate structures documented in schema
2004 SEARCH, The National Consortium for Justice Information and Statistics | Domain Modeling: Incident Report
2004 SEARCH, The National Consortium for Justice Information and Statistics | Mapping to GJXDM To build schema, each class/property in the domain model must be mapped to a type/element in GJXDM Sometimes mapping can be represented in path-like notation Sometimes it can only be described in prose Makes automated mapping (and schemas generated from the domain model) very difficult Sometimes domain concepts are missing from GJXDM; these are mapped to elements in an extension schema (your own namespace)
2004 SEARCH, The National Consortium for Justice Information and Statistics | Mapping to GJXDM Spreadsheet with four columns: Class Property or Association GJXDM Mapping (path or prose, extensions color-coded) Notes
2004 SEARCH, The National Consortium for Justice Information and Statistics | GJXDM Mapping: Incident Report Incident Report Mapping
2004 SEARCH, The National Consortium for Justice Information and Statistics |
SSGT Want List
2004 SEARCH, The National Consortium for Justice Information and Statistics | SSGT Want List
2004 SEARCH, The National Consortium for Justice Information and Statistics | Packaging Subset Schema Constraint Schema Extension Schema Document Schema Sample XML Instance IEPD IEPD
2004 SEARCH, The National Consortium for Justice Information and Statistics | Tools Wide tool support for UML Visio Eclipse plug-ins ArgoUML Rational Rose and XDE Keep in mind that the primary purpose of a domain model is communication. Many people beyond you (and your IT department) will be reading the model, so it has to be accessible to them using tools they already have (or can acquire cheaply).
2004 SEARCH, The National Consortium for Justice Information and Statistics | XMI XML Metadata Interchange standard Evolved by the Object Management Group (OMG) XML representation of object-oriented models Useful for custom reporting from the data in your model Does not contain information about the graphics XMI allows generic metadata to be stored along with the entities in your model
2004 SEARCH, The National Consortium for Justice Information and Statistics | XMI Metadata can then be extracted and reported Use ordinary XML technologies for reporting SAX, DOM parsing XML-object binding XSLT Example: documenting information sources and reporting with XSLT
2004 SEARCH, The National Consortium for Justice Information and Statistics | Lessons Learned Facilitation is critical Can be successful in bringing together business and technical experts Iterative process Domain modeling can accelerate the development process For most domain structures GJXDM is a good fit, Exceptions: Associations Project completed with low cost open tools
2004 SEARCH, The National Consortium for Justice Information and Statistics | Resources Information Exchange Package Documentation Guidelines Process Overview whitepaper (by justiceintegration.com, adopted by IJIS XML Advisory Committee) Example IEPDs
2004 SEARCH, The National Consortium for Justice Information and Statistics | Resources Domain-Driven Design, by Eric Evans UML Distilled, by Martin Fowler Analysis Patterns, by Martin Fowler Modeling XML Applications with UML, by David Carlson Object-Oriented Design Heuristics, by Arthur Riel
2004 SEARCH, The National Consortium for Justice Information and Statistics | IEPD Goals and Objectives Remember: the goal is to exchange messages, not to build databases The more we standardize the container and the payload of components, the more it supports our goals Standard, non-proprietary, consistently structured artifacts helps all of us to leverage IEPDs as models for information sharing
2004 SEARCH, The National Consortium for Justice Information and Statistics | Thank you! Catherine Plummer Scott Came Jeff Harmon
Case Studies on Information Exchange Package Documentation (IEPD) Development GJXDM Users Conference Atlanta, Georgia June 9, 2005