This is a summary of the technical architecture solution for the PBOCS Workforce management application. CSM-DTC was tasked with designing and implementing the SDLC environment.
2. What is PBOCS?
PBOCS is the system used by the bureau to conduct several
critical decennial census operations.
Used by 30,000+ users to manage the activities of 500,000
people.
Critical operations had fixed window for performance, delays
prove costly ($1m+ per hour being spent at certain points)
PBOCS interfaces with 11+ census systems, some bi-
directional.
3. Main Challenges?
Extremely aggressive timeline.
● Previous census allowed for 5+ year development timeline.
● PBOCS had about 1 year before critical operations started.
Agile development means several components being
developed in parallel, huge integration challenge.
Infrastructure designed to scale.
Bureau politics present formidable challenge to effective
organizational communication, fuzzy requirements.
4. Infrastructure Implementation
Requirements always drive the solution
Component Development teams had fuzzy requirements,
infrastructure had to be flexible to allow for change.
Component teams were given a specific tier in the
infrastructure.
Integration challenge was always present, built infrastructure to
allow for ease with component assembly/integration.
5.
6. Component Details
Application was split into tiers to allow for concurrent
component development. (Agile SDLC with MVC pattern)
● Web Component (View)
● Services Component (Controller)
● Application Interfaces Tier (Integration Code)
● Reporting Tier (Business Intelligence)
● Security Tier (User Authorization, Authentication)
● Database Tier (Model)
7. Web Component
Highlights:
Utilized Oracle OC4J 10.1.3.4 MLR 7
Custom J2EE Application running on dedicated Application
Server Cluster.
AJAX TreeGrid plugin allows for page and section level request
invocation to services tier without page refresh.
AJAX/JSP pages allow for data validation via service
invocation.
Custom session handling code.
8. Web Component (contd.)
Integration Details:
Web component utilized other tiers via specific open
source libraries embedded in the application ear file.
Spring-LDAP : Use for authentication and authorization against
the services tier.
RMI: Used for Data Access and Workflow. OC4J provides this
functionality natively via the opmn subsystem.
Reports Tier: Embedded SOAP client to invoke reports cluster.
9. Services Component
Highlights:
Dedicated 10.1.3.4 cluster.
Enterprise Java Beans were used to create application logic
(Controller) we called each bean a service.
EJBs dynamically generate SOAP interface (with WSDLs)
Spring-Hibernate: J2EE library used for Data persistence and
transaction integrity.
Oracle BPEL dynamic workflow process: Depending on the
parameters passed would orchestrate multiple SOAP services.
10. Services Component (contd.)
Integration Details:
WS-Security: Used to secure web services
All EJB code is synchronous including BPEL. This allowed the
infrastructure to scale. (no session persistence at service layer)
Simple Data model and Object-Relational Mapping.
Web component invoked discrete services and/or BPEL
workflow according to application function.
BPEL and Application metadata repository was multi-node
Oracle RAC for high levels of redundancy.
11. Interface approach
DBMS_datapump and pl/sql applications developed to create
custom dump files for A2A interfaces.
Enterprise Product Services tool was used to provide dump file
delivery and acknowledgement b/w disparate systems.
DBMS_Scheduler used for ETL and interface automation.
Cost and progress interface required Spring-Batch for
scheduled XML document creation and message delivery and
acknowledgement.
12. Reports Component
Highlights:
XML Publisher Standalone (10.1.3.4.x) deployed to OC4J
cluster.
Easy development process with MS Word and XML templates.
Very fast PDF rendering engine (600,000 reports per hour)
Extremely fast 64-bit JDK with significant O/S (memory disk
was created for reports server cache) and JVM, software
performance optimizations
Quartz Scheduler optimizations
13. Reports Component (contd.)
Integration Details:
Purpose built, intelligent reports generating solution.
The Web tier invoked BI Publisher SOAP API to generate real-
time reports and also to schedule batch reports.
Result is formated the result as a PDF binary/octet stream and
pushes it to the users browser, user is prompted to download.
Report Tier utilized PDF rendering engine for PDF requirement.
14. Security Component
Highlights:
Oracle Internet Directory 10.1.4.x LDAP server in active-active
cluster configuration with Oracle RAC OID repository.
Custom LDAP hierarchy designed to enable user account
propagation from enterprise user repository. (Novell IDM)
Performance optimizations to support total user count of
(60,000 +)
Novell IDM to OID user replication configured via Novell LDAP
connector.
15. Security Component (contd.)
Integration Details:
Web Component implemented custom spring/LDAP
authentication code.
EJB services were protected by WS-Security backed by LDAP
LDAP SSL for highest level security.
dedicated cluster backed by a RAC enabled Database to
ensure highest fault tolerant and performance potential.
16. Database
5 Databases in an Oracle RAC configuration.
● PBOCS Application repository
● Interface Application repository
● Reports Component Repository
● Service Component Repository
● Security Repository
Largest database approx 8 TB
Largest table 180 million records.
Extensive partitioning scheme to deal with large volume of
data.
17. Database (contd.)
Data Replication VIA streams (Advance Queuing) to non-real
time Reports repository.
Advance Queues used to populate application AUDIT tables for
outgoing Cost and Progress interface.
DATA PUMP network import feature used to bulk move data
between instances and for interfacing functionality.
Advanced Queuing used to ensure application activity/progress
was recorded for outgoing interfaces.
18. We have experience delivering effective solutions that
address our clients most vexing problems.
We have worked with some of the largest goverment and
private sector clients.
We always deliver on the promise of effective resource
utilization and metrics driven progress.