Mainframe COBOL to Java, C# & Cloud


Migration of Online COBOL CICS & BMS to JSP/ASP/HTML


It takes more than knowledge of COBOL language to understand and maintain CICS/BMS/MFS. Maintenance of these programs requires developers to be well versed in CICS API. A translation to Java which reproduces the CICS API unchanged does not constitute 'maintainable' code.

SoftwareMining has identified the following traits essential to long-term maintenance of translated Java and C# code.

Covered on this page:



Replacing cryptic CICS statements with semantic translation

CICS/BMS programs define additional attributes for each display field. These are used to control display intensity (highlight) of a field, to assign as non-editable, or define a field's protection level.

For example, consider the following COBOL statement:
   
         MOVE 'Y' TO surnameA. 
    or 
         MOVE BMS-BP TO surnameA.    // where BMS-BP contains value 'Y'
   
In this example, assigning the value 'Y' to 'surnameA' will cause the field 'surname' to be protected and displayed bright (highlighted). A simple translation of such statements will produce code that is difficult to maintain without attending IBM/CICS training courses.

SoftwareMining's translator addresses this problem by adding semantic information to the statements:
	  surname.setProtected(true).setIntensity(INTENSITY_BRIGHT);
   
The system currently supports conversion of operations on BMS attributes to the following types statements :

Other examples

CICS COBOL Code

SoftwareMining's translation to Java/C#

    MOVE -1 TO surnameL 
             
 surname.setFocus()   // where '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();
 ...
			 
             



Screen-Designer utility to help moving to new look and feel

Unless the application screens can be gradually moved towards a new look and feel, the application's end users will see little benefit from the modernization activity. SoftwareMining's Screen Designer utility provides a variety of quick enhancements to the translated code. These range from increasing the 24-row provided in original 3270 screens to changing text-based input-fields to check-boxes, drop downs and radio-buttons that can have significant benefits.
For example, consider a screen which asks for the year of issue of a credit-card. On the original system the user would be asked to enter the four digits representing the year. The new screens should be able to represent this in a drop-down box pre-filled with values of the previous 10 years. The end-user can then simply select one of the options.
One of the main advantages of the approach is that the majority of changes will not require alterations to be made to the translated business logic.




See SoftwareMining ScreenDesigner in Action



Providing an upgrade path

The online programs may need to be redesigned in the long-term to cater for new requirements - from access for mobile phones to a change of architecture for SOA. This may involve altering or ripping out screen functionality from each online program. This task would be a lot easier if the new (translated) system identifies data-classes which were used as data buffers in BMS screens, and how they were used. Furthermore, once the legacy dependencies have been removed, the remaining system should be easily pluggable into new frameworks.

The semantic translations utilise APIs within SoftwareMining's framework to provide the CICS functionality in java. This is a thin framework sitting on top of standard java and C# application servers such as Apache-Tomcat and IIS.

Scalability and the Cloud

One of the major features of a CICS transaction processor is its ability to serve thousands of concurrent users at any one time. The translated solution will need to do the same thing. SoftwwareMining's generated code sits on top of industry standard application servers such as Apache Tomcat for Java or MS IIS for C# deployment to achieve the same.

This also allows the translated code to be easily deployed on the cloud - from private cloud to Amazon AWS or Microsoft Azure.




  © 2021 SoftwareMining is a trademark of Software Modernization Technologies Ltd (UK). Registered in England company no: 07300248. Reg Offices: 79 Stevens House, Jerome Place, Kingston Upon Thames, KT1 1HX, United Kingdom.