Database and Application Integration and Conversion Services
Business Case: This client
was embarking on a large-scale project to re-engineer their existing CA/IDEAL and Cobol/CA/Datacom legacy applications to
a modern rules-based engine.
Solution:
Online Solutions recommended to this client that all of the Cobol code be parsed into a relational database to allow
for their existing programmer analysts to quickly and accurately extract business rules from the legacy applications. These
rules could be formulated both in an English narrative with the corresponding code to facilitate discussions between the Business
Analysts, programmer analysts and application end-users.
A set of migration tools was developed to assist this client in re-engineering their large inventory
of legacy applications. The suite of tools consisted of:
Cobol
Parse Engine
Source Code Analyzer Workbench
Business Rules Repository
Cobol Parse Engine:
The Cobol parse engine processed the entire set of source code consisting of 3300 source modules (over 4 million lines of
code) by lexically parsing each module. The lexical parse consisted of tokenizing each discrete element on the Cobol line
and tagging it by function (its use within the Cobol code). Functions consist of Cobol Reserved words, Data elements (a reference
to mainframe Datacom tables), literal values (cryptic codes that relate only to this clients business applications). The lexical
parse of the code is the foundation for the cross-referencing (via SQL) of the occurrences of any single 'token' to
its location and use within any and all other Cobol programs within the source code repository. In this manner both query
by token and query by function are supported. For example, the Source Code Analyzer Workbench enables an analyst to research
all of the occurrences of any given data element (e.g., 'YTD_Earnings') or by function: within Cobol all input files
must be declared. All programs that process input files can be listed and further inspected.
Source Code Analyzer Workbench: This component
uses a web-browser control to allow analysts to query the source code repository to facilitate specific analyses. The user-interface
allows the analyst to continue searching and displaying all source modules containing the item being searched. Additionally,
the analyst will be positioned automatically to the location within the source module within which the search item was found.
Business Rules Repository:
Online Solutions developed a repository with a data entry/ data search capability that allows Cobol programmer analysts to
place business rules extracted from the Cobol source code into a central repository.
MS/Office Inventory Control Software
Business Case: This client had hundreds of
MS/Access databases and MS/Excel spreadsheets linked together over several NT servers executing a set of overnight processing
runs for their middle and back office accounting departments. These were business critical processes whose output was used
by business analysts to assess previous day security position risk, intra month P&L by position, security position custodial
reconciliation (a bank's record of a client's security position against the Depository's record of the security
position).
Solution: Online
Solutions implemented a "Batch Engine" consisting of management software that allowed all of the queries
and macros to be placed in a central SQLServer database and managed within a Data Center environment. The management software
facilitated the migration of existing queries and spreadsheet macros and VBA code into an execution and scheduling 'Batch'
engine. The software allowed analysts to code up 'Cycles' that contained a list of queries to run the order in which
they could be run and to specify any dependencies (e.g., other cycles, time of day, etc.) associated with each cycle. Error
recovery steps could also be specified in the event of failure. A monitoring component was developed that allowed for Data
Center operators to easily manage and review the hundreds of cycles (batch runs) that had been placed in the scheduling repository.