While working on a Y2K project our team developed systems and tools that performed a dataflow analysis on COBOL, Natural and PL/1 code. It was used by several large companies to perform Y2K remediation and Y2K compliance validation.
When the Y2K project was completed we were approached by a company that had a severe performace problem with an order entry and warehousing system. In addition they wished to begin to maintain the software themselves rather than continue with an outside firm. The code had fallen into a state of disrepair in which many modules were obsolete and many routines were never executed. We were asked to see if anything could be done to improve the performance and provide tools that assisted in the ongoing maintenance.
We realized that many of the things we had learned during the Y2K project could be applied to such as task.
That is how the JULES system began.
- CPU, Memory improvements in last 20 years: 1000 times.
- Disk I/O improvement in last 20 years: 40 times.
We used a Java layer between the COBOL programs to exploit this differential in improvement by using memory/CPU facilities to replace disk I/O activities. The Java layer allowed for use of light weight threads, reduced program loads, data caches, dedicated sockets, DB connection pools and a single point of control for the system.
- Wrote a COBOL parser using Sun's Compiler parser to create a Java Object representation of the COBOL program.
- Wrote the monitor (JULES) that ran the COBOL programs using JNI to interface to the code.
- The COBOL precompiler written in Java.
- JDBC woes were encountered and JNI came to the rescue.
- Achieved performance targets.
- Produced a better development environment. The number of modules was reduced to less than half. Of the ones kept, many had major sections of orphaned code removed.
- Provided a flexible testing environment (Same code runs on NT & UNIX, multi DB support)
The JULES system was designed to be adaptable to many environments. Thus it can be applied to CICS systems as well as other interfacing challenges.