JNET – A Case Study
Using the JNET Messaging Infrastructure (MI) and
planned SOA functionality to provide cross agency
business needs.
Wednesday June 8, 2005 …From Collaboration to Integration…
JNET – A Case Study
Agenda
• Welcome and Introductions
• An Introduction to JNET
• Case Study
• Improvements with SOA
• Questions and Answers
JNET Architecture Team …From Collaboration to Integration… Page: 2
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 Architecture Team …From Collaboration to Integration… Page: 3
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 Architecture Team …From Collaboration to Integration… Page: 4
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 Architecture Team …From Collaboration to Integration… Page: 5
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 Architecture Team …From Collaboration to Integration… Page: 6
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) JNET Users
• 67 Counties County
• 555 District Justice Offices
• Over 750 Police Depts.
State
Federal
JNET Architecture Team …From Collaboration to Integration… Page: 7
Commonwealth of Pennsylvania Justice Network
Integration, Identification, & Notification System
22,496 Registered Users
ERIE
WARREN McKEAN TIOGA BRADFORD
SUSQUEHANNA
CRAWFORD
POTTER WAYNE
FOREST WYOMING
ELK SULLIVAN
CAMERON LACKAWANNA
PIKE
MERCER VENANGO
LYCOMING
CLINTON
JEFFERSON
LUZERNE
CLARION 476
COLUMBIA
LAWRENCE CLEARFIELD MONROE
MONTOUR
UNION
BUTLER CENTRE
ARMSTRONG
CARBON
SNYDER NORTHAMPTON
BEAVER
INDIANA
SCHUYLKILL
LEHIGH
CAMBRIA
ALLEGHENY DAUPHIN
BERKS
PERRY
BLAIR
99 LEBANON
HUNTINGDON BUCKS
WASHINGTON WESTMORELAND
LANCASTER
BEDFORD CHESTER
FRANKLIN
SOMERSET FULTON
FAYETTE
GREENE ADAMS
YORK PHILADELPHIA
DELAWARE
JNET Server Placement CPIN / Livescan
Notifications Local Police
Electronic Reporting PSP
Parole & Prison
Municipal Police Connectivity
JNET Architecture Team …From Collaboration to Integration…
SCI Page: 8
05/31/2005
JNET – A Case Study
Current Services
PennDOT Court Forms Wanted Justice Flexible Master Charge Inmate
Wants
Audit Reports and Info Search Codes Misconduct
ORI
PennDOT Officer
Gun Notifications Documentation ER - Probation ER- Jail
Audit Look-up
Certified Secured OOS Dr History County County Victim
Contact Info
History Dockets Probation Data Corrections Data Payment
Boat
SID/OTN Parole Driver
Drivers History Gang Constable Info Deputy Sheriffs
Look-up Violations Demographics
Protection Orders
Drivers Court Driver Address
Warrants Juvenile Inquiry Justice News
Photo Vehicle Disposition R/R History *
Drivers Court Data – Canadian Dr State Corrections Court Driver History
Web CPIN
Signature Docket Info Data Dispositions R/R*
Rap Sheet
Driver Learning Driver Photo
Search by SID E-Mail Arrest
Demographics Master Name Management Sys /Demo R/R
AOPC
PennDOT JNET JNET JNET Messaging
Secured
Web App Metro Homepage Infrastructure
Web
JNET Architecture Team …From Collaboration to Integration… Page: 9
JNET – A Case Study
Usage of JNET Services - Web
PennDOT Driver Info
AOPC-Case List
PCS SGS Web
Flexible Search
AOPC-Case Info
PSP-CPIN Arrest Mugshots
PA RAP Sheet
Master Name
Web CPIN
PennDOT Driver History
JNET Architecture Team …From Collaboration to Integration… Page: 10
JNET – A Case Study
Usage of JNET Services - Messaging
Arrest
Driver Info R/R
Electronic Reporting
PFA
Disposition R/R
Notification E-mail Disposition
Want Photo Info R/R
State Parole Violation
5 Million Notification Web Deliveries
A Total of Over 9 Million Messages Per Month
JNET Architecture Team …From Collaboration to Integration… Page: 11
JNET – A Case Study
Current Services
PennDOT Court Forms Wanted Justice Flexible Master Charge Inmate
Wants
Audit Reports and Info Search Codes Misconduct
ORI
PennDOT Officer
Gun Notifications Documentation ER - Probation ER- Jail
Audit Look-up
Certified Secured OOS Dr History County County Victim
Contact Info
History Dockets Probation Data Corrections Data Payment
Boat
SID/OTN Parole Driver
Drivers History Gang Constable Info Deputy Sheriffs
Look-up Violations Demographics
Protection Orders
Drivers Court Driver Address
Warrants Juvenile Inquiry Justice News
Photo Vehicle Disposition R/R History *
Drivers Court Data – Canadian Dr State Corrections Court Driver History
Web CPIN
Signature Docket Info Data Dispositions R/R*
Rap Sheet
Driver Learning Driver Photo
Search by SID E-Mail Arrest
Demographics Master Name Management Sys /Demo R/R
AOPC
PennDOT JNET JNET JNET Messaging
Secured
Web App Metro Homepage Infrastructure
Web
JNET Architecture Team …From Collaboration to Integration… Page: 12
JNET – A Case Study
Current Services (Planned Portal)
Inmate
Wants
Misconduct
ER - Probation ER- Jail
Victim
Justice Applications Payment
Contact Info
Parole Driver
Violations Demographics
Court Driver Address
Content/Search Disposition R/R History *
Court Driver History
Dispositions R/R*
Driver Photo
Arrest
Collaboration/Personalization /Demo R/R
JNET Portal JNET Messaging
PennDOT AOPC JNET Metro JNET Homepage Infrastructure
JNET Architecture Team …From Collaboration to Integration… Page: 13
JNET – A Case Study
Current Services (Migration)
Justice Flexible Master Charge Inmate
Wants
Search Codes Misconduct
Notifications Documentation ER - Probation ER- Jail
County County Victim
Justice Applications Probation Data Corrections Data Payment
Contact Info
Parole Driver
Constable Info Deputy Sheriffs
Violations Demographics
Court Driver Address
Content/Search Juvenile Inquiry Justice News
Disposition R/R History *
State Corrections Court Driver History
Web CPIN
Data Dispositions R/R*
Learning Driver Photo
E-Mail Arrest
Collaboration/Personalization Management Sys /Demo R/R
JNET Portal JNET JNET Messaging
PennDOT AOPC JNET Metro Homepage
JNET Homepage Infrastructure
JNET Architecture Team …From Collaboration to Integration… Page: 14
JNET – A Case Study
Current Services (Migration)
Justice Flexible Master Charge Inmate
Wants
Search Codes Misconduct
Notifications Documentation ER - Probation ER- Jail
County County Victim
Justice Applications Probation Data Corrections Data Payment
Contact Info
Parole Driver
Constable Info Deputy Sheriffs
Violations Demographics
Court Driver Address
Content/Search Juvenile Inquiry Justice News
Disposition R/R History *
State Corrections Court Driver History
Web CPIN
Data Dispositions R/R*
Learning Driver Photo
E-Mail Arrest
Collaboration/Personalization Management Sys /Demo R/R
JNET Portal JNET JNET Messaging
PennDOT AOPC JNET Metro Homepage
JNET Homepage Infrastructure
JNET Architecture Team …From Collaboration to Integration… Page: 15
JNET – A Case Study
Current Services Migrated
PennDOT Driver Master Charge Inmate
Constable Info Web CPIN Wants
Audit Reports Demographics Codes Misconduct
PennDOT County Drivers Court Data –
County Probation ER - Probation ER- Jail
Audit Corrections Photo Docket Info
State Corrections Victim
Data Justice Applications Deputy Sheriffs
Payment
Contact Info
Court Forms Justice Flexible Officer SID/OTN Parole Driver
Documentation
and Info Search Look-up Look-up Violations Demographics
Court Driver Address
Justice News
Content/Search Juvenile Inquiry
Disposition R/R History *
Court Driver History
Learning
E-Mail Notifications White Pages User Info Dispositions R/R*
Management Sys
Driver Photo
Arrest
Collaboration/Personalization /Demo R/R
JNET Portal JNET Messaging
PennDOT AOPC JNET Metro JNET Homepage Infrastructure
JNET Architecture Team …From Collaboration to Integration… Page: 16
JNET – A Case Study
Current Services – New Court Case Event
PennDOT Court Forms Wanted Justice Flexible Master Charge Inmate
Wants
Audit Reports and Info Search Codes Misconduct
ORI
PennDOT Officer
Gun Notifications Documentation ER - Probation ER- Jail
Audit Look-up
Certified Secured OOS Dr History County County
Victim Payment Contact Info
History Dockets
Boat
Probation Data
Court Case
Corrections Data
Drivers History
New Service?
SID/OTN
Look-up
Gang Constable Info Deputy Sheriffs
Parole
Violations
Driver
Demographics
Drivers
Photo
Warrants
Protection Orders
Vehicle
Juvenile Inquiry
Event
Justice News
Court
Disposition R/R
Driver Address
History *
Drivers Court Data – Canadian Dr State Corrections Court Driver History
CPIN
Signature Docket Info Data Dispositions R/R*
Rap Sheet
Existing Services
Driver
Demographics
Search by SID Master Name
Learning
Management Sys Messages
E-Mail Arrest
Driver Photo
/Demo R/R
AOPC
PennDOT JNET JNET JNET Messaging
Secured
Web App Metro Homepage Infrastructure
Web
JNET Architecture Team …From Collaboration to Integration… Page: 17
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 Architecture Team …From Collaboration to Integration… Page: 18
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 Architecture Team …From Collaboration to Integration… Page: 19
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 Architecture Team …From Collaboration to Integration… Page: 20
JNET – A Case Study
GJXDM Court Case Event Message (body)
WARRANT ISSUE 09-03-0720
2003-01-08
13:03:00.0
2002-11-13
Commonwealth of Pennsylvania v. Chad Michael
Bohn
CP-21-CR-0000034-2003
Cumberland County
Courthouse
JNET Architecture Team …From Collaboration to Integration… Page: 21
JNET – A Case Study
GJXDM Court Case Event Message (EBXML-like header)
@AOPC
@GENERAL DELIVERY
AOPC Case Notification 1.0
CaseNotification@jnet.aopc|CaseNotification@jnet.aopc
WARRANT PUBLISH
WARRANT ISSUE
998ede5bcdfc11d99dbba959eecf59dd
2005-05-26T11:44:57.575-05:00
JNET Architecture Team …From Collaboration to Integration… Page: 22
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
Event Next Event JNET Action Tag JNET Topic
Case Initiation Information Filed “Case Init” Court Case Event
Information Formal Arraignment “Bill of Information Court Case Event
Filed Scheduled Acceptance”
Bench Warrant Bench Warrant “Warrant Issued” Warrant
Issued Served
Sentencing Penalty Assessed “Sentence” Court Case Event
JNET Architecture Team …From Collaboration to Integration… Page: 23
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 “WARRANT ISSUE”
JNET Architecture Team …From Collaboration to Integration… Page: 24
JNET – A Case Study
Courts State Police
Event Process Flow JNET Messaging CCH
Infrastructure (MI)
1 Case Init 2 Bill of Info 3 Warrant 4 Sentence Node
Node
IIMS
Commonwealth
MAN Node
JNET
Hub
Counties PCCD
County Bus/ Victims
County Broker Node Node
Compensation
Other approved
Case Event Notice
Topic
subscriber
agencies/counties
JNET Architecture Team …From Collaboration to Integration… Page: 25
JNET – A Case Study
Planned Consumers
JNET Subscriber Event Supported by
current
architecture
Criminal History Sentence/Disposition Yes
Wanted Persons File Warrant Issue No
Incident Information Case Initiation Yes
Management System Sentence/Disposition
County Justice Information All No
Exchange
Probation / Parole Case Initiation Yes
Warrant Issue
PA Commission on Crime Case Initiation Yes
and Delinquency – Victims
Compensation
Local Police – Crime Net Case Initiation Yes
JNET Architecture Team …From Collaboration to Integration… Page: 26
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 Architecture Team …From Collaboration to Integration… Page: 27
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 Architecture Team …From Collaboration to Integration… Page: 28
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 Architecture Team …From Collaboration to Integration… Page: 29
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 Architecture Team …From Collaboration to Integration… Page: 30
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 Architecture Team …From Collaboration to Integration… Page: 31
JNET – A Case Study
JNET Architecture Limitations AOPC
• Web applications not easily exposable as
services JNET
o MI nicely exposed but not web app. MI
Court
o Better to get demographics from MI JMS Case
• Where is the routing logic? Event
o Who is orchestrating this?
o Where is the business logic?
o Would love to have this reusable for other ?
processes. CPIN Wants/ Warrants
• Who will combine responses to GJXDM
Driver Driver History
message? Demographics R/R*
o Is it publisher’s (AOPC’s) problem?
Drivers Driver
o Is it JNET’s responsibility? Photo Demographics
SID/OTN Driver Photo
Need a Service Oriented Approach Look-up /Demo R/R
with supporting Architecture
JNET Secure JNET Messaging
Web Site Infrastructure
JNET Architecture Team …From Collaboration to Integration… Page: 32
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.
JNET Architecture Team …From Collaboration to Integration… Page: 33
JNET – A Case Study
Service Oriented Architecture
Union of services, processes and policies into a
framework.
Policy Metadata Service
Repository Repository Registry
XML
Security Routing Mediation Orchestration
Acceleration
Service Service
Consumer Event Driven XML Message Provider
•Exceptions
Unified •Auditing
Service •Reporting
Management •Monitoring
JNET Architecture Team …From Collaboration to Integration… Page: 34
JNET – A Case Study
“To-Be” PA Court Case Event Process with SOA
XML
AOPC
JNET t
MI
County 1
JMS Cache JIEM
Filter process
using
XPATH 2 3
1
JNET Service Bus 4 5
Case 1
Event 2 3
GJXDM Pub/Sub Transform
to
EDCBIC 2 3
XML
1
4 5
Content
Based County 2
Router JIEM
process
C# Notify
FTP
Srvc.
cNet DA
JNET Architecture Team …From Collaboration to Integration… Page: 35
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 Architecture Team …From Collaboration to Integration… Page: 36
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 Architecture Team …From Collaboration to Integration… Page: 37
JNET – A Case Study
Questions and Answers – Panel
JNET Architecture Team …From Collaboration to Integration… Page: 38