An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3...

22
1 An SOA Approach for an Integrated Tax System FTA Technology Conference – 2006 NYS Department of Taxation Jim Lieb, Director of Architecture FTA Technology Conference - 2006 2 7/15/2006 What is SOA? What is SOA? “SOA is an architectural style whose goal is to achieve loose coupling among interacting software agents. A service is a unit of work done by a service provider to achieve desired end results for a service consumer. Both provider and consumer are roles played by software agents on behalf of their owners”

Transcript of An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3...

Page 1: An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3 Agenda Overview of the e-MPIRE Project Background Schedule Development Decisions SOA

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”

Page 2: An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3 Agenda Overview of the e-MPIRE Project Background Schedule Development Decisions SOA

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

Page 3: An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3 Agenda Overview of the e-MPIRE Project Background Schedule Development Decisions SOA

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

Page 4: An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3 Agenda Overview of the e-MPIRE Project Background Schedule Development Decisions SOA

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

Page 5: An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3 Agenda Overview of the e-MPIRE Project Background Schedule Development Decisions SOA

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

Page 6: An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3 Agenda Overview of the e-MPIRE Project Background Schedule Development Decisions SOA

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

Page 7: An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3 Agenda Overview of the e-MPIRE Project Background Schedule Development Decisions SOA

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

Page 8: An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3 Agenda Overview of the e-MPIRE Project Background Schedule Development Decisions SOA

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

Page 9: An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3 Agenda Overview of the e-MPIRE Project Background Schedule Development Decisions SOA

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)

Page 10: An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3 Agenda Overview of the e-MPIRE Project Background Schedule Development Decisions SOA

10

FTA Technology Conference - 2006 197/15/2006

Workflow Integration – Process Design (Modeling)

FTA Technology Conference - 2006 207/15/2006

BABE Tabset Creation

Page 11: An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3 Agenda Overview of the e-MPIRE Project Background Schedule Development Decisions SOA

11

FTA Technology Conference - 2006 217/15/2006

Workflow Integration – Work Management

FTA Technology Conference - 2006 227/15/2006

Workflow Integration -BABE Tabset

Page 12: An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3 Agenda Overview of the e-MPIRE Project Background Schedule Development Decisions SOA

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

Page 13: An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3 Agenda Overview of the e-MPIRE Project Background Schedule Development Decisions SOA

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

Page 14: An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3 Agenda Overview of the e-MPIRE Project Background Schedule Development Decisions SOA

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

Page 15: An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3 Agenda Overview of the e-MPIRE Project Background Schedule Development Decisions SOA

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

Page 16: An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3 Agenda Overview of the e-MPIRE Project Background Schedule Development Decisions SOA

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

Page 17: An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3 Agenda Overview of the e-MPIRE Project Background Schedule Development Decisions SOA

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

Page 18: An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3 Agenda Overview of the e-MPIRE Project Background Schedule Development Decisions SOA

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

Page 19: An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3 Agenda Overview of the e-MPIRE Project Background Schedule Development Decisions SOA

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

Page 20: An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3 Agenda Overview of the e-MPIRE Project Background Schedule Development Decisions SOA

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?

Page 21: An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3 Agenda Overview of the e-MPIRE Project Background Schedule Development Decisions SOA

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

Page 22: An SOA Approach for an Integrated Tax System · 2 7/15/2006 FTA Technology Conference - 2006 3 Agenda Overview of the e-MPIRE Project Background Schedule Development Decisions SOA

22

FTA Technology Conference - 2006 437/15/2006

Questions?