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 COBOL-to-Java conversion tool supports the migration of CICS applications and BMS screen definitions through automated, rule-based conversion. It converts COBOL business logic, supported CICS commands, screen fields and transaction flow into maintainable Java components 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 and BMS programs use field attributes, length fields, EIB values and EXEC CICS commands to control screen behaviour and transaction processing. Directly reproducing these low-level constructs can produce Java that is difficult to understand and maintain.
SoftwareMining converts supported CICS and BMS operations into application-oriented Java methods that express the purpose of the original COBOL more clearly. Equivalent C# components can be generated for C# target applications.
MOVE -1 TO surnameL
surname.setFocus();
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();
Supporting methods include setProtected(),
setIntensity(), setSkip(),
setFocus(), setColor(),
isInputAvailable(), resetAttributes() and
hasFocus().
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.