!
!
!
!
!
Cobol to Java 
Conversion 
!
!
!
!
!
!
!
!
!
Copyright MSS International 2014 
Convert pdf to openoffice text - Library control class:C# PDF Convert to Text SDK: Convert PDF to txt files in C#.net, ASP.NET MVC, WinForms, WPF application
C# PDF to Text (TXT) Converting Library to Convert PDF to Text
www.rasteredge.com
Convert pdf to openoffice text - Library control class:VB.NET PDF Convert to Text SDK: Convert PDF to txt files in vb.net, ASP.NET MVC, WinForms, WPF application
VB.NET Guide and Sample Codes to Convert PDF to Text in .NET Project
www.rasteredge.com
Version: 1.0                                                                            Cobol to Java Conversion
!
THE BUSINESS CASE FOR COBOL TO JAVA CONVERSIONS 
!
Much has been said lately about the age of the Cobol programmer and the coming 
worldwide staffing crisis. This paper looks at how this problem will impact businesses that 
run Cobol based applications and offers a solution that will eliminate the problem entirely 
and open legacy applications up to modernisation.  
No major organization is currently offering a viable, low-risk solution to the problem. They 
will perform a manual rewrite, often supported by use of business rule mining tools. While 
this, in theory, can produce a better eventual result than automated migration, the risk of 
applying a significant manual effort to a ‘moving target’ problem is unacceptable in most 
cases.  
MSS has created an automated migration path to move mainframe Cobol applications to JEE 
Java that can be run on any compliant platform including low cost industry-standard Unix 
and Windows and very low cost open source commodity hardware. 
!
THE PROBLEM 
!
There are about 200 billion lines of Cobol code in the world and it is said that this is 
increasing at a rate of 5bn lines per year. Many of these applications have their origins in 
the 1960 when Cobol was first used in mainframe applications. There is a lively debate 
going on about the future of Cobol. 
A recent article sited in the Financial Times stated that half of mainframe and Cobol 
programmers are over 50 years old, i.e. the average programmer is 57. This means that in 
five to ten years there is likely to be an increasing shortage in Cobol programmers that 
could impact business in a number of ways: 
Increase in the cost brought about by skills shortage 
Longer time to market for new products that require Cobol skills 
Difficulty in maintaining Cobol based applications especially where changes in 
legislation and compliance demand changes in business processes 
The low number of young people willing to be trained in Cobol programming will 
make this a growing problem for companies that use this language. 
This will initially impact on the lesser-known Cobol dialects such as Unisys and VAX who 
already face a skills shortage because of the relative obscurity of the operating 
environment. Larger corporations may find that they can push the problem out but there 
are many smaller and medium sized companies that use mainframe computer who will 
experience the problem first, if not already. Several mainframe users we have spoken to 
have already sited this is a strategic issue for their businesses. 
!
!
Copyright MSS International - 2014 
Page !  of 
!
2
17
Library control class:C# Create PDF from OpenOffice to convert odt, odp files to PDF in
in C#.NET. Convert OpenOffice Text Document to PDF with embedded fonts. Export PDF from OpenOffice Spreadsheet data. Create PDF document
www.rasteredge.com
Library control class:VB.NET Create PDF from OpenOffice to convert odt, odp files to PDF
conversion. Create PDF document from OpenOffice Text Document with embedded fonts. Convert OpenOffice Spreadsheet data to PDF. Export
www.rasteredge.com
Version: 1.0                                                                            Cobol to Java Conversion
THE SOLUTION AS OFFERED BY MSS 
!
MSS’s migrate!COBOL tools offers JAVA as a destination language. Because the tool is based 
on mature compiler technology – MSS has been performing Cobol migrations for 30 years – 
the product is of a sophisticated, modular design and can handle multiple dialects of Cobol.  
Initial projects have targeted Unisys Cobol and have enabled (Libra) mainframe to open 
systems migrations. See appendix A for success stories. 
The generated Java code is as maintainable as the Cobol code was and in fact is mostly a 
line for line conversion of the original Cobol application. The end user of the application 
will notice very little difference when working on the application and will require very 
little training, if any at all when using the modernised interface. Most if not all mainframe 
sites run Cobol applications. 
MSS’s Cobol to Java migration tool provides these clients with four essential benefits: 
True modernisation of the legacy application including replacement of terminal 
emulation with native web browser access 
Access to a young and enthusiastic work force that insist on developing in modern 
language 
A massive increase in development productivity allowing the business to react 
faster to market trends 
A massive reduction in the running costs of their core business applications. 
Carrying forward the vast investments made in the legacy application 
!
THE TECHNICAL SOLUTION 
!
The technical challenge is to create a solution that is efficient, compact and maintainable.  
Of the tools on the market that claim to be able to convert Cobol to Java the best one 
imposes a heavy penalty on the programmer – up to 100 source files per program and 10x  
the original number of lines of code need to be maintained. 
The MSS Java migration tool, by contrast, does not increase the overall line count by 
deploying innovative approaches to migration problems. Some of these are; 
DATA DECLARATIONS
Cobol record structures are, effectively, groups of bytes that can be viewed in different 
ways.  A date can be viewed as a whole or as a group comprising year, month and day. Just 
the month element isolated and manipulated – and it will affect the value of the containing 
group with the effect rippling up through all levels in the record structure.  
The MSS solution is able to simulate exactly how records are defined in Cobol with data 
grouped together at multiple subordinate levels, implicitly remapping actual memory areas 
by defining a group object that can be built up in the runtime initialisation phase from 
Copyright MSS International - 2014 
Page !  of 
!
3
17
Library control class:C# HTML5 Viewer: Load, View, Convert, Annotate and Edit OpenOffice
Text file are allowed to be rotated. OpenOffice Conversion. • By using C#.NET RasterEdge HTML5 Viewer, users can perform these conversions: convert ODT to PDF
www.rasteredge.com
Library control class:C# WinForms Viewer: Load, View, Convert, Annotate and Edit
C# WinForms Viewer: Load, View, Convert, Annotate and Features for Processing OpenOffice, CSV and Text file Except to process PDF, Microsoft Office documents
www.rasteredge.com
Version: 1.0                                                                            Cobol to Java Conversion
‘elementary’ items with Cobol-like attributes and/or other groups. The methods of the 
groups provide all the record handling functions available in Cobol.   
PROGRAM STRUCTURE AND LOGIC FLOW 
Procedure division code is divided into SECTIONS and PARAGRAPHS which can be accessed 
by PERFORM and GO TO statements. This presents a considerable problem if approached 
from a conventional point of view since Java has no GO TO construct. 
The MSS solution is to view each paragraph as an object in its own right which can be 
passed to a method that can control its execution (strictly speaking, they are methods 
within a section; the section class uses reflection to "objectify" these methods so that they 
become independently addressable so that gotos and performs can be applied to them). 
Thus, the perform or goto methods can be passed paragraph names to execute. The 
sequence of execution is determined from analysis of the program structure by the program 
itself using Java’s reflection features. 
The net result of this is that the Java program structure is exactly analogous to the original 
Cobol program structure and immediately recognisable by the original Cobol programmers. 
This allows existing Cobol programmers to be easily retrained in Java thus preserving the 
most valuable asset of any IT department, the application knowledge of the programmers 
themselves.   
SOFTWARE ENVIRONMENT 
The Java programs created from batch programs are POJOs (plain old java objects). Each 
will run in its own JVM and will generally be controlled from perl (or ksh) scripts created 
from the job control programs of the original environment. 
Online programs will be created as EJBs (Enterprise Java Beans) with MSS middleware 
supplied as necessary: 
MCS!Lite is a TP Monitor that can route messages, based on message content or explicit 
routing, between workstations and programs or programs and programs.  
WebManager is a session controller that provides a graphical user interface from a browser 
into the system and enables screen formats defined in XML to be interpreted at runtime 
and processed using CSS and XSLT to effect a desired look and feel.  
The JEE infrastructure in which the programs are run can be based on any conforming 
middleware – WebSphere, JBoss, WebLogic etc.. In all cases the JEE platform will allow 
distribution of the application over several physical servers as necessary to provide the 
required performance. And, of course, the underlying hardware can be anything that runs a 
JVM, typically Linux, Unix or Windows but also zLinux or z/OS.     
The database can be any relational database. MSS has software to create a SQL schema 
from a mainframe database as well as extract and load processes to populate the new 
database. Cursor routines are generated if necessary to simulate mainframe sequential 
record processing. 
The following diagram represents the new software environment: 
!
Copyright MSS International - 2014 
Page !  of 
!
4
17
Library control class:C# WPF Viewer: Load, View, Convert, Annotate and Edit OpenOffice
Convert CSV file to PDF (.pdf). Convert CSV file to HTML (.htm, .html). Annotation. Protection. • Create signatures to OpenOffice document.
www.rasteredge.com
Library control class:C# Create PDF Library SDK to convert PDF from other file formats
Create writable PDF from text (.txt) file. HTML webpage to interactive PDF file creator freeware. Create multipage PDF from OpenOffice and CSV file.
www.rasteredge.com
Version: 1.0                                                                            Cobol to Java Conversion
!
!
!
!
!
!
!
!
!
XML COMMUNICATION 
XML files are generated to define the data layouts of the screens (one file per screen).  The 
XML files are processed under the control of a single XSL file to create  standard HTML 
which is sent to the browser. Included in the HTML are JavaScript routines to perform basic 
validation and style information utilising a CSS file.  The CSS file can be modified by any 
standard tool to change the look of the screens globally so that no individual changes to 
forms are necessary. Similarly the XSL file can be changed to change the “shape” of the 
screen (e.g. mapping of column/row to pixels, adding GUI widgets). 
!
!
!
!
!
Copyright MSS International - 2014 
Page !  of 
!
5
17
J2EE Container
J2EE Container
!
!
WebManager
In-memory DOM 
structure
XML
CSS
Database
EJB
EJB
EJB
JBDC
RPC
XSLT Processor
HTML
XSL
Library control class:VB.NET PDF Text Extract Library: extract text content from PDF
PDF ›› VB.NET PDF: Extract PDF Text. Advanced Visual Studio .NET PDF text extraction control, built in .NET framework 2.0 and compatible with Windows system.
www.rasteredge.com
Library control class:C# PDF Text Extract Library: extract text content from PDF file in
Text: Extract Text from PDF. |. Home ›› XDoc.PDF ›› C# PDF: Extract PDF Text. Enable extracting PDF text to another PDF file, TXT and SVG formats.
www.rasteredge.com
Version: 1.0                                                                            Cobol to Java Conversion
SCREEN FEATURES 
!
The screen below is a fully automatically generated screen from a mainframe form, with 
the exception of an additional "email" field allowing lowercase characters.  
!
This illustrates the following features:

1. Optional "field information" bar which indicates type of field as you move through the 
form. 

2. Optional clickable "mouse button" bar in addition to transmit keys, etc. 

3. Automatically filled in decimals (PRICE and DISCOUNT) as you type.

Copyright MSS International - 2014 
Page !  of 
!
6
17
Version: 1.0                                                                            Cobol to Java Conversion
4. Automatic case conversion during input. Fields may be configured to accept lowercase 
characters (e.g. the eMail field above).

5. Automatically filled "as you type" leading zero's in configured fields (e.g. TOTAL).

6. Automatic "implied decimal" as you type (e.g. TOTAL)

7. Optional negative numbers in red feature.

8. Pop up warnings and error messages occur as you type. The messages are unobtrusive in 
that they don't require clicks or additional key depressions. They appear and disappear as 
you move through the fields. Fields in error will prevent transmission of a form. 

9. Fields in error are highlighted in red and fields with warnings in a blue colour. This 
particular warning field indicates that after automatically inserting the required decimals 
the value was truncated.

10. Optional clock (which can be positioned in any corner).

11. Current field is highlighted (border and background colour change).

In addition to the features visible in the screenshot there are a variety of others: 
12. Optional automatic screen re-sizing. The browser window can be set so that it's always 
the correct size, with no scrollbars.

13. Optional "move to next field" when typing fills current field.

14. Optional debug information window for developers.

15. Optional real-time statistics panel (shows transaction time and other relevant 
information).

16. Automatic calculation for arrow key navigation. i.e. up and down arrow keys will move 
the cursor to the field you intuitively believe it should.

18. Fully configurable transmit, reset, help keys.

19. Fully configurable function keys. i.e. If your application uses function keys to input 
certain data into a particular field and then perform some action, this can be done. Note 
that only the Firefox and Microsoft Internet Explorer browsers fully supports this feature.

20. Input error checking as you type. If a field is unsigned, it won't allow input of negative 
numbers, etc. This feature only works in Firefox and Internet explorer. Other browsers do 
not allow the prevention of input characters.

21. Entire form definition is in XML.

22. Multiple scheme support for CSS file defined schemes.

23. Optional user configurable colour schemes.

24. System level configurable defaults include options which allow or disallow users from 
configuring their own options. Options may be individually allowed/disallowed.

If allowed, the additional information panels (button bar, debug window, field information 
bar and statistics bar) may be toggled on and off at will. The system administrator can 
prevent or force users from either toggling or viewing any of the bars. 
!
THE ADMIN CONSOLE 
The Java migration path uses a full-featured front-end system that is very flexible and has 
many variations.  To assist in configuring these options, MSS provide an administration 
console as part of the product. The console uses AJAX techniques in order to present 
required information on demand. For example, if the Security manager->LDAP manager 
option is selected, additional fields will appear which are related to the LDAP option. 
The admin console deals with System Parameters and Application Parameters as well as 
providing a convenient place to handle function key mapping. 
To access the console, simply press F5 while logged on as an administrator. 
Copyright MSS International - 2014 
Page !  of 
!
7
17
Version: 1.0                                                                            Cobol to Java Conversion
The System Parameters Screen appears thus: 
!
!
The global properties loader specifies how often the application should refresh the 
properties.  There will be some delay – otherwise the overhead could be high – but changes 
made in the admin console will be reflected in the operation of the application in a short 
time without having to restart. 
The security layer is, perhaps, the most important feature of the console.  Mainframe users 
are used to having few tools to integrate with enterprise security and typically rely on a 
home-grown password protection system embedded in the application itself.  In the 
meantime, the enterprise itself has standardized on LDAP or Active Directory for general 
user access.  The security layer controls allow an administrator to specify which (of several 
common choices) flavour of security to use and, at a detail level, enter the required 
parameters.  This, for most installations is a major step forward in securing a vital 
resource. 
The machine name binding section allows an administrator to describe how he wants the 
names of stations to appear to the application.  Often the station name is used within the 
application for purposes such as an extra check on access to sensitive data, i.e. terminals in 
insecure locations should be denied access. The machine name binding allows this to be 
carried forward in the new environment. 
Copyright MSS International - 2014 
Page !  of 
!
8
17
Version: 1.0                                                                            Cobol to Java Conversion
The personalization section simply allows an administrator to let individual users 
personalize their own machine. 
The Application Parameters screen is presented thus: 
!
The Company Parameters section allows the administrator to document the application’s 
business environment and customize it for different companies (or divisions within a 
company). In the event of an application error, an error page is displayed along with the 
Support message and other useful information. 
The Server Parameters section configures the application in terms of its look and feel 
(customizable CSS/XSL/JSP), the data source, and the way it functions for a user (the logon 
screen and the logoff action). 
The Key Bindings screen is presented thus: 
Copyright MSS International - 2014 
Page !  of 
!
9
17
Version: 1.0                                                                            Cobol to Java Conversion
!
This screen allows the administrator to customize the key bindings.  Key binding profiles 
may be created and selected within the xml for a particular screen.  This allows different 
sets of function keys to be mapped for different user groups or for different logical 
groupings of forms. The labels (shown under the function key name) will be shown 
underneath the application form providing the “Show function keys” attribute is checked in 
the Application Parameters screen. 
!
!
ERROR HANDLING 
In addition to the log files, system errors are presented to the users using a form which 
shows relevant information can be used to directly email support. This includes whatever 
instructions were specified in the Application parameters admin screen. The user is 
presented with options to retry the form, restart the application, log off, send an email to 
support or view the full stack trace.  
This sample error form was produced by shutting down the database during a commit 
operation. 
Copyright MSS International - 2014 
Page !  of 
!
10
17
Documents you may be interested
Documents you may be interested