System Transformation & Modernization - Overview 



About ACC's Legacy Modernization Team Solutions


Our solutions include an incremental modernization roadmap designed to safeguard against the potential risk and disruption associated with modernization projects. Leveraging over 20 years of best practice and hundreds of successfully completed projects, ACC works closely with its customers to ascertain which assets should be migrated, redeveloped, or wrapped for reuse as services (SOA) or business processes (BPM), to ensure maximum cost savings and return on investment. In addition, we often employ Change Management and Business Process Re-engineering as is often recommended by project requirements.

The ACC Legacy Modernization Team has provided support for both public and private sector clients having a diverse business orientation, including: BankSoft GmbH; EuroSoft Systems GmbH; Westfalenbank AG; Jardine-Lloyd-Thompson; U.S. Department of State (Consular Affairs; Fin. Mgmt.; & Diplomatic Mail); U.S. Postal Service (Technical Training Center; & Acquisitions); State of New Jersey (Secretary of State; Fire Protection; Highways; Consumer Affairs; & Insurance and Banking); District of Columbia Lottery; Datatech Software/MediaBank; CA Commission on Judicial Performance; Rhode Island Dept. of Corrections; U.S. Agency for International Development; A State Tax Office, A North American Bank, and numerous others.

ACC System Transformation Team has offices in the USA, England, and Hungary.

Far Reaching Support

ACC doesn't stop with the migration of a client's legacy applications; it goes beyond that to enable the client's progress - considerably faster, less expensive, and better, and at the same time, with far less risk. Whatever the current platform (i.e., COBOL, NATURAL, ADABASE, PACE, etc.), the target platform (i.e., JAVA, C#, Oracle, etc.), and operating system or database - it's highly likely that the ACC Transformation Team has been there.

At the first stage the ACC system transformation team determines, in consultation with the client: what direction works best for the system architecture and the business process, the installation and testing process (client resources and schedules to be determined), and the client's policies and procedures. This sets the stage for a smooth transition process. The code conversion phase is the next step: the migration to a functional look-alike onto the target platform, keeping in mind the technology associated with the intended functional enhancements. Then both the client and the system transformation team perform testing, and at the same time confirm where and how enhancements are to be achieved. This offers greater security that all functional aspects are achieved and offers the opportunity for the tweaking of enhancements, as both the client and the Transaction Team are able to touch and feel the transformed system. Furthermore, it is our experience that by following such a plan the risk in conducting a transformation - modernization project is far less.

ACC Legacy Tool Sets-The Benefits
  • The end result of the migration is an open systems application that retains all of the business critical logic of the legacy system, with the same or enhanced versions of report and screen presentation.
  • Protects the considerable investment made in developing the original application and reduces the need for expensive re-training of user staff.
The migrated system is ideally placed to take advantage of the vast range of modern hardware, software, and database facilities available in the "open" environment.

ACC's structured project management incorporates the use of its web-enabled management tools. ACC's tools have been significantly beneficial for far reaching projects - both geographical and performance mixtures. The management of projects can be monitored, regardless of time zone or phase. This has been an important element for both ACC in the performance of the project as well as the client's assessment and event involvement.

Code Transformation Process (Example of COBOL to JAVA & C#)


Business Rule Extraction From COBOL Applications

Enterprise Applications typically contain substantial amount of Business Knowledge, which have been constructed, enhanced, and tuned over many years. Typically, such Legacy Enterprise Applications have little or no up -to-date documentation, and original authors and designers are no longer able or available to re-document the system.

Manual re-documentation of such code is often a lengthy, hugely expensive and error -prone process.

ACC Team's Toolkit uses sophisticated search algorithms to sieve through huge amount of code and isolate the Business Related code. The system allows assignment of descriptions in natural language to the set of variables referenced within the identified rule. This feature can be used to reproduce Business Rules in a Natural Language form (i.e. English).

One of the main features of the Tool is the ability to apply ACC Team's Language Translation Technology to the extracted Business Rules. The Rules can thus be exported as Java, C# or COBOL code snippets, ready for incorporation onto a newly built application.

Features
  • Application Overview and Code Inventory reports and ease of navigation through flowchart
  • Program level flowcharts
  • Heuristics assisted identification of important rule variables
  • Definition Rules automatic extraction
  • English Rules Translation of COBOL rules from COBOL to Pseudo-English
  • Java and C# Rules: translated program components can be used directly in the modernized application
  • Data Dependencies - Identification and visual representation
  • HTML Documentation - Business Rules, program level and application level documentation in HTML

Code Inventory & Documentation

The system is allowed easy maintenance of the Application, providing easy access to information such as:
  • What are the entry points to the applications (Root Programs)
  • What are the dependencies between program modules
  • What are the dependencies on copy files
  • What are data-structures are passed between calls, and how are they transformed

The main screen in Toolkit provides an overview of the application, including:
  • List of all programs, which copy files they reference and what other programs they call
  • Copy Files - which programs references them
  • Inter-program flowcharts
  • Facility to navigate between programs


The program flowcharts and Data-Division hierarchies are appropriately documented. The documentation can be saved in HTML/SVG format.

Data View Page

The Toolkit allows inspection of the system from Data point of view. It shows the hierarchical view of the structures, identifies programs referencing each structure, as well as how the programs interlink. Other useful features include searching for: most used field (can be used as a starting point for business-rules), unused fields (to be removed), large number fields (candidates for BigDecimal / BigInteger when rewriting in Java). COMP fields (extra -care required during data-migration).



Heuristics Rule Extraction Starting Point

ACC Team's Business Rule Extraction provides a mean of identifying the operations and relationships associated with Variables-Of-Interest (VOI).

The identification of VOI is not a trivial task within large and complex legacy system. The original application developers usually can provide a good starting point; the subject matter expert will be also be invaluable. However, often such resources have long left the organization, and other approaches will be required for identification of VOIs.

The Heuristic Search screen facilitates identification of VOIs, by providing usage patterns searches.

For example, a simple usage pattern is to identify variables used in mathematical operations (COMPUTE, ADD, SUBTRACT .) as the result of (financial) calculations are often important.

A slightly more complex pattern would be to identify variables involved in Mathematics, displayed on screen (ACCEPT / DISPLAY / CICS SEND / RECEIVE), and Read or Stored to files/database. Another pattern may include variables occurring in Mathematics and Reporting.

The Heuristic Search screen facilitates such searches.


On successful identification of any such variables, a rule template is build, ready for the next extraction stage.

Rule Composer Page

The rule composer page provides a means to organize, extract, and document Rules associated with the identified Variables of interest.

Here rules can be categorized, and processed.

Rules have the following characteristics:
  • List of applicable programs
  • Indicate for whether they apply entire application database, or merely the programs that were identified at rule creation time
  • Description - what business processes is archived (to be filled in by Subject-matter-expert).
  • Date-Time created/ exported.


Additionally the system can be configured to include / ignore certain statement types. For example, the inclusion of file/database read /writes statements may not be important in a rule for calculation of an Order -Value, and such statements may be excluded during rule extraction.

Intelligent Extraction of Definition Rules

Definition rule can be defined as statements which provide a definition of a term (variable-of-interest) and a quantitative relationship between it and other variables. The terms in question are those responsible for achieving a particular business objective. E.g., order value is calculated by multiplying price of an item by quantity ordered.

Given a variable-of-interest -, version 3.0 of the Toolkit can automatically find all the relevant statements and which goes into definition of this rule.

For example, given the following code:

01     MOVE 123 TO ITEM-PRICE.
02     MOVE 10 TO I.
03     COMPUTE TEMP = 1 * J.
04     MOVE 40 TO J.
05     ACCEPT ORD-QTY.
06     COMPUTE TEMP = ITEM-PRICE * ORD-QTY.
07     MOVE TEMP TO ORD-VAL.


And looking for Definition rules for ORD -VAL (order value) the system can automatically derive the following statement as relevant.

01     MOVE 123 TO ITEM-PRICE.
02     MOVE 10 TO I.
03     COMPUTE TEMP = 1 * J.
04     MOVE 40 TO J.
05     ACCEPT ORD-QTY.
06     COMPUTE TEMP = ITEM-PRICE * ORD-QTY.
07     MOVE TEMP TO ORD-VAL.


Considering typical COBOL programs containing thousands of lines of code, such automatic process can save significant amount of time on any business-rule extraction and re-documentation project.

The rule-definition facility traces application flow -logic backwards through all the possible routes, to identify all of the most relevant operations on all variables involved in setting the value of Variable-of-Interest (ORD-VAL in above example).

Next, using the in -built Natural-Language translation facility, the above statements can be turned automatically into:

Item Price = 123
read Order Quantity. (from screen)
Temporary Variable = Item Price* Order Quantity.
Order Value = Temporary Variable


Business Rule Extraction Page

Most COBOL programs perform a variety of tasks. E.g. An Order -Processing program may calculate invoice, update inventory records, have data -entry screens etc. ACC Team's Business Rule Extraction Strategy works by providing Data and Statement-Category filters, and Advanced Search Algorithms to extract the relevant information from the programs. All the Business Analyst / developers have to do, to start the business rule extraction process, is to:
  • Specify a Variables of Interest; telling the system to find all explicit / implicit (Thru redefines, and hierarchies) References to the Variable of Interest.
  • Select Statement filters, for example, a rule interested in calculation of Order - Values may not be interested in screen handling and database handling statements.

The application of the above filters results in identification of code addressing Variable of Interest, as well as all the other variables referenced within the listed code segment.

The following code snippet is produced as a result of business rule extraction on Order Value (variable ORD-VAL) on COBOL program:


Translation of COBOL Rules to Natural Language

ACC Team's Business Rule Extraction Toolkit also facilitates the association of Natural Language Description with variables names. The descriptions are used, together with in -built heuristic based Natural Language substitution algorithms to generate specifications in Pseudo-English from the extracted business rule.



Using Acronyms for Automatic Generation of Description

To ease the generation of variable descriptions, ACC Team's Toolkit can thru all the variable names and export the set of common acronyms used thru the application. A subject matter expert can then work off-line to describe what each of the acronyms mean. For example, DOB means Date of Birth, VAL means VALUE and .

The description list can then be imported and used to automatically generate descriptions for all the variables.

Translation of COBOL Rules to Java Rules

Often the aim of Business Rule Extraction is to produce specification for the rewrite of an application in Java or C#. ACC Team's COBOL to Java Translation system is an integrated part of the Business-Rule-Extraction Toolset. The translation module can be used to produce the business rules in Maintainable and Legible Java or C# code, together with all XML definitions for data -beans, Object-Relational Persistence Beans, and the underlying framework.