SoftwareMining
Simple, Safe & Effective COBOL to Java / C#


Reducing complexity of Online (CICS COBOL & BMS) applications by migrating to java/C#


It takes more than knowledge of COBOL language to be able 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 set of traits essential to long term maintenance of translated Java and C# code.

Covered on this page:



Replacing cryptic CICS statements with a semantic translation

CICS/BMS programs define additional attribute for each display field. These are used to control display intensity (highlight) of a field, or assign as non-editable, and define 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 an IBM/CICS training courses.

SoftwareMining translator addresses this problem by adding semantic information to the such statements:
	  surname.setProtected(true).setIntensity(INTENSITY_BRIGHT);
   
This type of semantic translation is applied to all CICS/Online statements to generate a more legible system with a substantially better long term maintenance prospects.

The following lists translation of some of the other CICS/BMS cryptic statements:

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-Designers 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 be little benefit from the modernization activity. SoftwareMining's ScreenDesigner utility will provide a variety of quick enhancments to the translated code. These range fron increasing the 24 row provided in original 3270 screens to changing text based Input-Fields to check-boxes, drop downs and radio-buttons can have significant benefits. For example consider a screen which asks for year of issue of a credit-card. On the original system the user would be asked to enter the 4 digits representing the year. The new screens should be able to represent this in drop down box pre-filled with values of previous 10 years. The end-user can then simply select one of the options.
One of the main advantage of the approach is (most of) such changes will not require alterations to be made to the translated business logic..




See SoftwareMining ScreenDesigner in Action



Provide a upgrade path

The online programs may need to be redesigned in long term to cater for new requirements: from access from Mobile phones to 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 makes identify 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 such as Spring, ... .

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 feature of CICS transaction processor is its ability to server thousends of concurrent users at a 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# deloyment 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 Azue.

                       



  © 2017, SoftwareMining Technologies. All Rights Reserved. "SoftwareMining Technologies" is a trademark of Software Modernization Technologies Ltd (UK). Software Modernization Technologies Ltd. Registered in England company no: 7300248. Reg Offices: 8b Accommodation Road, London NW11 8ED, United Kingdom.