An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3...
Transcript of An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3...
1
An SOA Approach foran Integrated TaxSystem
FTA Technology Conference – 2006NYS Department of TaxationJim Lieb, Director of Architecture
FTA Technology Conference - 2006 27/15/2006
What is SOA?What is SOA?
“SOA is an architectural style whose goal isto achieve loose coupling among interactingsoftware agents. A service is a unit of workdone by a service provider to achieve desiredend results for a service consumer. Bothprovider and consumer are roles played bysoftware agents on behalf of their owners”
2
FTA Technology Conference - 2006 37/15/2006
AgendaAgenda
Overview of the e-MPIRE Project Background Schedule
Development Decisions SOA and e-MPIRE Future SOA Directions
FTA Technology Conference - 2006 47/15/2006
e-Managed Processes for an Integrated RevenueEnterprise
RFI Issued Feb 2001/ RFP Issued May 2001 Project Initiation March 2002 Business Issues
Current systems are as much as 25 years old and are difficult tomaintain due to extensive modifications
Major processing platform is no longer supported
System Design Issues Impact on eMPIRE legacy applications supporting tax types not
implemented immediately Integration with current case management/collections application
Overview of the ProjectOverview of the ProjectBackground
3
FTA Technology Conference - 2006 57/15/2006
The Project Schedule Currently Has 3 Releases Release 1 – Early TI
Deployed October 2004 Transformation of the existing TI system Validated the Technical Architecture/Framework
Release 2 – Corporation Tax Deployment January 2006
Release 3 – Personal Income Tax Deployment January 2008
Overview of the ProjectOverview of the ProjectSchedule
FTA Technology Conference - 2006 67/15/2006
To accelerate delivery, leverage existingcompetencies: COBOL programmers Mainframe skills Java UI (browser) experience Business Components and MQ Bridge
To deliver increased functionality, integrate toolsand products: Use a Workflow engine and Java framework Develop a Forms processing engine (form rules, data
mapping, presentation) Build tools to improve application development and
consistency
Development/Technology DecisionsDevelopment/Technology Decisions
4
FTA Technology Conference - 2006 77/15/2006
Modular Component History at NYS Tax Started in 1990 for common access to Taxpayer name and
address information in both online and batch Within 2 years, that component was called by over 1,000
programs with 125,000 online access/day Applications calling component have been “held harmless”
through 2 major application redesigns When web apps arrived, established a consistent
mechanism (MQ Bridge) for calling components from web(easiest way to build an asset and keep business logic inlegacy apps)
In 1996, developed design standards for “businesscomponents”
Currently over 1,200 business components created
SOA Roots SOA Roots –– Component Design Component Design
FTA Technology Conference - 2006 87/15/2006
A callable program, executable from all platforms Answers a business question or accomplishes a
business function Conforms to defined interface/parameter standards Conforms to error handling standards
A A ““Business ComponentBusiness Component”” is is
5
FTA Technology Conference - 2006 97/15/2006
• Three standardized blocks within parameter record Control Block to support common processing and error handling
Request Block to supply input data to the Business Component Reply Block to return information to the calling source
Reply
Request
Control
CallingProgram
BusinessComponent
Business Component Parameters
FTA Technology Conference - 2006 107/15/2006
BusinessComponent
Batch
CICS
MQ SeriesBridge
Java
DataBase
PowerBuilderor VB
DB2Model 204UnisysIDMS
Business Component Execution
6
FTA Technology Conference - 2006 117/15/2006
Developer view Much of the time was spent on custom coding tedious tasks
(action handlers, etc.) Integrating with other applications was not standardized and
was problematic Problems were hard to debug because applications weren’t
all “structured” the same Considerable time was spent developing an object design
Application view Applications often had different behavior (field names,
navigation) Re-use of functions and pages was difficult Security was complicated and impacted migrations
Java Experience Java Experience –– Prior to e-MPIRE Prior to e-MPIRE
FTA Technology Conference - 2006 127/15/2006
Develop a framework that would handle navigation, errorhandling and other common functions (audit trail, etc.)
Develop pages as reusable assets (UI services) No object design in using components. “Use components
as components”. Use tabset metaphor for navigation Build tabset as a functional grouping of pages Secure functions (tabsets) not pages Use a java framework and generate code to simplify
programming Implement supporting technologies (workflow,
correspondence, images) as services
SOA Decisions for e-MPIRESOA Decisions for e-MPIRE
7
FTA Technology Conference - 2006 137/15/2006
GeneralHeader
GlobalHeader
Page Body
SearchButton
Tab Set
e-MPIRE Page
FTA Technology Conference - 2006 147/15/2006
e-MPIRE Global Navigation
8
FTA Technology Conference - 2006 157/15/2006
Page development Page is developed independently without concern for when
it is to be used or security Fields are registered for standard naming and presentation Page is coded for both update and retrieval using custom
tags Tedious coding tasks (action handlers) are replaced by
using an Eclipse plug-in that generates optimized code Tabset design
Business Analysts use tool to create tabsets Pages are picked, tabset order is configured and page mode
(update/retrieval) is determined Tabset is put in the global navigation scheme
Page and Page and TabsetTabset Development Development
FTA Technology Conference - 2006 167/15/2006
Tabset Creation
9
FTA Technology Conference - 2006 177/15/2006
Workflow concepts A business process is a collection of interrelated tasks or activities
initiated in response to an event, achieving a specific result for thecustomer and other stakeholders of the process
An activity refers to a value-added event performed in a businessprocess
A work item represents a measurable, assignable unit of work thatis created when the work is ready to be assigned to a worklist andit makes sense to start tracking user performance
A worklist is an inventory of work. A worklist provides the user witha central location to obtain work items and launch requiredactivities.
Workflow and e-MPIREWorkflow and e-MPIRE
FTA Technology Conference - 2006 187/15/2006
Workflow implementation Externalize process logic Give users full view of process Simplify process changes Automated delivery of work (get next or select from list) Interacts with e-MPIRE Security (worklists and roles) Integrated with e-MPIRE tabsets through the Business Activity
Builder Extension (BABE) Management of work inventories through Monitor product
Workflow and e-MPIRE (continued)Workflow and e-MPIRE (continued)
10
FTA Technology Conference - 2006 197/15/2006
Workflow Integration – Process Design (Modeling)
FTA Technology Conference - 2006 207/15/2006
BABE Tabset Creation
11
FTA Technology Conference - 2006 217/15/2006
Workflow Integration – Work Management
FTA Technology Conference - 2006 227/15/2006
Workflow Integration -BABE Tabset
12
FTA Technology Conference - 2006 237/15/2006
Workflow Integration – Monitoring Work
FTA Technology Conference - 2006 247/15/2006
The Tabset is the resource Role based Security
e-MPIRE teams working with the business created 120 roles for alldepartment employees
There are business owners for roles not data A request for additional functions for a role have to be approved
Externalized Security Statewide LDAP used for authorization Netegrity (web product) used to protect resources One security rule for all of e-MPIRE Single signon for internal users Navigation determined by role
Supports external customers with same model
e-MPIRE Securitye-MPIRE Security
13
FTA Technology Conference - 2006 257/15/2006
Green Screen
Green ScreenPIT
CORP
RulesExecution
andExceptionProcessing
Source 1
Source 2
Source 3
Data Mapping
Data Mapping
Data Mapping
Form RulesExecution
andExceptionProcessing
Form Rules Execution
andExceptionProcessing
Form RulesExecution
andExceptionProcessing
DataStorage
DataStorage
DataStorage
Green Screen
Green Screen
RulesExecution
andExceptionProcessing
Source 1
Source 2
Source 3
Data Mapping
Data Mapping
Data Mapping
Form RulesExecution
andExceptionProcessing
Form Rules Execution
andExceptionProcessing
Form RulesExecution
andExceptionProcessing
DataStorage
DataStorage
DataStorage
Green Screen
Green Screen
Returns Processing OverviewReturns Processing Overview
FTA Technology Conference - 2006 267/15/2006
Green Screen
Generic execution programs
PITCORPSALESWITHETC.
DataMapping
Form RulesExecution
ExceptionsProcessing
DataStorage
GUIPresentation
RulesExecution
andExceptionProcessing
Source 1
Source 2
Source 3
Data Mapping
Data Mapping
Data Mapping
Form RulesExecution
andException
ProcessingForm Rules Execution
andExceptionProcessing
Form RulesExecution
andException
Processing
DataStorage
DataStorage
DataStorage
Green Screen
Green Screen
e-MPIRE RP Model
5 basic functions of an RP system
Returns Processing SolutionReturns Processing Solution
14
FTA Technology Conference - 2006 277/15/2006
Forms Processing Solution - FormForms Processing Solution - Form
FTA Technology Conference - 2006 287/15/2006
Forms Processing Solution - SourceForms Processing Solution - Source
15
FTA Technology Conference - 2006 297/15/2006
Forms Processing Solution - MappingForms Processing Solution - Mapping
FTA Technology Conference - 2006 307/15/2006
Forms Processing Solution - RulesForms Processing Solution - Rules
16
FTA Technology Conference - 2006 317/15/2006
Forms Processing Solution - ScreensForms Processing Solution - Screens
FTA Technology Conference - 2006 327/15/2006
Forms Processing Solution - DREAMForms Processing Solution - DREAM
17
FTA Technology Conference - 2006 337/15/2006
Forms Processing Solution - DREAMForms Processing Solution - DREAM
FTA Technology Conference - 2006 347/15/2006
From registration data, create COBOL services thatsupports source mapping, rule execution and userpresentation
Generic table structure for return and filing Generate business components for easy access to
return data Generate form views for query tool access Major batch “controller” programs which execute
business components
e-MPIRE R2 Implementatione-MPIRE R2 Implementation
18
FTA Technology Conference - 2006 357/15/2006
e-MPIREe-MPIREThe RP ProcessThe RP Process
Source
File (s )
M apping Pre -
Processor
DEM
M apping
DEM
Target
Data File
Sort / Split
Com bined Filers
Target
Data Files
TI Validate
Create /Update LP
Exceptions
Sort Target Data
File (s )
Target
Data Files
Load Returns to
TERETURN
Retrieve Form
Data ( For RP and
TA )
Return Validation
& Com putationTA
Exceptions
Pro
ce
ssD
ata
Re
co
v ery
Source
File (s )
File - level edits ;
Br eak file into ‘pieces’
(par ent / child ) ; Som e
custom developm ent
Process Server Contro l
M apping
WID Tool
DEM DEM
Tm p
JAVA / AIX JAVA / AIX
Translation
XM L
OR
Exceptions
Business
Com ponents (from
any of these
processes )
If needed
400B
Revenue
Accounting
Business
Com ponent( s)
TI Driver
L iab ility Period
Business
Com ponents
Other Business
Com ponents
XM L
OR
NOTES
1. Assum ption is that Corporation Tax would not be im m ediate ly included in a new arch .
2. We need to “right size” the services to be successfu l
3 . Include exception deta il data in the XM L docum ent for fu ture use
M ultip le Instances of These Processes Would Be Utilized To Enhance Perform anceM ultip le Instances of These Processes Would Be Utilized To Enhance
Perform ance
410B
JAVA Rules
Engine
JAVA / AIX
Exceptions
Business
Com ponents (from
any of these
processes )
If needed
Filing
Valid ity
Business
Com ponents
TI Driver
Cr
ea
te T
A Q
ue
ue
TERETURN
(M ainfram e )
XM L / VIPER
(AIX )
Store data on or o ff p la tform ?
OR OR
Leverages source –target mapping in oneCOBOL step
Common taxpayer validation routinewhich reconciles taxpayers and output common DB structure
Third batch program which processes form rules
FTA Technology Conference - 2006 367/15/2006
Opening Channels (web, web services) More flexible rules engine Replace proprietary data structure to support rules
engine with more flexible solution Improve Performance Resolve potential long term resource issue Reduce Operational Costs
e-MPIRE R3 Directione-MPIRE R3 DirectionBuilding on the SuccessBuilding on the Success
19
FTA Technology Conference - 2006 377/15/2006
Use web mapping technologies XML Filing definition (schema generated from form) Use Java rules engine (DREAM based) Move returns processing control off mainframe Use Process Server (next generation workflow) to
parallel transactions in batch (calling same businesscomponents)
Use DB2 V9 (Viper) XML database Replace MQ Bridge with CICS Transaction Gateway
Server to support 2-phase commit Leverage server virtualization for peak processing
e-MPIRE Release 3 Architecturee-MPIRE Release 3 Architecture
FTA Technology Conference - 2006 387/15/2006
e-MPIRE R3 Directione-MPIRE R3 DirectionThe RP ProcessThe RP Process
Source
File (s )
M apping Pre -
Processor
DEM
M apping
DEM
Target
Data File
Sort / Split
Com bined Filers
Target
Data Files
TI Validate
Create /Update LP
Exceptions
Sort Target Data
File (s )
Target
Data Files
Load Returns to
TERETURN
Retrieve Form
Data ( For RP and
TA )
Return Validation
& Com putationTA
Exceptions
Pro
ce
ssD
ata
Re
co
v ery
Source
File (s )
File - level edits ;
Br eak file into ‘pieces’
(par ent / child ) ; Som e
custom developm ent
Process Server Contro l
M apping
WID Tool
DEM DEM
Tm p
JAVA / AIX JAVA / AIX
Translation
XM L
OR
Exceptions
Business
Com ponents (from
any of these
processes )
If needed
400B
Revenue
Accounting
Business
Com ponent( s)
TI Driver
L iab ility Period
Business
Com ponents
Other Business
Com ponents
XM L
OR
NOTES
1. Assum ption is that Corporation Tax would not be im m ediate ly included in a new arch .
2. We need to “right size” the services to be successfu l
3 . Include exception deta il data in the XM L docum ent for fu ture use
M ultip le Instances of These Processes Would Be Utilized To Enhance Perform anceM ultip le Instances of These Processes Would Be Utilized To Enhance
Perform ance
410B
JAVA Rules
Engine
JAVA / AIX
Exceptions
Business
Com ponents (from
any of these
processes )
If needed
Filing
Valid ity
Business
Com ponents
TI Driver
Cr
ea
te T
A Q
ue
ue
TERETURN
(M ainfram e )
XM L / VIPER
(AIX )
Store data on or o ff p la tform ?
OR OR
20
FTA Technology Conference - 2006 397/15/2006
e-MPIRE R3 Directione-MPIRE R3 DirectionThe RP The RP PorcessPorcess
Source
File (s )
M apping Pre -
Processor
DEM
M apping
DEM
Target
Data File
Sort / Split
Com bined Filers
Target
Data Files
TI Validate
Create /Update LP
Exceptions
Sort Target Data
File (s )
Target
Data Files
Load Returns to
TERETURN
Retrieve Form
Data ( For RP and
TA )
Return Validation
& Com putationTA
Exceptions
Pro
ce
ssD
ata
Re
co
very
Source
File (s )
File - level edits ;
Br eak file into ‘pieces’
(par ent / child ) ; Som e
custom developm ent
Process Server Contro l
M apping
WID Tool
DEM DEM
Tm p
JAVA / AIX JAVA / AIX
Translation
XM L
OR
Exceptions
Business
Com ponents (from
any of these
processes )
If needed
400B
Revenue
Accounting
Business
Com ponent( s)
TI Driver
L iab ility Period
Business
Com ponents
Other Business
Com ponents
XM L
OR
NOTES
1. Assum ption is that Corporation Tax would not be im m ediate ly included in a new arch .
2. We need to “right size” the services to be successfu l
3 . Include exception deta il data in the XM L docum ent for fu ture use
M ultip le Instances of These Processes Would Be Utilized To Enhance Perform anceM ultip le Instances of These Processes Would Be Utilized To Enhance
Perform ance
410B
JAVA Rules
Engine
JAVA / AIX
Exceptions
Business
Com ponents (from
any of these
processes )
If needed
Filing
Valid ity
Business
Com ponents
TI Driver
Cr
ea
te T
A Q
ue
ue
TERETURN
(M ainfram e )
XM L / VIPER
(AIX )
Store data on or o ff p la tform ?
OR OR
Flat FileAdapter
WebSphereMQ
Microflow
JCA Connector (AIX)
CICS Transaction Gateway 6.1 (z/OS)
CICS
InvokeCICS Tx 1
InvokeCICS Tx 2
CICSTransaction1
sync. call
CICSTransaction2
sync. call
CICSTransaction3
sync. call
InvokeCICS Tx 3
SCA asyncinvoke (usesWebSphere
PlatformMessaging)
MicroflowTransactionboundary,
coordinated byWAS Tran Mgr
FTA Technology Conference - 2006 407/15/2006
Leverages (with enhancements) all the R2 registrationdata
Any internet filing application can directly talk to rulesengine by formatting the data in XML
The Viper DB can support queries without additionaldatabase work
Form rules can be exposed by web service to businesspartners (all we need is the XML filing)
Performance can be balanced against workload usingvirtualization
Establishes a conversion strategy from COBOL (serviceimplementation is concealed)
Lightweight rules engine can be used for any XML file
What does this mean?What does this mean?
21
FTA Technology Conference - 2006 417/15/2006
SOA!!!
How can e-MPIRE change architecturalHow can e-MPIRE change architecturalcomponents so completely throughcomponents so completely throughreleases?releases?
FTA Technology Conference - 2006 427/15/2006
SOA - A New Application ParadigmSOA - A New Application Paradigm
22
FTA Technology Conference - 2006 437/15/2006
Questions?