Modernization with COBOL might not be the most popular topic in tech circles, but with the 60-year-old programming language still fueling many critical enterprise applications in some of the world’s largest organizations, there’s a case to be made for modernizing those trusted systems rather than replacing them. Speakers and attendees at Micro Focus’s recent DevDay event in Atlanta presented a strong case for doing just that.
As with other well-designed and continually evolving inventions, COBOL has stood the test of time to retain its relevance in the modern, digital world, and it continues to power many of the world’s most successful enterprises and government systems.
The Atlanta conference marked the 50th DevDay that Micro Focus has hosted. In spite of winter weather warnings, the event was packed, with attendees ranging from senior engineers to salespeople to data wranglers. The COBOL modernization theme carried across three primary sessions: process modernization, application modernization, and infrastructure modernization. Micro Focus speakers supported these three pillars of modernization with a variety of use cases. Here are a few takeaways that shaped the experience.
How modernization bridges the gaps
COBOL modernization helps organizations address challenges in how long-standing applications and processes interact with newer external services.
Challenges in unlocking valuable application logic buried in what are often disparagingly labeled “legacy” systems make enhancements difficult and potentially error prone. Problems in production can cause lost revenue, lost consumer confidence, and unnecessary “fire drills,” among other unpleasant side effects. Modernization mitigates such challenges with a low-risk approach based on reusing what works and making rapid, incremental improvement.
One method we saw to bridge that gap is REST-enabling COBOL. Most developers understand that the world runs on RESTful API these days. COBOL is, at its core, a .net- and Java-compatible language. For example, Micro Focus’ Visual COBOL product can compile COBOL directly to Java bytecode, and therefore has access to that framework. You can therefore create REST services in Java and COBOL can participate in a Java REST service. This allows COBOL to expose REST microservices.
A Micro Focus representative did a live demo of this pretty fascinating resource. The impressive part is that the demo didn’t change a single line of code to modernize – it was all just a matter of incorporating the tooling.
The path to modernization
After running through high-level steps for building REST Services, attendees saw a live demo of the tooling. A very practical example involving a fictitious bank seeking to enable a loan service was popped into Visual COBOL using JSON (for REST) instead of SOAP, and voila!
It turns out that COBOL and JSON data both have parent/child relationships, so it’s actually quite simple to integrate. It becomes an application that sits on a server (running in a container), making it easier to integrate externally. There were a few concerns about versioning staying in sync, but VS Code has extensions for that sort of thing, and Visual COBOL supports VS Code ’13, ’15 & ’17 (as it appears to do for all other standards and third-party tools). In addition, the deployed application path can be automatically fixed to the build of the project, as well as the host name of the port.
A ‘wow’ moment
When the demo was complete, the presenter asked if there was anything about the presentation that stuck out. An attendee sitting up front didn’t hesitate, saying, “That whole presentation was WOW.”
With a big push for enterprises to move toward distributed systems, developers are also looking to incorporate COBOL processes into Continuous Integration (CI) practices . How CI works from a distributed systems standpoint lies mainly in how version control and source control is handled. Visual COBOL allows use of any change control system (e.g. Git, AccuRev, StarTeam, ZMF), and integrates cleanly. It also offers integration with Jenkins, Bamboo, Octane, and other automated build systems.
A live demo of Visual COBOL showed a bank’s sample test loan using a local Git repo with a few workspaces. The code produced a “failed” test and therefore presented a debugging scenario through the test cases, showing the versatility of the application setup. The scenario highlighted the microservice testing unit. As unit tests failed, the Micro Focus presenter fixed the orchestrated error, ran the fixed test in the IDE, and the tests passed. These changes were then easily committed through the IDE.
Developers can also use a Docker image to create a build, use that build with a .bat file, then show execution of test results. This felt particularly powerful because it allows for build services that have zero footprint with a COBOL install.
The focus of the afternoon session was on Infrastructure modernization, specifically how it works in both a mainframe environment and on other platforms. A practical example, described by a customer, included three basic phases:
- Move from mainframe to distributed platform (the Micro Focus Enterprise Server product was chosen because of its superior batch performance)
- Move to a virtualized distributed platform (aka VMWare)
- Move to the cloud (in this instance, AWS)
This preview of scenarios was followed by a demo of support for CICS Web Services (CWS) in the Micro Focus Enterprise product set, which identified a piece of code and turned it into a web service for that same fictitious bank, this time for the purpose of exporting a service.
Micro Focus addressed the challenges head-on, using contemporary tooling and agile development techniques. As a result, the processes came across as neither romanticized nor intimidating.
Rounding out the sessions was a poignant simile. Micro Focus has done for COBOL what the entertainment industry has done for music. Nobody has to rewrite COBOL to modernize applications or infrastructure, just as nobody had to re-record old vinyl records to get them onto CDs or mp4s. The music just had to be remastered. Micro Focus has the tools that allow developers to put COBOL on the .net framework and compile to Java. Suddenly, the future is now, without the heavy investment required to replace mission-critical enterprise applications.
Today’s organizations face unprecedented pressure to remain competitive. Technology changes at tremendous pace, but wholesale application or infrastructure replacement can be a risky strategy. Modernizing mission-critical IT architecture provides a more robust foundation for future innovation. COBOL’s suitability as a business language and its portability and cohesion with other technologies make it an ideal candidate to build new facilities upon trusted enterprise applications.
Visit Micro Focus to learn how you can unlock business value by modernizing enterprise applications.