Title: Using the JNET Messaging Infrastructure MI and planned SOA functionality to provide cross agency bus
1JNET A Case Study
- Using the JNET Messaging Infrastructure (MI) and
planned SOA functionality to provide cross agency
business needs.
2JNET A Case Study
- Agenda
- Welcome and Introductions
- An Introduction to JNET
- Case Study
- Improvements with SOA
- Questions and Answers
3JNET 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
4JNET 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
5JNET A Case Study
- 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
Pennsylvanias public safety partners.
- public safety
- integration (different from information
sharing) - timely and appropriate access to information
6JNET 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
-
7JNET 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.
8Commonwealth of Pennsylvania Justice
Network Integration, Identification,
Notification System
22,496 Registered Users
ERIE
WARREN
TIOGA
BRADFORD
McKEAN
SUSQUEHANNA
CRAWFORD
POTTER
WAYNE
WYOMING
FOREST
ELK
SULLIVAN
CAMERON
LACKAWANNA
PIKE
VENANGO
MERCER
LYCOMING
CLINTON
JEFFERSON
LUZERNE
476
CLARION
COLUMBIA
LAWRENCE
MONROE
CLEARFIELD
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
9JNET A Case Study
Master Charge Codes
Court Forms and Info
Justice Flexible Search
PennDOT Audit Reports
Wanted
Wants
Inmate Misconduct
ORI
Officer Look-up
Notifications
Documentation
PennDOT Audit
ER - Probation
ER- Jail
Gun
OOS Dr History
Secured Dockets
County Probation Data
County Corrections Data
Certified History
Victim Payment
Contact Info
Boat
Constable Info
SID/OTN Look-up
Deputy Sheriffs
Drivers History
Parole Violations
Driver Demographics
Gang
Protection Orders
Drivers Photo
Warrants
Juvenile Inquiry
Justice News
Court Disposition R/R
Driver Address History
Vehicle
Court Data Docket Info
Web CPIN
State Corrections Data
Drivers Signature
Court Dispositions
Driver History R/R
Canadian Dr
Rap Sheet
Search by SID
Learning Management Sys
E-Mail
Driver Demographics
Arrest
Driver Photo /Demo R/R
Master Name
JNET Homepage
PennDOT Web App
AOPC Secured Web
JNET Metro
JNET Messaging Infrastructure
10JNET A Case Study
- Usage of JNET Services - Web
11JNET A Case Study
- Usage of JNET Services - Messaging
5 Million Notification Web Deliveries
A Total of Over 9 Million Messages Per Month
12JNET A Case Study
Master Charge Codes
Court Forms and Info
Justice Flexible Search
Wants
Inmate Misconduct
PennDOT Audit Reports
Wanted
ORI
Officer Look-up
Notifications
Documentation
ER - Probation
ER- Jail
PennDOT Audit
Gun
OOS Dr History
Secured Dockets
County Probation Data
County Corrections Data
Victim Payment
Contact Info
Certified History
Boat
Constable Info
SID/OTN Look-up
Deputy Sheriffs
Parole Violations
Driver Demographics
Drivers History
Gang
Protection Orders
Drivers Photo
Warrants
Juvenile Inquiry
Justice News
Court Disposition R/R
Driver Address History
Vehicle
Court Data Docket Info
Web CPIN
State Corrections Data
Court Dispositions
Driver History R/R
Drivers Signature
Canadian Dr
Rap Sheet
Search by SID
Learning Management Sys
E-Mail
Arrest
Driver Photo /Demo R/R
Driver Demographics
Master Name
JNET Homepage
PennDOT Web App
AOPC Secured Web
JNET Metro
JNET Messaging Infrastructure
13JNET 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 Messaging Infrastructure
JNET Portal
JNET Homepage
PennDOT
AOPC
JNET Metro
JNET Homepage
14JNET 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 Messaging Infrastructure
JNET Portal
JNET Homepage
PennDOT
AOPC
JNET Metro
JNET Homepage
15JNET A Case Study
- Current Services (Migration)
Justice Applications
Master Charge Codes
Justice Flexible Search
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 Messaging Infrastructure
JNET Portal
JNET Homepage
PennDOT
AOPC
JNET Metro
JNET Homepage
16JNET A Case Study
- Current Services Migrated
Justice Applications
Web CPIN
Constable Info
Master Charge Codes
Driver Demographics
PennDOT Audit Reports
Wants
Inmate Misconduct
Court Data Docket Info
Drivers Photo
County Corrections
County Probation
PennDOT Audit
ER - Probation
ER- Jail
State Corrections Data
Deputy Sheriffs
Victim Payment
Contact Info
Content/Search
SID/OTN Look-up
Officer Look-up
Documentation
Court Forms and Info
Justice Flexible Search
Parole Violations
Driver Demographics
Juvenile Inquiry
Justice News
Court Disposition R/R
Driver Address History
Collaboration/Personalization
Court Dispositions
Driver History R/R
Learning Management Sys
Notifications
E-Mail
White Pages
User Info
Arrest
Driver Photo /Demo R/R
JNET Messaging Infrastructure
JNET Portal
JNET Homepage
PennDOT
AOPC
JNET Metro
17JNET A Case Study
- Current Services New Court Case Event
Master Charge Codes
Court Forms and Info
Justice Flexible Search
PennDOT Audit Reports
Wanted
Wants
Inmate Misconduct
ORI
Officer Look-up
Notifications
Documentation
PennDOT Audit
ER - Probation
ER- Jail
Gun
New Service?
Court Case Event
OOS Dr History
Secured Dockets
County Probation Data
County Corrections Data
Victim Payment
Contact Info
Certified History
Boat
Constable Info
SID/OTN Look-up
Deputy Sheriffs
Parole Violations
Driver Demographics
Drivers History
Gang
Protection Orders
Drivers Photo
Warrants
Juvenile Inquiry
Justice News
Court Disposition R/R
Driver Address History
Vehicle
Messages
Existing Services
Court Data Docket Info
CPIN
State Corrections Data
Court Dispositions
Driver History R/R
Drivers Signature
Canadian Dr
Rap Sheet
Search by SID
Learning Management Sys
E-Mail
Arrest
Driver Photo /Demo R/R
Driver Demographics
Master Name
JNET Homepage
PennDOT Web App
AOPC Secured Web
JNET Metro
JNET Messaging Infrastructure
18JNET 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
19JNET 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
20JNET 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
21JNET A Case Study
GJXDM Court Case Event Message (body) ltCourtCas
eEvent jsourceIDText"CPCMS1000034"gt ltjActivi
tyTypeTextgtWARRANT ISSUE 09-03-0720lt/jActivityTyp
eTextgt ltjActivityDategt2003-01-08lt/jActivityDa
tegt ltjActivityTimegt130300.0lt/jActivityTimegt
ltjActivityInitiatingInstrumentgt ltjDocume
ntFiledDategt2002-11-13lt/jDocumentFiledDategt lt/
jActivityInitiatingInstrumentgt ltjCaseTitleTex
tgtCommonwealth of Pennsylvania v. Chad Michael
Bohnlt/jCaseTitleTextgt ltjCaseDocketIDgt ltj
IDgtCP-21-CR-0000034-2003lt/jIDgt lt/jCaseDocketI
Dgt ltjCaseCourtgt ltjOrganizationNamegtCumber
land County Courthouselt/jOrganizationNamegt ltj
OrganizationLocationgt
22JNET A Case Study
GJXDM Court Case Event Message (EBXML-like
header) ltMessageHeadergt ltFromgt ltPartyId
type"modified email"gt_at_AOPClt/PartyIdgt lt/Fromgt ltT
ogt ltPartyId type"modified email"gt_at_GENERAL
DELIVERYlt/PartyIdgt lt/Togt ltCPAIdgtAOPC Case
Notification 1.0lt/CPAIdgt ltConversationIdgtCaseNoti
fication_at_jnet.aopcCaseNotification_at_jnet.aopclt/Con
versationIdgt ltService type"MESSAGE-XML"gtWARRANT
PUBLISHlt/Servicegt ltActiongtWARRANT
ISSUElt/Actiongt ltMessageDatagt ltMessageIdgt998ede5
bcdfc11d99dbba959eecf59ddlt/MessageIdgt ltTimestamp
gt2005-05-26T114457.575-0500lt/Timestampgt lt/Mess
ageDatagt lt/MessageHeadergt
23JNET 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
24JNET 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 ltActiongtWARRANT ISSUElt/Actiongt
25JNET 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
26JNET A Case Study
27JNET 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
28JNET 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
29JNET 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
30JNET 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
31JNET 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?
32JNET 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 publishers (AOPCs) problem?
- Is it JNETs 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 Messaging Infrastructure
JNET Secure Web Site
33JNET 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.
34JNET A Case Study
- Service Oriented Architecture
- Union of services, processes and policies into a
framework.
35JNET A Case Study
- To-Be PA Court Case Event Process with SOA
36JNET 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.
37JNET 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
38JNET A Case Study
- Questions and Answers Panel