Massachusetts CJIS-XML: A GJXDM Implementation Case Study


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • No changes
  • No changes
  • No changes
  • Formatting and size changes to make it easier to read Is there a way to show this graphically, it’s a lot of text to read?
  • I removed the first piece of text. I think that’s either a speaking point or belongs on the previous page. SOA’s have been around for a while, and have had limited success due to a lack of ubiquitous technology. Previous attempts to realize the promise of a SOA by technologies such as CORBA and COM/DCOM were very cumbersome and expensive to implement, creating barriers to the success of a SOA.
  • Size and spacing
  • Pulled back bullets so started on first level, spacing
  • Spacing only
  • No changes
  • No changes
  • No changes
  • No changes
  • No changes
  • No changes
  • No changes
  • No changes
  • Larger Size, Line Spacing
  • Larger Size Line spacing
  • Massachusetts CJIS-XML: A GJXDM Implementation Case Study

    1. 1. Massachusetts CJIS XML: A GJXDM Implementation Case Study Presented By: - The Commonwealth of Massachusetts (Executive Office of Public Safety and the Criminal History System Board) - xFact, Inc. SEARCH 2006 Symposium on Justice and Public Safety Information Sharing March 15, 2006 | Washington, DC
    2. 2. Agenda <ul><li>Massachusetts CJIS XML Background </li></ul><ul><ul><li>Business Goals </li></ul></ul><ul><ul><li>Transformation Goals </li></ul></ul><ul><li>Massachusetts CJIS XML Architecture </li></ul><ul><ul><li>Service Oriented Architecture (SOA) </li></ul></ul><ul><ul><li>Overall Description of Architecture </li></ul></ul><ul><li>Massachusetts CJIS XML Implementation </li></ul><ul><ul><li>History </li></ul></ul><ul><ul><li>Current Status </li></ul></ul><ul><ul><li>Demonstration </li></ul></ul><ul><li>Lessons Learned </li></ul><ul><li>Update on Massachusetts ICJIS </li></ul><ul><li>Questions and Answers </li></ul>
    3. 3. Massachusetts CJIS XML Background: Out with the Old
    4. 4. Massachusetts CJIS XML Background: In with the New
    5. 5. Massachusetts CJIS XML Background: Business Goals <ul><li>Business Goals: </li></ul><ul><ul><li>Migrate from mainframe based to web-based systems </li></ul></ul><ul><ul><li>Expand information sharing </li></ul></ul><ul><ul><li>Provide standards-based data exchanges </li></ul></ul><ul><ul><li>Provide new device independent content (i.e., driver license photos, mugshots) </li></ul></ul>Lesson Learned: Be able to improvise without sacrificing standards Numerous earlier CJIS planning efforts yielded only partial success. The key is being able to improvise without sacrificing standards. Mobile requirements forced EOPS/CHSB to focus on developing a standards based interface that will not only meet the requirements of mobile vendors, but also serve the needs of the Commonwealth of Massachusetts. In 2003, EOPS created a Mass Justice XML data dictionary based on the GJXDM funded by various grants.
    6. 6. Massachusetts CJIS XML Background: Transformation Goals <ul><li>Transformation Goals: </li></ul><ul><ul><li>Support user community by creating effective implementation documentation </li></ul></ul><ul><ul><li>Conduct implementer training – help them understand SOA </li></ul></ul><ul><ul><li>Select a vendor to help to train and implement early implementations </li></ul></ul><ul><ul><ul><li>Vendor help was needed to transition technical staff from mainframe based computing to non - mainframe computing </li></ul></ul></ul><ul><ul><ul><li>Vendor was selected to create a SOA bus based on GJXDM </li></ul></ul></ul><ul><ul><li>Prepare to retool and retrain your technology and data center staff to provide ongoing user support </li></ul></ul><ul><ul><li>Prepare to support other agencies in their implementation efforts. </li></ul></ul>Lessons Learned: Keep it Simple!
    7. 7. Massachusetts CJIS XML Architecture: Service Oriented Architecture in Massachusetts <ul><li>Service Oriented Architecture (SOA) Defined: </li></ul><ul><ul><li>Centralized View: In SOA, independent and/or disparate systems are presented in as a unified system. A SOA helps to provide a centralized view by providing standardized access to systems as well as a framework for linking systems on demand. </li></ul></ul><ul><ul><li>Component Based: A SOA is component-based architecture. A component is characterized as a self-contained and well-defined item (i.e., service) that provides a specific function or group of related functions. Each component communicates with other components by using the interfaces (rules for interaction) exposed by each individual component. </li></ul></ul><ul><ul><li>The concept of a SOA is based on the following key principles: </li></ul></ul><ul><ul><ul><li>Services are meaningful and have simple to use interfaces that define how to interact with and/or use the service </li></ul></ul></ul><ul><ul><ul><li>Services are self-contained and do not depend on the context or state of other services </li></ul></ul></ul><ul><ul><ul><li>Services may be combined with one or more services to coordinate activities or functionality </li></ul></ul></ul><ul><ul><ul><li>Services provide a well-defined task or function , and when asked to perform that function guarantee the execution of it </li></ul></ul></ul><ul><ul><ul><li>The details of how a service is implemented is not exposed to developers or systems; services are like black boxes that are only known to accept a desired request and produce an expected result </li></ul></ul></ul><ul><ul><ul><li>Services should be language and operating system independent </li></ul></ul></ul>
    8. 8. Massachusetts CJIS XML Architecture: Service Oriented Architecture in Massachusetts Cont. <ul><li>Web Services: A SOA needs a software bus or connection technology on which the components/services can exchange information. Web Services combine the use of Internet- and XML-based technologies to provide such a bus, allowing services to be accessed using standards-based protocols. </li></ul><ul><li>Essential technologies of web services are: </li></ul><ul><ul><li>Core Internet Technologies: </li></ul></ul><ul><ul><ul><li>Network-based standards such as Internet Protocol (IP), the Domain Name System (DNS), and the HyperText Transfer Protocol (HTTP) </li></ul></ul></ul><ul><ul><li>Extensible Markup Language (XML) </li></ul></ul><ul><ul><ul><li>Provides a standardized set of markup rules for creating structured documents </li></ul></ul></ul><ul><ul><ul><li>XML documents are defined and described using XML schemas to enforce document structure and rules </li></ul></ul></ul><ul><ul><li>Simple Object Access Protocol (SOAP) </li></ul></ul><ul><ul><ul><li>SOAP is a XML-based protocol for exchanging information (XML messages) in a decentralized environment </li></ul></ul></ul><ul><ul><li>Web Services Description Language (WSDL) </li></ul></ul><ul><ul><ul><li>A standard XML-based format to define how to access a service, and what operations the service performs </li></ul></ul></ul><ul><ul><li>Universal Description, Discovery and Integration (UDDI) </li></ul></ul><ul><ul><ul><li>Provides a central directory mechanism for looking up web services </li></ul></ul></ul>
    9. 9. Massachusetts CJIS XML Architecture: Service Oriented Architecture in Massachusetts Cont. <ul><li>Web Services Advantages: Advantages of using web services include (but are not limited to): </li></ul><ul><ul><li>Facilitates the implementation of a SOA </li></ul></ul><ul><ul><li>Provides peer-to-peer communication as opposed to strictly client and server communication </li></ul></ul><ul><ul><li>Enables interoperability between heterogeneous systems and or platforms </li></ul></ul><ul><ul><li>Allows straightforward communication at various computing levels: </li></ul></ul><ul><ul><ul><li>Local system-to-system </li></ul></ul></ul><ul><ul><ul><li>Enterprise system-to-system </li></ul></ul></ul><ul><ul><ul><li>Systems and applications </li></ul></ul></ul><ul><ul><ul><ul><li>Web browsers applications </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Hand held applications </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Mobile data terminal applications </li></ul></ul></ul></ul><ul><ul><li>Provides a framework for allowing CHSB to enable XML-based data exchanges with legacy (CJIS mainframe) systems </li></ul></ul>
    10. 10. <ul><li>Initially created the “Mass. Justice XML” data dictionary, based on GJXDM 2.0 </li></ul><ul><li>Implemented a pilot SOA to provide “XML-ized” CJIS content to vendors of mobile systems (via Web Services) </li></ul><ul><ul><li>CHSB was able to serve as a more flexible provider of pure CJIS content </li></ul></ul><ul><ul><li>Vendors were quickly able to provide value-added services using the SOA </li></ul></ul><ul><ul><li>Vendors competed on the basis of their value-added service using content from CJIS, and users ultimately received better services </li></ul></ul><ul><li>Birth of CJIS-XML </li></ul><ul><ul><li>The success of the pilot SOA led to an increased demand to provide more CJIS content via Web Services and XML </li></ul></ul><ul><ul><li>EOPS/CHSB developed a formal business and technical strategy to implement the beginnings of a production SOA using XML, GJXDM 3.0, Web Services, and SOAP </li></ul></ul><ul><ul><li>The release of GJXDM 3.0 required updates to portions of the “Mass. Justice XML” data dictionary </li></ul></ul>Massachusetts CJIS XML Architecture: Massachusetts Movements Towards GJXDM and SOA using Web Services, SOAP, and XML
    11. 11. Massachusetts CJIS XML Architecture: Overall Description and Architecture <ul><li>CJIS-XML is the implementation of a basic SOA to exchange CJIS data as GJXDM-based XML documents via Web Services </li></ul><ul><li>Key goals of the CJIS-XML architecture </li></ul><ul><ul><li>Simple to use and develop against </li></ul></ul><ul><ul><li>Standardized and open methods for development, implementation, and integration </li></ul></ul><ul><ul><li>Expandable to integrate new functionality (CJIS transactions or data exchanges) </li></ul></ul><ul><ul><li>Conform to GJXDM 3.0 </li></ul></ul><ul><ul><li>No Web Services bloat or API complexity </li></ul></ul><ul><ul><li>Synchronous and asynchronous methods of access </li></ul></ul><ul><ul><li>Available to a diverse range of technology platforms (Java, .Net, C++, etc.) </li></ul></ul><ul><li>CJIS-XML architecture today </li></ul><ul><ul><li>Single Web Service acts as the only public interface </li></ul></ul><ul><ul><li>Approximately 35 CJIS transactions are available, along with a handful of agency-to-agency CJIS data exchanges (CHSB, Parole, DOC) </li></ul></ul><ul><ul><li>Individual GJXDM-based schemas for each implemented transaction or exchange </li></ul></ul><ul><ul><li>Standardized method for adding new “modules” (currently written in Java) to accommodate additional CJIS functionality </li></ul></ul><ul><ul><li>Both query and update transactions have the same semantic interface </li></ul></ul>
    12. 12. Massachusetts CJIS XML Architecture: Core Characteristics <ul><li>Centralized Web Service (WS) that manages requests and responses within the SOA </li></ul><ul><li>CJIS-XML WS accepts and returns well-formed XML request and response documents </li></ul><ul><li>The CJIS-XML Service Handler layer interprets requests and passes them to individual processing modules to perform transaction-specific business logic </li></ul><ul><li>New processing modules can be readily integrated into CJIS-XML to leverage the underlying SOAP/XML infrastructure and delivery framework </li></ul>
    13. 13. Massachusetts CJIS XML Architecture: Input Transaction Processing <ul><li>All CJIS-XML transaction requests invoke the CJIS-XML WS </li></ul><ul><li>Transaction names and parameters are embedded in the XML request/response document </li></ul><ul><li>CJIS-XML loads/executes the appropriate processing module for the transaction </li></ul><ul><li>Each type of CJIS transaction has its own processing module </li></ul>CJIS-XML Request Process
    14. 14. Massachusetts CJIS XML Architecture: Output Transaction Processing <ul><li>Each processing module generates a well-formed XML response </li></ul><ul><li>Requestors (web service clients) then retrieve (or receive) responses from the CJIS-XML WS </li></ul>CJIS-XML Response Process
    15. 15. Massachusetts CJIS XML Architecture: XML Response Transaction Description <ul><li>Response transaction has header and body element </li></ul><ul><li>Header contains meta data about the transaction </li></ul><ul><li>Header information is the same for all transactions </li></ul><ul><li>Body contains the data that is exchanged </li></ul><ul><li>Body is different for each transaction </li></ul>
    16. 16. Massachusetts CJIS XML Architecture: Example of the CJIS-XML Request and Response Process (Asynchronous) <ul><li>CJIS-XML requests and responses are made using well-formed XML via SOAP over HTTP </li></ul><ul><li>In the asynchronous request/response model: </li></ul><ul><ul><li>The CJIS-XML Web Service receives requests from clients </li></ul></ul><ul><ul><li>CJIS-XML clients must retrieve responses to their own requests </li></ul></ul><ul><li>A complete transaction is made up of multiple steps: </li></ul><ul><ul><li>Query request </li></ul></ul><ul><ul><li>Return message </li></ul></ul><ul><ul><li>Retrieval request </li></ul></ul><ul><ul><li>Query Response </li></ul></ul>
    17. 17. Massachusetts CJIS XML Implementation: How Massachusetts CJIS XML is Being Used Today <ul><li>Integration with Massachusetts CJIS web-based applications </li></ul><ul><ul><li>Web apps readily obtain GJXDM-based CJIS information (via web services) for display in record check, firearms, booking, inmate processing, and motor vehicle applications </li></ul></ul><ul><li>Utilized by “Mobile Data Vendors” who provide vehicle-based and/or PDA CJIS applications to state and local law enforcement agencies </li></ul><ul><li>Agency-to-agency CJIS data exchanges </li></ul><ul><ul><li>MA CHSB and MA Parole exchange Parolee and Victims data </li></ul></ul><ul><ul><li>MA CHSB and MA DOC exchange Offender release data </li></ul></ul>
    18. 18. Massachusetts CJIS XML Implementation: CJIS XML and GJXDM Benefits Observed <ul><li>Timely and efficient CJIS information sharing; enhanced public safety </li></ul><ul><ul><li>Information that was “always there” now more effectively available </li></ul></ul><ul><ul><li>Real world results: crimes solved, offenders located, etc. </li></ul></ul><ul><li>Use of open- and standards-based technologies easily accommodated a diverse technology environment and range of agencies/users </li></ul><ul><li>A common set of standards and single point of entry/access helps to maintain CJIS data integrity and controlled access to CJIS data </li></ul><ul><li>OJP GJXDM and “Global” concepts promote standardized inter- and intra-agency data exchanges and a more easily managed effort to share data </li></ul><ul><li>A single, well-specified API and set of XML schemas fostered an easy and rapid development cycle by programmers using the environment </li></ul><ul><li>Open standards and/or API stimulates competition among participating vendors to help the State gain the best value for services and products </li></ul>
    19. 19. Massachusetts CJIS XML Implementation: CJIS XML Demonstration <ul><li>Demonstration </li></ul>
    20. 20. Lessons Learned <ul><li>Lessons learned: </li></ul><ul><ul><li>Keep things simple and agile </li></ul></ul><ul><ul><li>Have an active governance structure and change management process in place </li></ul></ul><ul><ul><li>Understand how to effectively navigate the GJXDM and create schema subsets </li></ul></ul><ul><ul><li>Have a mechanism to handle schema and data dictionary updates in a graceful manner </li></ul></ul><ul><ul><li>A widespread understanding of metadata (and how to use it) is still being absorbed by vendors, agencies, and developers using XML </li></ul></ul><ul><ul><li>XML is sometimes advertised as an easy and flexible way to integrate systems, but in real life it seemed a bit more challenging than all the ad’s and bullet points suggest! </li></ul></ul>
    21. 21. Massachusetts Integrated Criminal Justice System (ICJIS) <ul><li>Governor’s Executive Order 465 </li></ul><ul><li>ICJ Planning Council </li></ul><ul><ul><li>Membership </li></ul></ul><ul><ul><li>Subcommittee </li></ul></ul><ul><ul><li>Project Management Office ICJIS Strategic Implementation Plan </li></ul></ul><ul><li>ICJIS Strategic Implementation Plan Project </li></ul>
    22. 22. Question and Answer Session <ul><li>Your questions, comments, and feedback are greatly appreciated </li></ul><ul><li>Thank you for attending! </li></ul>Barry J. LaCroix MA CHSB [email_address] Amit Banerji xFact, Inc. 978.821.3214 [email_address] James F Slater III MA EOPS [email_address] Curt Wood MA CHSB [email_address]