The Search for a Solution

For some time we have been searching for a COBOL compiler/runtime combination to enable the use of COBOL application business logic within a pure Java framework. Finding none that suited our needs, we began to experiment with a "from scratch" solution. One thing led to another and the result is what you see today.

What It Is

This solution provides an Eclipse-based tool for dual-nature projects (COBOL/Java) that can be seamlessly compiled/debugged and deployed without the need to modify or rewrite the COBOL components until if/when it is desired to do so. Furthermore, the core base for the COBOL dialect(s) supports both Java embedded in COBOL as well as an experimental COBOL extension we call "Java Augmented Syntax", or JAS. JAS will provide what we believe is a key "bridge" capability to capture detailed COBOL semantic requirements in a way that can enable reliable human recoding in Java at any time that is deemed necessary.

How We Got There

We actually built three generations of an IDE plugin for our P3/COBOL command-line COBOL to Java compiler and runtime system. The one submitted here is the most recent, and the only one that is being actively developed.

The Challenges

The biggest challenge in accomplishing this was (and is) overcoming the sparsity of mid-level documentation describing all aspects of the Eclipse architecture as viewed by a non-Java language plugin. Many key concepts and best practices can only be discovered by (sometimes very time-consuming) examination of the JDT plugin and other non-Java IDE plugins that are open source.

Takeaways

We are proud to have persevered and produced what we believe is a unique toolset for developing, maintaining, and remodeling legacy COBOL applications when Java is the target environment. In the process, we learned that the base of COBOL code that is is production use today is indeed vast and, even more important, unlikely to be successfully replaced by any conventional "rewrite" approach. Actual application functions presently in COBOL are often of a scale almost unheard of by most non-COBOL programmers.

What's Next

To advance the concept and practice of incrementally "remodeling" COBOL functions we plan to further develop the IDE capabilities to add COBOL refactoring (very difficult due to common reliance on textual copying in most COBOL legacy applications) and the capability of handling embedded languages within COBOL source in a seamless fashion both at edit-time and when debugging. If possible, we would like to consolidate key elements of the Eclipse solution and "wrap" them is a way that would enable our providing the same or better capabilities for other IDE plugin host environments.

Built With

Share this project:

Updates