Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Massachusetts CJIS-XML: A GJXDM Implementation Case Study


Published on

  • Be the first to comment

  • Be the first to like this

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]