380 likes | 392 Views
JNET – A Case Study. Using the JNET Messaging Infrastructure (MI) and planned SOA functionality to provide cross agency business needs. JNET – A Case Study. Agenda Welcome and Introductions An Introduction to JNET Case Study Improvements with SOA Questions and Answers. JNET – A Case Study.
E N D
JNET – A Case Study Using the JNET Messaging Infrastructure (MI) and planned SOA functionality to provide cross agency business needs.
JNET – A Case Study • Agenda • Welcome and Introductions • An Introduction to JNET • Case Study • Improvements with SOA • Questions and Answers
JNET – A Case Study • Welcome and Introductions • James Dyche – JNET IS Manager • Mark Fontana – JNET Data Architect • Ancil McBarnett – JNET Architecture Manager • Q/A - Others from Courts and State Police
JNET – A Case Study • An Introduction to JNET • What is JNET? • Who Participates in JNET? • What are JNET Service Offerings? • Usage of JNET Services • Service Migration
JNET – A Case Study • JNET’s Vision “Through the full commitment of its member agencies, leadership and staff resources, the Pennsylvania Justice Network will promote safer communities throughout the Commonwealth of Pennsylvania by providing the complete and secure integrated justice system to all of Pennsylvania’s public safety partners. • public safety • integration (different from information sharing) • timely and appropriate access to information”
JNET – A Case Study • What is the Pennsylvania Justice Network (JNET)? • JNET is a set of integrated justice tools that provide its users with a single one stop shop for information • JNET is an integrated justice initiative that provides its users; • Connectivity • Security • A set of web offerings • A set of message offerings • Notifications
JNET – A Case Study • Who Participates in JNET? • Over 22,000 end users: • 32 Commonwealth Organizations • 11 Federal Agencies (FBI, US Probation, IRS CID, DEA, US Marshall) • 67 Counties • 555 District Justice Offices • Over 750 Police Depts.
Commonwealth of Pennsylvania Justice Network Integration, Identification, & Notification System 22,496 Registered Users ERIE WARREN BRADFORD TIOGA McKEAN SUSQUEHANNA CRAWFORD POTTER WAYNE WYOMING FOREST ELK SULLIVAN CAMERON LACKAWANNA PIKE VENANGO MERCER LYCOMING CLINTON JEFFERSON LUZERNE 476 CLARION COLUMBIA LAWRENCE CLEARFIELD MONROE MONTOUR UNION BUTLER CENTRE ARMSTRONG CARBON SNYDER NORTHAMPTON BEAVER NORTHUMBERLAND INDIANA SCHUYLKILL LEHIGH MIFFLIN CAMBRIA JUNIATA ALLEGHENY DAUPHIN BERKS PERRY 99 BLAIR LEBANON MONTGOMERY HUNTINGDON BUCKS WASHINGTON WESTMORELAND CUMBERLAND LANCASTER BEDFORD CHESTER FRANKLIN SOMERSET FULTON FAYETTE GREENE ADAMS YORK PHILADELPHIA DELAWARE JNET Server Placement Notifications Electronic Reporting Municipal Police Connectivity CPIN / Livescan Local Police PSP Parole & Prison SCI 05/31/2005
JNET – A Case Study • Current Services PennDOT Audit Reports Court Forms and Info Wanted Justice Flexible Search Master Charge Codes Wants Inmate Misconduct ORI PennDOT Audit Officer Look-up Notifications Documentation ER - Probation ER- Jail Gun OOS Dr History Certified History Secured Dockets County Probation Data County Corrections Data Victim Payment Contact Info Boat Drivers History SID/OTN Look-up Constable Info Deputy Sheriffs Parole Violations Driver Demographics Gang Protection Orders Drivers Photo Warrants Juvenile Inquiry Justice News Court Disposition R/R Driver Address History * Vehicle Drivers Signature Court Data – Docket Info Web CPIN State Corrections Data Court Dispositions Driver History R/R* Canadian Dr Rap Sheet Driver Demographics Search by SID Learning Management Sys E-Mail Arrest Driver Photo /Demo R/R Master Name PennDOT Web App AOPC Secured Web JNET Metro JNET Homepage JNET Messaging Infrastructure
JNET – A Case Study Usage of JNET Services - Web
JNET – A Case Study Usage of JNET Services - Messaging 5 Million Notification Web Deliveries A Total of Over 9 Million Messages Per Month
JNET – A Case Study • Current Services PennDOT Audit Reports Court Forms and Info Wanted Justice Flexible Search Master Charge Codes Wants Inmate Misconduct ORI PennDOT Audit Officer Look-up Notifications Documentation ER - Probation ER- Jail Gun OOS Dr History Certified History Secured Dockets County Probation Data County Corrections Data Victim Payment Contact Info Boat Drivers History SID/OTN Look-up Constable Info Deputy Sheriffs Parole Violations Driver Demographics Gang Protection Orders Drivers Photo Warrants Juvenile Inquiry Justice News Court Disposition R/R Driver Address History * Vehicle Drivers Signature Court Data – Docket Info Web CPIN State Corrections Data Court Dispositions Driver History R/R* Canadian Dr Rap Sheet Driver Demographics Search by SID Learning Management Sys E-Mail Arrest Driver Photo /Demo R/R Master Name PennDOT Web App AOPC Secured Web JNET Metro JNET Homepage JNET Messaging Infrastructure
JNET – A Case Study • Current Services (Planned Portal) Justice Applications Wants Inmate Misconduct ER - Probation ER- Jail Victim Payment Contact Info Content/Search Parole Violations Driver Demographics Court Disposition R/R Driver Address History * Collaboration/Personalization Court Dispositions Driver History R/R* Arrest Driver Photo /Demo R/R JNET Portal JNET Messaging Infrastructure PennDOT AOPC JNET Metro JNET Homepage JNET Homepage
Justice Flexible Search Master Charge Codes Notifications Documentation County Probation Data County Corrections Data Constable Info Deputy Sheriffs Juvenile Inquiry Justice News Web CPIN State Corrections Data Learning Management Sys E-Mail JNET Homepage JNET Homepage JNET – A Case Study • Current Services (Migration) Justice Applications Wants Inmate Misconduct ER - Probation ER- Jail Victim Payment Contact Info Content/Search Parole Violations Driver Demographics Court Disposition R/R Driver Address History * Collaboration/Personalization Court Dispositions Driver History R/R* Arrest Driver Photo /Demo R/R JNET Portal JNET Messaging Infrastructure PennDOT AOPC JNET Metro JNET Homepage JNET Homepage
JNET – A Case Study • Current Services (Migration) Justice Applications Justice Flexible Search Master Charge Codes Wants Inmate Misconduct Notifications Documentation ER - Probation ER- Jail County Probation Data County Corrections Data Victim Payment Contact Info Content/Search Constable Info Deputy Sheriffs Parole Violations Driver Demographics Juvenile Inquiry Justice News Court Disposition R/R Driver Address History * Collaboration/Personalization Web CPIN State Corrections Data Court Dispositions Driver History R/R* Learning Management Sys E-Mail Arrest Driver Photo /Demo R/R JNET Portal JNET Homepage JNET Messaging Infrastructure PennDOT AOPC JNET Metro JNET Homepage
JNET – A Case Study • Current Services Migrated Justice Applications PennDOT Audit Reports Constable Info Web CPIN Driver Demographics Master Charge Codes Wants Inmate Misconduct PennDOT Audit County Probation County Corrections Drivers Photo Court Data – Docket Info ER - Probation ER- Jail State Corrections Data Deputy Sheriffs Victim Payment Contact Info Content/Search Court Forms and Info Documentation Justice Flexible Search Officer Look-up SID/OTN Look-up Parole Violations Driver Demographics Justice News Juvenile Inquiry Court Disposition R/R Driver Address History * Collaboration/Personalization Court Dispositions Driver History R/R* Learning Management Sys E-Mail Notifications White Pages User Info Arrest Driver Photo /Demo R/R JNET Portal JNET Messaging Infrastructure PennDOT AOPC JNET Metro JNET Homepage
JNET – A Case Study • Current Services – New Court Case Event PennDOT Audit Reports Court Forms and Info Wanted Justice Flexible Search Master Charge Codes Wants Inmate Misconduct ORI PennDOT Audit Officer Look-up Notifications Documentation ER - Probation ER- Jail Gun New Service? Court Case Event OOS Dr History Certified History Secured Dockets County Probation Data County Corrections Data Victim Payment Contact Info Boat Drivers History SID/OTN Look-up Constable Info Deputy Sheriffs Parole Violations Driver Demographics Gang Protection Orders Drivers Photo Warrants Juvenile Inquiry Justice News Court Disposition R/R Driver Address History * Vehicle Messages Existing Services Drivers Signature Court Data – Docket Info CPIN State Corrections Data Court Dispositions Driver History R/R* Canadian Dr Rap Sheet Driver Demographics Search by SID Learning Management Sys E-Mail Arrest Driver Photo /Demo R/R Master Name PennDOT Web App AOPC Secured Web JNET Metro JNET Homepage JNET Messaging Infrastructure
JNET – A Case Study • Agenda for Case Study • Overview of Court Case Event • Court Event/Trigger Based Processing • Court Case Event GJXDM Message • Current JNET Messaging Architecture • Planned Consumers • Court Case Event Messages better fit to SOA • Challenges/Limitations
JNET – A Case Study • Business Drivers • Global Training on Justice Information Exchange Model (JIEM) • 40-60% of all state based exchanges studied by Global are initiated by Courts as the sending agency • Multiple requests for the same court case information • Multiple constituents • Various events • Different formats • Different protocols
JNET – A Case Study • Overview Court Case Event • Published by court case management systems at various court events. • These events will published a message to JNET based upon “live updates” to the court case management systems • Courts only want to publish the message once per event and not per requestor • Publish/Subscribe Paradigm • Courts want to provide governance and specifically define and approve subscribers for each event • Application logic should be only concerned with publishing • No logic for filtering or routing of message to subscribers
JNET – A Case Study • GJXDM Court Case Event Message (body) • <CourtCaseEvent j:sourceIDText="CPCMS1000034"> • <j:ActivityTypeText>WARRANT ISSUE 09-03-0720</j:ActivityTypeText> • <j:ActivityDate>2003-01-08</j:ActivityDate> • <j:ActivityTime>13:03:00.0</j:ActivityTime> • <j:ActivityInitiatingInstrument> • <j:DocumentFiledDate>2002-11-13</j:DocumentFiledDate> • </j:ActivityInitiatingInstrument> • <j:CaseTitleText>Commonwealth of Pennsylvania v. Chad Michael Bohn</j:CaseTitleText> • <j:CaseDocketID> • <j:ID>CP-21-CR-0000034-2003</j:ID> • </j:CaseDocketID> • <j:CaseCourt> • <j:OrganizationName>Cumberland County Courthouse</j:OrganizationName> • <j:OrganizationLocation>
JNET – A Case Study • GJXDM Court Case Event Message (EBXML-like header) • <MessageHeader> • <From> • <PartyId type="modified email">@AOPC</PartyId> • </From> • <To> • <PartyId type="modified email">@GENERAL DELIVERY</PartyId> • </To> • <CPAId>AOPC Case Notification 1.0</CPAId> • <ConversationId>CaseNotification@jnet.aopc|CaseNotification@jnet.aopc</ConversationId> • <Service type="MESSAGE-XML">WARRANT PUBLISH</Service> • <Action>WARRANT ISSUE</Action> • <MessageData> • <MessageId>998ede5bcdfc11d99dbba959eecf59dd</MessageId> • <Timestamp>2005-05-26T11:44:57.575-05:00</Timestamp> • </MessageData> • </MessageHeader>
JNET – A Case Study Court Case Event/Trigger Based Processing • Initiate GJXDM Court Case Event message at; • Case Initiation • Warrant Issue • Bill of Information Acceptance • Sentence/Disposition • Others as needed/required
JNET – A Case Study • Current JNET Messaging Architecture • Supported Design Patterns • Publish/Subscribe Mechanism • Request/Reply Mechanism • Current Technology • Java Messaging Service (JMS) • MQ Series Provider • Routing based on publishing to specific topics • AOPC\CourtCaseEvent, AOPC/Warrant • Each new event means a new topic (current paradigm) • Gross Level Filters available using JAVA Messaging Service (JMS) Selectors • Based on text/string comparisons rather than XML structure (XPath) • Search for string “<Action>WARRANT ISSUE</Action>”
JNET – A Case Study State Police Courts Event Process Flow CCH JNET Messaging Infrastructure (MI) 2 Bill of Info 1 Case Init 3 Warrant 4 Sentence Node Node IIMS C o m m o n w e a l t h M A N Node JNET Hub PCCD Counties Other approved Case Event Notice Topic subscriber agencies/counties County Bus/ County Broker Victims Compensation Node Node
JNET – A Case Study Planned Consumers
JNET – A Case Study • County Integration • Planned Process • Follow Justice Information Exchange Model (JIEM) • Want JIEM routing in MI rather than AOPC application • JIEM process information will be driven from AOPC processes • Counties only want their information • Want fine grained filters e.g. specific charges • Challenges • Sophisticated content based routing using JIEM prevailing process, triggering event and conditions • More fine grained filters
JNET – A Case Study • PA/NCIC Wanted Person File • Current Process • Warrants and wants entered separately • Because of manual interaction and paper based processes, warrants may not be entered into wanted persons file in a timely fashion • New Process • Courts publish warrant Court Case Event • JNET MI transforms Court Case Event XML into NCIC format and sends to PA Message switch • Challenges • Want record must be entered with multiple (supplement) submissions • Courts do not capture all information required for want • Supplemental queries to PennDOT and CPIN
JNET – A Case Study • Challenges/Limitations • No Data Caching Capability • AOPC must accept all the want entry data and send it back in the published warrant message • No Workflow Capability • The warrant message must be split into an NCIC entry message and multiple supplemental messages • Coordination of want entry and supplemental records must be hard coded in a JNET application • Limited Filtering Capability • Messages are filtered using text comparisons rather than XPath • No Intelligent Routing • Message broadcast to all subscribers and filtered at the receiving end
JNET – A Case Study • Planned SOA Implementation • Opportunities to improve court case event information exchange • JNET Architecture Limitations • Service Oriented Concepts • Service Oriented Architecture • “To-Be” PA Court Case Event Process with SOA • Challenges with SOA • Benefits of SOA in Justice Integration
JNET – A Case Study • Opportunities to Improve PA Court Case Event Information Exchange • Intelligent Routing Services • One topic for all messages (requires envelop/routing information) • Topics would be exchange/ work load based rather than event/ content based • Can we intelligently filter and route this event to appropriate subscribers? • Service endpoint invocation services • Can we facilitate each consumer nuances for consumption of event rather than just be satisfied with guaranteed delivery? i.e. DB, .Net app, MQ bridge • Legacy Services • Can we facilitate FTP process with receipt of Billing Information in one send? • Transformation and Translation Services • Can we change the file format from XML to ASCI or EBCDIC? • Workflow, Orchestration and Message Enhancement Services • Can we include additional demographics such as scars, marks and tattoos onto the warrant? Can we add a photo to the warrant? • Can we add business logic to retrieve photos from 2 sources but make a decision on which one to use (ie. The most recent photo taken) • Can we split the warrant message into an NCIC entry message and multiple supplemental messages, and coordinate its entry?
JNET – A Case Study JNET Architecture Limitations • Web applications not easily exposable as services • MI nicely exposed but not web app. • Better to get demographics from MI • Where is the routing logic? • Who is orchestrating this? • Where is the business logic? • Would love to have this reusable for other processes. • Who will combine responses to GJXDM message? • Is it publisher’s (AOPC’s) problem? • Is it JNET’s responsibility? Need a Service Oriented Approach with supporting Architecture ? CPIN Wants/ Warrants Driver Demographics Driver History R/R* Drivers Photo Driver Demographics SID/OTN Look-up Driver Photo /Demo R/R JNET Secure Web Site JNET Messaging Infrastructure
JNET – A Case Study • Service Oriented Concepts • What is a Service? • A service is core piece of business logic that is protocol independent, location agnostic, and contains no user state. • Services don't contain presentation logic, nor do they contain logic to integrate with data-tier resources, such as a database. • Service Oriented Approach • A Service Oriented Approach is about creating services with well defined interfaces (inputs and outputs) and behavior either from scratch or by wrapping existing application code. • There is the notion of liberating functionality and management functions from monolithic applications and defining once as a service. • The art of being able to encapsulate a service as a black box, only being aware of inputs into and outputs from that service. • Does not necessarily involve web services, whose contract is a WSDL. • These services are then combined into composite services, applications and business processes, by a mixture of modeling, configuration and parameterization and hopefully no coding. • In the spirit, of loose coupling, inputs and outputs of a service should be described as XML, without any thought of presentation, routing etc. • Services should have expanded reach – can be accessed on the web or via messaging or otherwise.
PolicyRepository MetadataRepository Service Registry XML Acceleration Security Routing Mediation Orchestration Service Consumer Service Provider Event Driven XML Message • Exceptions • Auditing • Reporting • Monitoring UnifiedService Management JNET – A Case Study • Service Oriented Architecture • Union of services, processes and policies into a framework.
JNET – A Case Study “To-Be” PA Court Case Event Process with SOA
JNET – A Case Study • Challenges with SOA • Monitoring – Operations have many more items to control, monitor and respond to when something goes wrong. Abstraction layer increased. • SLA and Performance – The business is interested in the performance of a composite service or process, not the individual services, and therefore should have service level agreements at that level. • Security – With processes running across multiple services, security and privacy reach new levels of complexity. How do we ensure that a service is only used by permitted users? • Mediation – traditional SOA does not specify how to accommodate for much needed mediation services such as transformations, translations, validations, exception handling etc. • Vaporware and Misnomer – It is unfortunate that SOA is discussed with only web services in mind. A Service Oriented Approach is paramount.
JNET – A Case Study • Benefits of SOA in Justice Integration • Flexibility – New processes can be defined and implemented much more quickly than traditional approaches • Services can be mixed and matched independently of their technological origins • Concept of services combining into a justice process is much closer to reality within an event driven paradigm • GJXDM used as a canonical model to define inputs and outputs to a service, leaving routing details to infrastructure • It is possible to implement applications using a service –oriented approach, without a service-oriented architecture, but this requires much effort of the developers with resulting accidental and spaghetti architecture
JNET – A Case Study • Questions and Answers – Panel