driver history jxdd model validation
DESCRIPTION
Driver History JXDD Model Validation. September 4, 2003. The Pennsylvania JNET XML Vision. The original JNET Blueprint, published during late 1997, defined an XML based “electronic interchange of data” concept. - PowerPoint PPT PresentationTRANSCRIPT
ARCHITECTURAL GOVERNANCE & OVERSIGHT
Driver History JXDD Model Validation
September 4, 2003
PA Driver History XML Model
Page 2
The original JNET Blueprint, published during late 1997, defined an XML based “electronic interchange of data” concept.
This JNET Blueprint established a requirement for the usage of “a standard criminal justice file format to support the electronic interchange of data”.
It further stated “XML provides information about the data itself and how it relates to other data. In essence, XML is emerging as a standard for web-based delivery of data in agreed-upon name-value pairs.”
The Pennsylvania JNET XML Vision
PA Driver History XML Model
Page 3
The JNET blueprint established a strategic direction for sharing information among JNET participating organizations.
A globally accepted, criminal justice focused, XML data standard is essential to accomplishing the strategy.
JNET is, and has always been, in 100% support of “Facilitating information sharing and integrated justice by reducing impediments, such as standards, cost, and time.”
JNET is committed to being part of the enablement process to more effectively provide information sharing and communications among the many justice/public-safety agencies at the local, state, and federal levels.
The Pennsylvania JNET XML Vision
PA Driver History XML Model
Page 4
Reliable Messaging Infrastructure
XML Syntax, DTD, JNET Messages
Justice XML Data Model and Schema
Service/Process Definition - ebXML
Justice RDF/OWL
Semantic Web
We are here
XML Technical Strategy
PA Driver History XML Model
Page 5
Identify, Analyze Data Source and object modeling
Understand Justice Data Model
Map data source object model to Justice data model
Fill the gap:•Add extensions and restrictions•Add local elements
Define data mapping between data source and XML
Define transformation rules between XML and web presentations
Start
End
XML Design Approach
PA Driver History XML Model
Page 6
Record Type
Record Description
Record Body Length
Total Record Length
CUS0001 Name 123 130
CUS0002 Address 123 130
CUS0003 Information 123 130
CUS0004 Non-Commercial
123 130
CUS0005 Commercial 123 130
CUS0006 Probationary 123 130
CUS0007 Occupational 123 130
VAC Action 61 65
VCD Conviction Date 61 65
VCI Court Info 61 65
VCT Space 61 65
VDS Description 61 65
VIL Violation 61 65
VLD Violation Date 61 65
VPD Process Date 61 65
VSP Space 61 65
Record Type
Record Description
Record Body Length
Total Record Length
ACC Accident Date 61 65
ATD Vehicle Type 61 65
ACL Accident Location 61 65
MAC Action 61 65
MCD Conviction Date 61 65
MCI Court Info 61 65
MDS Description 61 65
MIL Violation 61 65
MLD Violation Date 61 65
MPD Process Date 61 65
MSP Space 61 65
DCL ACT 143 Disclaimer
61 65
PLA PL Action 61 65
PLE End PL Action 61 65
OLA OL Action 61 65
OLE End OL Action 61 65
Data Source Structure
Object
Driver
Address
Driver
Authorization
Authorization
Authorization
Authorization
Violation
Violation
Violation
Violation
Violation
Violation
Violation
Object
Accident
Accident
Accident
Medical
Medical
Medical
Medical
Medical
Medical
Medical
Violation
Violation
Violation
Violation
Violation
PA Driver History XML Model
Page 7
Object Model
Driver History
Driver
Address
Driver AccidentDriver Accident
Driver AccidentDriver Accident
Driver Authorization(DL)
Driver Authorization(CDL)
Driver Authorization(PL)
Driver Authorization(OLL)
Driver Incident (Medical)Driver Incident
(Medical)
1
1,*
1,*
0,1,*0,1,*
0,1,*
0,1,*
Driver Incident (Violation)Driver Incident
(Violation)
PA Driver History XML Model
Page 8
Object Mapping
Object Name JNET Type JXDD Base Type JNET Extension
Driver DriverType jxdd3:PersonType DriverRecordTypeElement
Address jxdd3:AddressType
DLAuthorization, CDLAuthorization, PLAuthorization, OLLAuthorization
DriverAuthorizationType jxdd3:DriverAuthorizationType DriverLicenseClassCode, DriverOrignalAuthorizationIssueDate, DriverLicenseLearnerPermitClassCode, DriverLicenseStatusElement, DriverLicenseSchoolBusEndorsementDescriptionText
ViolationIncident, MedicalIncident
DriverIncidentType jxdd3:IncidentTypejxdd3:ConvictionTypejxdd3:ActivityTypejxdd3:CourtActivityType
Act143Disclaimer,Consequence (Action, PLAction, OLLAction, ResponseAction)ProcessDate
DriverAccident DriverAccidentType jxdd3:DriverIncedentType VehicleTypeDescriptionText
PA Driver History XML Model
Page 9
Schema Diagram
PA Driver History XML Model
Page 10
Message Structure
DriverHistory
Driver
jxdd3:PersonGivenNamejxdd3:PersonMiddleNamejxdd3:PersonSurNamejxdd3:PersonSuffixNamejxdd3:PersonBirthDate
jxdd3:PersonName
jxdd3:PersonAssignedIDDetails jxdd3:PersonDriverLicenseID
jxdd3:PersonPhysicalDetails jxdd3:PersonSexTextjxdd3:PersonSexCode
DriverRecordTypeElement
jxdd3:Address jxdd3:StreetFullTextjxdd3:AddressCityName
jxdd3:AddressStreet
jxdd3:AddressStateCodeusps:USStateCodeTypeElement
jxdd3:AddressPostalCodeID
DLAuthorizationCDLAuthorizationOLLAuthorizationPLAuthorization
jxdd3:DriverAuthorizationIssueDatejxdd3: DriverAuthorizationExpirationDatejxdd3: DriverAuthorizationEndorsementCode
DriverLicenseClassCode
jxdd3:DriverAuthorizationRestriction
jxdd3: DrivingRestrictionDescriptionText
DriverOriginalAuthorizationIssueDate
DriverLicenseLearnerPermitClassCode
DriverLicenseStatusElement
DriverLicenseSchoolBusEndorsementDescdriptionText
DriverAccident
jxdd3: ActivityDate
jxdd3: IncidentLocation
jxdd3: LocationDescriptionTextVehicleType
DriverLicenseStatusCodeDriverLicenseStatusDescriptionText
DriverRecordTypeCodeDriverRecordTypeDescriptionText
ViolationIncidentMedicalIncident
jxdd3: ActivityTypeText jxdd3: ActivityDescriptionTextjxdd3: ActivityDate
ActionPLActionOLLActionResponseAction
jxdd3: ActivityDate
jxdd3:Incident
jxdd3: ActivityCommentText
jxdd3: Conviction
jxdd3: CourtActivity
ProcessDate
Consequence
Act143Disclaimer
jxdd3: ActivityResultText
PA Driver History XML Model
Page 11
Data Element MappingDL 2020 Element XML Sub Node XML Path Compliant
CUS001 DLNumber Driver DriverHistory/Driver/jxdd3:PersonAssignedIDDetails/jxdd3:PersonDriverLicenseID YLastName Driver DriverHistory/Driver/jxdd3:PersonName/jxdd3:PersonSurName YFirstName Driver DriverHistory/Driver/jxdd3:PersonName/jxdd3:PersonGivenName YMiddleName Driver DriverHistory/Driver/jxdd3:PersonName/jxdd3:PersonMiddleName YSuffix Driver DriverHistory/Driver/jxdd3:PersonName/jxdd3:PersonSuffixName Y
CUS002 AddressLine1 Address DriverHistory/jxdd3:Address/jxdd3:AddressStreet/jxdd3:/StreetFullText YAddressLine2 Address DriverHistory/jxdd3:Address/jxdd3:AddressStreet/jxdd3:/StreetFullText YCity Address DriverHistory/jxdd3:Address/jxdd3:AddressCityName YState Address DriverHistory/jxdd3:Address/jxdd3:AddressStateCode/usps:USStateCodeTypeElement YZipCode Address DriverHistory/jxdd3:Address/jxdd3:AddressPostalCodeID Y
CUS003 DateOfBirth Driver DriverHistory/pajnet:Driver/jxdd3:PersonBirthDate YSex Driver DriverHistory/pajnet:Driver/jxdd3:PersonPhysicalDetails/jxdd3:PersonSexText Y
DriverHistory/pajnet:Driver/jxdd3:PersonPhysicalDetails/jxdd3:PersonSexCodeRecordType Driver DriverHistory/Driver/DriverRecordTypeElement/DriverRecordTypeCode N
Driver DriverHistory/Driver/DriverRecordTypeElement/DriverRecordTypeDescriptionTextCUS004 DLLicenseClass DLAuthorization DriverHistory/DLAuthorization/DriverLicenseClassCode Y
DLIssueDate DLAuthorization DriverHistory/DLAuthorization/jxdd3:DriverAuthorization/jxdd3:DriverAuthorizationIssueDate YDLOrgIssueDate DLAuthorization DriverHistory/DLAuthorization/DriverOriginalAuthorizationIssueDate NDLExpireDate DLAuthorization DriverHistory/DriverAuthorization/jxdd3:DriverAuthorization/jxdd3:DriverAuthorizationExpirationDate YDLMedRestrictions DLAuthorization
DriverHistory/DLAuthorization/jxdd3:DriverAuthorization/jxdd3:DriverAuthorizationRestriction/jxdd3:DrivingRestrictionDescriptionText Y
DLLearnerPermit DLAuthorization DriverHistory/DLAuthorization/DriverLicenseLearnerPermitClassCode YDLStatus DLAuthorization DriverHistory/DLAuthorization/DriverLicenseStatusElement/DriverLicenseStatusCode N
DLAuthorization DriverHistory/DLAuthorization/DriverLicenseStatusElement/DriverLicenseStatusDescriptionTextCUS005 CDLClass CDLAuthorization DriverHistory/CDLAuthorization/DriverLicenseClassCode Y
CDLIssueDate CDLAuthorization DriverHistory/CDLAuthorization/jxdd3:DriverAuthorization/jxdd3:DriverAuthorizationIssueDate YCDLExpireDate CDLAuthorization DriverHistory/CDLAuthorization/jxdd3:DriverAuthorization/jxdd3:DriverAuthorizationExpirationDate YCDLEndorsements CDLAuthorization DriverHistory/CDLAuthorization/jxdd3:DriverAuthorization/jxdd3:DriverAuthorizationEndorsementText YCDLRestricitons CDLAuthorization
DriverHistory/CDLAuthorization/jxdd3:DriverAuthorization/jxdd3:DriverAuthorizationRestriction/jxdd3:DrivingRestrictionDescriptionText Y
CDLLearnerPermit CDLAuthorization DriverHistory/CDLAuthorization/DriverLicenseLearnerPermitClassCode YCDLStatus CDLAuthorization DriverHistory/CDLAuthorization/DriverLicenseStatusElement/DriverLicenseStatusCode N
CDLAuthorization DriverHistory/CDLAuthorization/DriverLicenseStatusElement/DriverLicenseStatusDescriptionTextCDLSBEndorsements CDLAuthorization DriverHistory/CDLAuthorization/DriverLicenseSchoolBusEndorsementDescriptionText NCDLEndorsements2 CDLAuthorization
CUS006 PLLicenseClass PLAuthorization DriverHistory/PLAuthorization/DriverLicenseClassCode YPLIssueDate PLAuthorization DriverHistory/PLAuthorization/jxdd3:DriverAuthorization/jxdd3:DriverAuthorizationIssueDate YPLExpireDate PLAuthorization DriverHistory/PLAuthorization/jxdd3:DriverAuthorization/jxdd3:DriverAuthorizationExpirationDate YPLStatus PLAuthorization DriverHistory/PLAuthorization/DriverLicenseStatusElement/DriverLicenseStatusCode N
PLAuthorization DriverHistory/PLAuthorization/DriverLicenseStatusElement/DriverLicenseStatusDescriptionTextCUS007 OLLLicenseClass OLLAuthorization DriverHistory/OLLAuthorization/DriverLicenseClassCode Y
OLLIssueDate OLLAuthorization DriverHistory/OLLAuthorization/jxdd3:DriverAuthorization/jxdd3:DriverAuthorizationIssueDate YOLLExpireDate OLLAuthorization DriverHistory/OLLAuthorization/jxdd3:DriverAuthorization/jxdd3:DriverAuthorizationExpirationDate YOLLStatus OLLAuthorization DriverHistory/OLLAuthorization/DriverLicenseStatusElement/DriverLicenseStatusCode N
OLLAuthorization DriverHistory/OLLAuthorization/DriverLicenseStatusElement/DriverLicenseStatusDescriptionTextVAC (Violation) ACTION ViolationIncident DriverHistory/ViolationIncident/Consequence/Action/jxdd3:ActivityResultText YVCD (Violation) CONVICTION DATE ViolationIncident DriverHistory/ViolationIncident/jxdd3:Conviction/jxdd3:ActivityDate YVCI (Violation) COURT INFO ViolationIncident DriverHistory/ViolationIncident/Consequence/jxdd3:CourtActivity/jxdd3:ActivityCommentText YVDS (Violation) DESCRIPTION ViolationIncident DriverHistory/ViolationIncident/jxdd3:Incident/jxdd3:ActivityDescriptionText YVIL (Violation) VIOLATION ViolationIncident DriverHistory/ViolationIncident/jxdd3:Incident/jxdd3:ActivityTypeText YVLD (Violation) VIOLATION DATE ViolationIncident DriverHistory/ViolationIncident/jxdd3:Incident/jxdd3:ActivityDate YVPD (Violation) PROCESS DATE ViolationIncident DriverHistory/ViolationIncident/ProcessDate NATD (Accident) VEHICLE TYPE DriverAccident DriverHistory/DriverAccident/VehicleTypeDescriptionText NACL (Accident) LOCATION DriverAccident DriverHistory/DriverAccident/jxdd3:IncidentLocation/jxdd3:LocationDescriptionText YMAC (Mdeical) ACTION MedicalIncident DriverHistory/MedicalIncident/Consequence/Action/jxdd3:ActivityResultText YMCD (Mdeical) CONVICTION DATE MedicalIncident DriverHistory/MedicalIncident/jxdd3:Conviction/jxdd3:ActivityDate YMCI (Mdeical) COURT INFO MedicalIncident DriverHistory/MedicalIncident/Consequence/jxdd3:CourtActivity/jxdd3:ActivityCommentText YMDS (Mdeical) DESCRIPTION MedicalIncident DriverHistory/MedicalIncident/jxdd3:Incident/jxdd3:ActivityDescriptionText YMIL (Mdeical) VIOLATION MedicalIncident DriverHistory/MedicalIncident/jxdd3:Incident/jxdd3:ActivityTypeText YMLD (Mdeical) VIOLATION DATE MedicalIncident DriverHistory/MedicalIncident/jxdd3:Incident/jxdd3:ActivityDate YPLA (Violation) PL ACTION ViolationIncident DriverHistory/ViolationIncident/Consequence/PLAction/jxdd3:ActivityResultText NOLA (Violation) OL ACTION ViolationIncident DriverHistory/ViolationIncident/Consequence/OLLAction/jxdd3:ActivityResultText N
PA Driver History XML Model
Page 12
Table Name Entries ExampleSex Code 3 F, M, U
Driver Record Type Code 44 A2, A4, BP, B2, B4, PS, …, XX
Driver License Class Code (non-commercial, commercial, OLL, PL, Learner permit)
4 A, B, C, M
Driver License Medical Restriction Code 29 A, B, C, …, Z, 1, 2, …, 8
Driving Privilege Status Code (non-Commercial) 48 AC, AD, …, ZZ
Commercial Endorsement 7 H, N, O, P, S, T, X
Commercial License Restriction 5 B, C, E, I, L
Driving Privilege Status Code (Commercial) 42 AC, AD, …, ZZ
School Bus Endorsement 3 VAL, NOT, space
PL License Status 4 PP, RD, P3, CP
OLL License Status 2 PO, RO
Vehicle Type 9 01, 02, …, 09
Code Tables
PA Driver History XML Model
Page 13
Technology, Platforms, and Tools
Technology Standards
Product Platforms
Development Tools
XML Schema v1.1XSLT v1.0J2EE v1.3 JDK v1.3 JMS v1.0.1 LDAP v3SSL v3x.509 v3
BEA Weblogic Server 6.1IBM WebsphereMQ 5.3Sun iPlanet Directory v4.xCustom message brokerMS NT4, W2K
XML Spy 5.0TogetherControlCenter v6Apache Xerces2 Java XML Parser
PA Driver History XML Model
Page 14
Messaging Hub
JNET
SSL
SSLSSL
AOPC
PennDOT IMS
Web App
PSP IIMS
PennDOT Photo DB
JNET User Desktop
SSL
Wireless Middleware
Carrier Carrier Network(s)Network(s)
JNET User PDA
SSL/VPN
Police Troopers
Infrastructure for Driver Info
PA Driver History XML Model
Page 15
Scale – Volume, Size, Speed, …
Daily Volume
Max 250~300
Min 40~50
Ave 125
Message Size
Max 55K
Min 1.5K
Ave 8.5K
Performance
Roundtrip ~1.26 sec
JNET ~0.65 sec
Mainframe ~0.61 sec
Usage
Authorized Users for DH 4774 (41% of total JNET users)
Active Users 744
Average request / per day 120~130
Average request /per day/per user 5
PA Driver History XML Model
Page 16
Cost Estimation
Overall cost: $350K which includes:•JXDD research
•Understanding JXDD•Strategy, methodology
•Data source analyses•Understanding data•Object Modeling•Data mapping
•XML design work •Schema•Transformation (mainframe to XML)•Presentation style sheet
•Application development•Web app•Security•Application and system integration
•Testing and deployment
* Hardware and software costs are not covered.
PA Driver History XML Model
Page 17
Benefits, Barriers, OptionsBenefits1. Wider domain coverage (LE, Courts, Corrections, Probations, Drivers/Vehicles, etc.)2. Object model (reusable, extendable, manageable objects)3. Flexible object structure (optional, multiple)4. Some standardized codesBarriers1. Lack of support to define accurate metadata (easy to extend but not easy to restrict)2. Validation performance suffers (may need performance oriented XML parser)3. More generalization and fewer specialization (a balance between wider and deeper)4. Lack of training/education program (CBT for basics and workshop for advanced)Development Options1. Consider JXDD as a Data Model, design application schemas using inheritance and
extensions based on JXDD This will have higher JXDD compliance, reusability and extendibility It will lose the ability to accurately define metadata such as multiplicity and optional element applicability Practically, it’s not for real time validation applications due to performance and metadata accuracy
2. Consider JXDD as a Reference Data Model, design application schemas as local schemas This will provide a thin and accurate schema to support validation/performance oriented application When JXDD changes/upgrades, there is no impact on local schema so that the local schema loses compliance When the schema grows, it eventually would hit performance problem
3. Future version of JXDD It’s the direction the technology is heading (from structure to semantic) It’s not prime time yet.
4. Others ?
PA Driver History XML Model
Page 18
JNET Driver Information Query Demo
•Driver Photo Lookup
•Driver History Report
Demo
PA Driver History XML Model
Page 19
Driver Photo Lookup
PA Driver History XML Model
Page 20
Driver Photo Lookup (continue)
PA Driver History XML Model
Page 21
Driver Photo Lookup (continue)
PA Driver History XML Model
Page 22
Driver Photo Lookup (continue)
PA Driver History XML Model
Page 23
Driver Photo Lookup (continue)
PA Driver History XML Model
Page 24
Driver History
PA Driver History XML Model
Page 25
Driver History (continue)
PA Driver History XML Model
Page 26
Driver History (continue)
PA Driver History XML Model
Page 27
Driver History (continue)
PA Driver History XML Model
Page 28
Driver History (continue)
PA Driver History XML Model
Page 29
Q & A