310 likes | 325 Views
Legacy Systems and New Integrated Tax System Development. Illinois Department Of Revenue Kathryn Dickerson (217) 785-4025 kdickerson@revenue.state.il.us. Topics. Background Interface Problems Solutions Example. Background. Direction Organizational structure Technical infrastructure.
E N D
Legacy Systems and New Integrated Tax System Development Illinois Department Of Revenue Kathryn Dickerson (217) 785-4025 kdickerson@revenue.state.il.us
Topics • Background • Interface • Problems • Solutions • Example
Background • Direction • Organizational structure • Technical infrastructure
Direction • Start with registration (IRIS - Integrated Registration and Information System) • Coding IRIS now • Continue by function/tax
Ensure that all existing legacy systems interface with the new functions of the integrated tax system until full integration is achieved Ensure that all legacy systems continue to be serviceable and provide support for the functions that have not been integrated Interface Team Goal
IBM Mainframe Other Data Centers, inside or outside the State 1 or more CICS’s running BUSINESS RULES 1 or more DB2’s containing DATABASES Other local mainframes, that may or may not be of compatible architecture ESCON Channel, 2216 Switch, Token Ring and OSA Considered option Considered option Middleware Components, Replicated as needed for performance & backup. “Sets” of middleware components. Synchronized SNA Server Domain NT Server SNA Server Backup Server Connection Workstation Nodes Replicated for User needs. WorkStation Nodes SNA Server Client CICS Client Windows 9x VB Applications RACF Security IDOR INFRASTRUCTURE • Features: • .Middleware growth and load shifting can be performed rapidly, with minimal disruption. • Data routing is flexible, redundant and can expand to considerable bandwidth. • .Proximity of Business Rules to Database greatly enhances security, performance and functionality. • .The ZenWorks product will be used to manage all aspects of workstation software and application components.
Mainframe Level of Processing • Current technology allows us to interconnect to other data centers, should the need arise • We have connected to dissimilar local mainframes, but experienced diminished functionality • Our mainframe contains multiple processors and could expand to significant capacity
Mainframe Level of Processing (Cont.) • We can increase the channel quantities and 2216 switch quantities to much greater bandwidth • We run multiple CICS's now and are capable of running more • We run multiple DB2’s now and are capable of running more • The vast majority of our staff is skilled and productive with mainframe processes
Mainframe Level of Processing (Cont.) • The proximity of CICS to DB2 allows for optimized “plans”, row locking and cross-memory data paths. Not having to go through lines to connect would increase response time • Our ability to manage “business rules” on the mainframe is excellent and is constantly audited • We have many options available to us for expansion and growth of this configuration
Middleware Level of Processing • We are using the NT server and SNA server combination to transfer data • The reliability and stability of this software on COMPAQ servers has been outstanding • Using the “domain” concept of SNA server allows for easy growth and “hot-backup” services • We can connect to the mainframe using 4 different methods and can change easily when needed
Middleware Level of Processing (Cont.) • We run multiple middleware servers now and are capable of quickly generating more servers • We already have backup and cross-trained staff able to support the middleware components • We have the option to use SNA server as a remote object broker by implementing COMTI and MTS • We have many options available to us for expansion and growth of this configuration
Workstation Level of Processing • We are using “windows” on “Intel-standard” PC's, supplied by major vendors, as our workstations • We are authenticating our IRIS users at their workstations with mainframe RACF security - similar to what users are used to • Many other functions exist on the workstations, other than the client/server applications of IRIS • Routing to other middle-ware servers does NOT require a configuration change to the workstation ! • Visual Basic 6.0
Legacy Systems Interface • Mainframe - no problem • COBOL • DB2 database also on Mainframe • No connectivity problems • PC/LAN based • 5 different possible approaches • Many different languages • De-conversion
Rewrite Direct Access Accept Pass Delay PC/LAN Based Interface Approaches • Rewrite the legacy system programs in an object-enabled language such as Visual Basic • Modify the legacy system to use the IDOR infrastructure to access the mainframe based data • Modify the legacy system to accept data that is downloaded to it from IRIS • Modify the legacy system to pass data to IRIS • Delay the inclusion of the application and its data into IRIS
PC/LAN BasedLegacy System Languages • FoxPro 2.6 (DOS based) • Dataflex • Dbase4 • Access • Visual Basic 5.0
DB2 Mainframe SNA FoxPro Workstation Problem • How to make the connection • From DOS based language like FoxPro 2.6 • To SNA server
Solution • Write two programs • a VB program to interact with the Workstation and middleware • a CICS program to get the data from the DB2 tables
How the Process Works • Interfacing system creates temporary FoxPro table • FoxPro program places record (request) in temporary table • VB program (minimized or running in background window) constantly checks for new record (request) in temporary table
How the Process Works • When there is a new record in the temporary table • It is processed by Visual Basic program
VB program • Declare and instantiate the required objects. • Assemble a string (buffer) to send to a CICS program. • Make a call to the CICS program. • Receive response back from the CICS program. • Process the response (string buffer).
CICS program • Process the request from the VB program. • Reads the IRIS DB2 table • De-converts the data • Return the desired information in the buffer (string).
How the Process Works • FoxPro program checks temporary table for response • FoxPro program processes response from temporary table
Sample Example • The user is prompted for CICS ID and password when VB program starts • This window is part of the CICS client software
Sample Example • Visual basic makes an initial call to CICS to verify that connection is established • The current date and time is returned
Example Sample Sample • The user starts up the FoxPro application and enters a social security number • The FoxPro application places a record in the temporary file and the Visual Basic program processes the request • FoxPro uses the returned information
Sample Example • FoxPro creates a new record in the temporary file. FoxPro fills in tran_type (RD), keyto_cics (888889999) and done (N) • The VB program processes the request, fills in the other fields and changes the done field to ‘Y’. The return_cd, sql_ret_cd and sql_state fields are used for error codes
Response Time • No noticeable difference on single record request • Went from 1 second to 10 seconds response time when requesting 50 records
Conclusion • Background - we are doing registration first and reviewed the architecture and project structure • Interface - Legacy systems needs to get information from the new IRIS client/server system • Problem - how to make the connection between DOS based programs and Mainframe • Solution - use a file to pass information between FoxPro and VB, then our architecture can be used to get data from Mainframe