jnet: a case study
DESCRIPTION
TRANSCRIPT
……From Collaboration to From Collaboration to Integration…Integration…
Wednesday June 8, 2005
Using the JNET Messaging Infrastructure (MI) and planned SOA functionality to provide cross agency business needs.
JNET – A Case Study
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 2
JNET – A Case Study
Agenda
• Welcome and Introductions• An Introduction to JNET• Case Study• Improvements with SOA• Questions and Answers
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 3
JNET – A Case Study
Welcome and Introductions
James Dyche – JNET IS ManagerMark Fontana – JNET Data ArchitectAncil McBarnett – JNET Architecture
ManagerQ/A - Others from Courts and State
Police
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 4
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
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 5
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”
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 6
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
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 7
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.
JNET Users
FederalState
County
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 8
Commonwealth of Pennsylvania Justice NetworkIntegration, Identification, & Notification System
476
99
ERIE
CRAWFORD
WARREN
FOREST
McKEAN
POTTER
CAMERONELK
VENANGOMERCER
BEDFORD
BLAIR
SOMERSET
CAMBRIA
INDIANA
ARMSTRONG
BUTLER
LAWRENCE
BEAVER
ALLEGHENY
WASHINGTON
GREENEFAYETTE
WESTMORELAND
JEFFERSON
CLINTONLYCOMING
SULLIVAN
TIOGA BRADFORD
WAYNE
WYOMING
PIKE
LUZERNE
MONROE
SCHUYLKILL
CARBON
LEHIGH
COLUMBIA
BUCKS
BERKS
CHESTER
LANCASTER
YORK
LEBANONPERRY
DAUPHINJUNIATA
UNION
SNYDER
CENTRE
ADAMS
FRANKLIN
FULTON
HUNTINGDON
CLEARFIELD
CLARION
LACKAWANNA
MONTOUR
NORTHUMBERLAND NORTHAMPTON
PHILADELPHIADELAWARE
CUMBERLAND
SUSQUEHANNA
MONTGOMERY
JNET Server Placement
Notifications
Electronic Reporting
Municipal Police Connectivity
MIFFLIN
Local PolicePSPParole & PrisonSCI
05/31/2005
CPIN / Livescan
22,496 Registered Users
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 9
JNET – A Case Study
Current Services
JNET Homepage
PennDOTWeb App
AOPC Secured
Web
JNETMetro
Court Data – Docket Info
Search by SID
Web CPIN
Rap Sheet
Drivers Photo
Constable InfoSID/OTNLook-up
Warrants
Master Name
Juvenile Inquiry
SecuredDockets
CountyProbation Data
Learning Management Sys
OfficerLook-up
Notifications
CountyCorrections Data
State CorrectionsData
Justice News
Deputy Sheriffs
Canadian Dr
Documentation
Master ChargeCodes
Court Forms and Info
Justice FlexibleSearch
JNET Messaging Infrastructure
Drivers History
DriversSignature
Driver Demographics
PennDOTAudit
PennDOTAudit Reports
Vehicle
Protection Orders
CertifiedHistory
Gang
Boat
OOS Dr History
Gun
ORI
Wanted
Court Dispositions
ArrestDriver Photo/Demo R/R
ParoleViolations
Court Disposition R/R
DriverDemographics
Driver AddressHistory *
Victim Payment
Contact Info
ER - Probation ER- Jail
WantsInmate
Misconduct
Driver HistoryR/R*
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 10
PennDOT Driver Info
Web CPINPennDOT Driver History
AOPC-Case List
PCS SGS Web
PA RAP Sheet
PSP-CPIN Arrest Mugshots
AOPC-Case Info
Flexible Search
Master Name
JNET – A Case Study
Usage of JNET Services - Web
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 11
JNET – A Case Study
Usage of JNET Services - Messaging
Electronic Reporting
Photo Info R/R
Driver Info R/R
Disposition
PFA
Arrest
Want
State Parole Violation
Disposition R/R
Notif ication E-mail
A Total of Over 9 Million Messages Per Month5 Million Notification Web Deliveries
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 12
JNET – A Case Study
Current Services
JNET Homepage
PennDOTWeb App
AOPC Secured
Web
JNETMetro
Court Data – Docket Info
Search by SID
Web CPIN
Rap Sheet
Drivers Photo
Constable InfoSID/OTNLook-up
Warrants
Master Name
Juvenile Inquiry
SecuredDockets
CountyProbation Data
Learning Management Sys
OfficerLook-up
Notifications
CountyCorrections Data
State CorrectionsData
Justice News
Deputy Sheriffs
Canadian Dr
Documentation
Master ChargeCodes
Court Forms and Info
Justice FlexibleSearch
JNET Messaging Infrastructure
Court Dispositions
ArrestDriver Photo/Demo R/R
ParoleViolations
Court Disposition R/R
DriverDemographics
Driver AddressHistory *
Victim Payment
Contact Info
ER - Probation ER- Jail
WantsInmate
Misconduct
Driver HistoryR/R*
Drivers History
DriversSignature
Driver Demographics
PennDOTAudit
PennDOTAudit Reports
Vehicle
Protection Orders
CertifiedHistory
Gang
Boat
OOS Dr History
Gun
ORI
Wanted
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 13
Content/Search
Justice Applications
Collaboration/Personalization
JNET – A Case Study
Current Services (Planned Portal)
JNET HomepagePennDOT AOPC JNET Metro
JNET Messaging Infrastructure
JNET Portal
JNET Homepage
Court Dispositions
ArrestDriver Photo/Demo R/R
ParoleViolations
Court Disposition R/R
DriverDemographics
Driver AddressHistory *
Victim Payment
Contact Info
Driver HistoryR/R*
ER - Probation ER- Jail
WantsInmate
Misconduct
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 14
JNET Homepage
Content/Search
Justice Applications
Collaboration/Personalization
JNET – A Case Study
Current Services (Migration)
PennDOT AOPC JNET Metro
JNET Messaging Infrastructure
JNET Portal
JNET HomepageJNET Homepage
JNET Homepage
Web CPIN
Constable Info
Juvenile Inquiry
CountyProbation Data
Learning Management Sys
Notifications
CountyCorrections Data
State CorrectionsData
Justice News
Deputy Sheriffs
Documentation
Master ChargeCodes
Justice FlexibleSearch
Court Dispositions
ArrestDriver Photo/Demo R/R
ParoleViolations
Court Disposition R/R
DriverDemographics
Driver AddressHistory *
VictimPayment
Contact Info
Driver HistoryR/R*
ER - Probation ER- Jail
WantsInmate
Misconduct
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 15
Content/Search
Justice Applications
Collaboration/Personalization
JNET – A Case Study
Current Services (Migration)
PennDOT AOPC JNET Metro
JNET Messaging Infrastructure
JNET Portal
JNET Homepage
JNET Homepage
Web CPIN
Constable Info
Juvenile Inquiry
CountyProbation Data
Learning Management Sys
Notifications
CountyCorrections Data
State CorrectionsData
Justice News
Deputy Sheriffs
Documentation
Master ChargeCodes
Justice FlexibleSearch
Court Dispositions
ArrestDriver Photo/Demo R/R
ParoleViolations
Court Disposition R/R
DriverDemographics
Driver AddressHistory *
Victim Payment
Contact Info
Driver HistoryR/R*
ER - Probation ER- Jail
WantsInmate
Misconduct
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 16
Content/Search
Justice Applications
Collaboration/Personalization
JNET – A Case Study
Current Services Migrated
JNET HomepagePennDOT AOPC JNET Metro
JNET Messaging Infrastructure
JNET Portal
Court Data – Docket Info
Web CPIN
Drivers Photo
Constable Info
SID/OTNLook-up
CountyCorrections
Juvenile Inquiry
Learning Management Sys
OfficerLook-up
Notifications E-Mail
State CorrectionsData
Justice News
Deputy Sheriffs
Documentation
Master ChargeCodes
Court Forms and Info
White Pages
County Probation
Driver Demographics
PennDOTAudit
PennDOTAudit Reports
User Info
Justice FlexibleSearch
Court Dispositions
ArrestDriver Photo/Demo R/R
ParoleViolations
Court Disposition R/R
DriverDemographics
Driver AddressHistory *
VictimPayment
Contact Info
Driver HistoryR/R*
ER - Probation ER- Jail
WantsInmate
Misconduct
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 17
JNET – A Case Study
Current Services – New Court Case Event
JNET Homepage
PennDOTWeb App
AOPC Secured
Web
JNETMetro
Court Data – Docket Info
Search by SID
CPIN
Rap Sheet
Drivers Photo
Constable InfoSID/OTNLook-up
Warrants
Master Name
Juvenile Inquiry
SecuredDockets
CountyProbation Data
Learning Management Sys
OfficerLook-up
Notifications
CountyCorrections Data
State CorrectionsData
Justice News
Deputy Sheriffs
Canadian Dr
Documentation
Master ChargeCodes
Court Forms and Info
Justice FlexibleSearch
JNET Messaging Infrastructure
Court Dispositions
ArrestDriver Photo/Demo R/R
ParoleViolations
Court Disposition R/R
DriverDemographics
Driver AddressHistory *
Victim Payment Contact Info
Driver HistoryR/R*
Drivers History
DriversSignature
Driver Demographics
PennDOTAudit
PennDOTAudit Reports
Vehicle
Protection Orders
CertifiedHistory
Gang
Boat
OOS Dr History
Gun
ORI
Wanted
New Service?
Existing Services Messages
ER - Probation ER- Jail
WantsInmate
Misconduct
Court Case Event
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 18
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
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 19
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
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 20
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
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 21
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>
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 22
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>[email protected]|[email protected]</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>
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 23
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 Filed Formal Arraignment Scheduled
“Bill of Information Acceptance”
Court Case Event
Bench Warrant Issued
Bench Warrant Served “Warrant Issued” Warrant
Sentencing Penalty Assessed “Sentence” Court Case Event
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 24
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>”
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 25
JNET – A Case Study
State PoliceState Police
PCCDPCCD
C o m m o n w e a l t h M A N
CCH
CourtsCourts
JNET MessagingInfrastructure (MI)
Other approved Case Event Notice
Topic subscriber
agencies/counties
Other approved Case Event Notice
Topic subscriber
agencies/counties
Victims Compensation
JNETHub
Event Process Flow
IIMS
CountiesCounties
County Bus/County Broker Node Node
Node
Node
Node
1 Case Init 3 Warrant2 Bill of Info 4 Sentence
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 26
JNET – A Case Study
Planned ConsumersJNET Subscriber Event Supported by current
architecture
Criminal History Sentence/Disposition Yes
Wanted Persons File Warrant Issue No
Incident Information Management System
Case Initiation
Sentence/Disposition
Yes
County Justice Information Exchange
All No
Probation / Parole Case Initiation
Warrant Issue
Yes
PA Commission on Crime and Delinquency – Victims Compensation
Case Initiation Yes
Local Police – Crime Net Case Initiation Yes
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 27
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
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 28
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
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 29
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
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 30
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
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 31
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?
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 32
JNET – A Case Study
JNET Architecture Limitations• Web applications not easily exposable as
serviceso MI nicely exposed but not web app.o Better to get demographics from MI
• Where is the routing logic?o Who is orchestrating this?o Where is the business logic?o Would love to have this reusable for other
processes.
• Who will combine responses to GJXDM message?
o Is it publisher’s (AOPC’s) problem?o Is it JNET’s responsibility?
Need a Service Oriented Approach with supporting Architecture
JMS
JNET MI
AOPC
JNET Messaging Infrastructure
CPIN
Drivers Photo
SID/OTNLook-up
Driver Demographics
Driver Photo/Demo R/R
DriverDemographics
Wants/ Warrants
Driver HistoryR/R*
JNET Secure Web Site
?
Court Case Event
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 33
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.
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 34
JNET – A Case Study
Service Oriented ArchitectureUnion of services, processes and policies into a
framework.
Service Consumer
XMLAcceleration
RoutingSecurity Mediation Orchestration
UnifiedService
Management
•Exceptions•Auditing•Reporting•Monitoring
MetadataRepository
PolicyRepository
Service Registry
Service ProviderEvent Driven XML Message
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 35
JNET – A Case Study
“To-Be” PA Court Case Event Process with SOA
JNET Service Bus
JMS
JNET MI
AOPC
cNet
Notify Srvc.
FTP
C#
Pub/Sub
Case EventGJXDM
DA
Filter using
XPATH
Transform to
EDCBIC XML
1
XML
Cache
t
2
5
3
4
21
5
3
4
21
3
Content Based Router
County 2 JIEM
process
County 1 JIEM
process
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 36
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.
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 37
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
……From Collaboration to From Collaboration to Integration…Integration…
JNET Architecture Team Page: 38
Questions and Answers – Panel
JNET – A Case Study