PennDOT ATX Project ATAM

1 / 24
About This Presentation
Title:

PennDOT ATX Project ATAM

Description:

Achieves redundancy via client-hosted proxy. Proxy is supplied by JBoss and 'free' for us. Proxy is aware of all server blades. Proxy will failover in case of ... – PowerPoint PPT presentation

Number of Views:101
Avg rating:3.0/5.0
Slides: 25
Provided by: andrewg5

less

Transcript and Presenter's Notes

Title: PennDOT ATX Project ATAM


1
PennDOT ATX Project ATAM
  • Team Stalagmite
  • Dan Abramovich
  • Jeff Ditillo
  • Andrew Guletsky
  • Oksana Schubert
  • Alexey Stolpovskikh
  • Dehua Zhang

2
Agenda
  • Introduction
  • Problem space Quality attributes Utility tree
  • Architectural views and discussion
  • Deployment and logical views
  • Run-time views for major system parts
  • Transaction processing
  • JBoss-based redundancy
  • Security
  • Administration
  • Reports
  • Prototypes discussion
  • Views are preceded by key decisions/facts to
    guide discussion

3
Problem Space
  • Problem description
  • New solution for PennDOT on-line vehicle title
    and registration services
  • Major stakeholders
  • PennDOT
  • ATX (our clients)
  • Participating companies
  • Business drivers
  • Improve PennDOTs business processes
  • Allow ATX to become PennDOTs Business Partner

4
Quality Attributes
  • Security
  • Allow good guys to get in
  • Keep bad guys out
  • Put blinders on clients to only see allowed
    information
  • Support user roles to limit functionality
  • Availability
  • Failover
  • Recover from errors
  • Modifiability
  • Extend the system easily
  • Update transaction descriptions, op. codes and
    fees without code changes
  • Performance
  • Provide reasonable user experience for many
    concurrent clients

5
Utility Tree
6
Deployment ViewsKey decisions/facts
  • Requires minimum 2 computers
  • AppServer and DB servers combined
  • Requires at least 4 computes for high
    availability/performance
  • Replicated DB exposes one virtual IP address
  • Gatekeeper exposes one IP address
  • Replication and redundancy transparent to ATX

7
Deployment View
8
High Availability Deployment View
9
Logical ViewKey decisions/facts
  • Separate Admin and Client interfaces
  • Flexible location of Database layer
  • Either co-located with AppServer or separate
  • Most data storage managed by AppServer container
  • Secure channel between client and server
  • Role-based authentication and authorization
  • Server blade requirements
  • Each needs WebSphere MQ client
  • Full state replication between blades
  • Requirement for replicated file storage (MSCS)

10
Logical View
11
Run-time View Transaction Processing Key
decisions/facts
  • IN and OUT queues hosted by PennDOT
  • Transaction descriptions promote Modifiability
  • Remedy risk of not having Gatekeeper access
  • Make adding new transactions easy
  • Clients manage transaction boundaries
  • Insure that only successful transactions are
    acknowledges to PennDOT
  • JMS and MDBs used for GK communication

12
Run-time View Transaction Processing
Transactions e-v-e-r-y-w-h-e-r-e
  • Problems solved by transaction description
  • AAMVA record layout layout, field dependency,
    and format
  • Database storage common and unique parts
  • Transaction control flow
  • Client sends request to PennDOT (via ATX)
  • ATX receives asynchronous reply
  • Stores reply in DB record
  • Client polls for result and discovers DB record
  • Client acknowledges receipt
  • DB record deleted
  • Message committed on Gatekeepers OUT queue

13
Run-time View Transaction Processing
14
Run-time View RedundancyKey decisions/facts
  • Achieves redundancy via client-hosted proxy
  • Proxy is supplied by JBoss and free for us
  • Proxy is aware of all server blades
  • Proxy will failover in case of timeouts
  • State replicated between servers in real time
    (with very small latency)

15
Run-time View Redundancy
16
Run-time View SecurityKey decisions/facts
  • Container provides security/authentication
    infrastructure
  • Supports security plug-ins
  • Requires deployment text files
  • Allows for custom security proxies to validate
    parameters
  • Covers both client and admin interfaces

17
Run-time View Security
18
Run-time View AdministrationKey decisions/facts
  • Manages 4 functional areas
  • Accounts
  • Add/delete users add/delete locations
    assign/modify user privileges
  • Transaction descriptions
  • If/when changed by PennDOT
  • Fees
  • Set/update PCCS discounts, PennDOT charges
  • Reports
  • ltMore details latergt

19
Run-time View Administration
20
Run-time View ReportingKey decisions/facts
  • Report solution is implemented by JasperReports
    (free COTS)
  • Report viewers hosted by admin interface and
    client
  • Supports custom datasources to massage
    transaction records
  • Scheduler is implemented by COTS
  • Final choice TBD

21
Run-time View Reporting
22
Prototypes Update
  • Security
  • SSL, login module and custom security proxy ()
  • Entity bean performance with large records
  • No performance bottlenecks ()
  • Transactional (lazy) replication on DB (-)
  • JasperReports
  • Support for datasources ()
  • Difficult to create report templates (-)
  • Present trade-off to the client (other candidate
    commercial Crystal Reports)

23
Prototypes Update (contd)
  • Gatekeeper simulator
  • Requires update with AAMVA records (?)
  • Miniature transaction processor
  • JMS and MDB to communicate with WebSphere MQ ()
  • Performance questions under stress (-)
  • Entity bean primary key auto-increment issue
  • JBoss 3.2.0 native support ()
  • Need JDBC 3.x compatible driver (-)
  • Potentially switch from MS SQL to MySQL

24
QA
Write a Comment
User Comments (0)