Modernizing an online CICS application involves more than converting its COBOL business logic to Java. CICS programs may depend on BMS maps, COMMAREA data, pseudo-conversational processing, program linking, transaction state and platform-specific commands that have no direct equivalent in a conventional Java web application.
Organizations may also need to modernize applications whose business logic remains valuable even though their terminal-based interfaces and supporting transaction architecture no longer meet current requirements. Replacing these systems manually can require developers to reconstruct interactions between COBOL programs, CICS services, screen fields and application flow.
SoftwareMining's automated, rule-based COBOL-to-Java Conversion Toolkit converts supported CICS applications and BMS screen definitions into maintainable Java components. It translates COBOL business logic, supported CICS commands, screen fields and transaction flow while preserving the established processing behaviour of the original application.
Rather than reproducing low-level CICS commands throughout the generated code, the converted application uses structured Java and supporting runtime classes that expose CICS operations through clearer, application-oriented interfaces.
BMS maps can be converted into web-based screens, with generated components representing fields, attributes and interactions with the converted business logic. This page demonstrates the handling of CICS transaction flow, BMS screen processing and communication between the web interface and Java application.
CICS/BMS programs define display attributes that control how fields appear and behave. These attributes specify intensity, editability, protection, and input rules. A direct translation of these statements without context can produce unreadable or confusing code.
For example, consider the following COBOL statement:
MOVE 'Y' TO surnameA.
This COBOL command makes the surname field protected and displays it in bright mode. Without transformation, such behavior would be obscure in Java. SoftwareMining replaces it with a semantically meaningful call:
surname.setProtected(true).setIntensity(INTENSITY_BRIGHT);
The translator automatically replaces CICS/BMS attribute operations with intuitive Java or C# methods, including:
MOVE -1 TO surnameL
surname.setFocus(); // 'surname' is a display field
MOVE 'Y' TO surnameA.
surname.setProtected(true).setIntensity(INTENSITY_BRIGHT);
IF surnameL > 0 ...
if (surname.isModified()) ...
WHEN EIBCALEN = 0 ...
if (this.isFirstTimeExecution()) ...
EXEC CICS READ DATASET('DS1')
INTO(CLIENT-RECORD)
END-EXEC
clientRecord.read();
True modernization extends beyond backend logic. SoftwareMining's Screen Designer allows legacy 3270-style BMS screens to evolve into modern, user-friendly interfaces without changing business logic.
The designer can expand the traditional 24-line display limit and introduce modern UI elements such as dropdowns, checkboxes, and radio buttons. For instance, an input field for credit card issue year can be converted into a dropdown list of recent years.
As technology evolves, modernizing applications should be ready for mobile, web, and service-oriented architectures. SoftwareMining ensures that all data classes derived from legacy BMS screens are clearly defined and reusable. Once CICS dependencies are removed, the modernized system can easily integrate with frameworks such as Spring Boot or .NET Core.
The converted code leverages SoftwareMining's lightweight CICS emulation framework, which runs on standard Java or .NET servers like Apache Tomcat and Microsoft IIS.
Mainframe CICS systems are known for supporting thousands of concurrent users. SoftwareMining's converted applications preserve this scalability by integrating with industry-standard servers such as Apache Tomcat for Java and IIS for C#.
The resulting systems can be deployed on-premise or to cloud platforms including AWS, Azure, and private enterprise clouds, offering full elasticity and performance while maintaining mainframe-grade reliability.