USENET/GOOGLE groups: comp.lang.cobol
skip to the main content area of this page
COBOL21 Site - COBOL for the 21st Century
Another day for COBOL...

Extend the life of your COBOL code by refactoring it into components which can run anywhere. This site has full examples with sample code showing how you can move your existing procedural COBOL code (running on a mainframe or a workstation) to .NET and run it from a Browser or the desktop.
(You do NOT need a .NET COBOL compiler to do this. However, if you plan to continue using COBOL as your main development language, it would be advisable to have one.)

Don't throw away (or re-develop) your existing COBOL code! Refactor it and re-use it!

Modern Object Oriented COBOL compilers can allow you to leverage it into the 21st Century. (And they DON'T need to be .Net COBOL compilers)

COBOL code can run easily in the .NET environment or on a Web Page, just like components written in ANY modern language. The .Net platform has Classes designed to support this. This site has detailed examples which will show you how to leverage your existing procedural COBOL code into a modern object oriented, component based system, where your code can run locally or remotely on a desktop or a web page, as part of a Service Oriented Architecture, or as an encapsulated component. The business functions carried out by your COBOL need no longer be tied to a central processor on a mainframe; they can be distributed across your Network and accessed with a Web Browser or they can be embedded into desktop applications running on your network. Convert your existing indexed files to Relational Database and your Legacy and New Development can share a common data resource.

COBOL is in its twilight. The procedural paradigm it is based on has been overtaken by object oriented, component based, application development, which is better suited for deployment to the Web and the Intranet. (COBOL remains an ideal language for business batch processing). But there is a huge existing investment in COBOL code which no-one really wants to write off. By refactoring (reviewing and extracting functionality) from existing COBOL code, then wrapping it as encapsulated objects which use a standard, consistent, platform independent, interface (Component Object Model - COM), the useful life of this code can be extended and the ROI increased.

Read more...

What you will find on this site...

Information on migrating standard COBOL to .NET
Artic Tern

A complete technical strategy, with discussion of pros and cons.

newsflashMarch, 2011 - now you can SEE the PRIMA Toolset in action! Watch as legacy data is used to create a new optimized Relational Database in 3rd Normal form, and the new database is then loaded with legacy data. Real data, to a real database, in real time! In under 10 minutes the Toolset creates an optimized RDB, loaded with current legacy data. Take the 5 cent Tour and see this process end-to-end!   Click here!
But that's not all! It also creates a series of Data Access Layer objects which can be used by both Legacy and New Technology so there can be a common data resource between the old and the new, and then it transforms the entire Legacy codebase to utilise this DAL layer, so that legacy processing continues against the new RDB EXACTLY as it did against the old flat files!

The free "String2Num" component
S2N logo
This is a function originally written for an IBM System 360-40 in 1974. If you are an old-time mainframe programmer, this page will bring back some memories. If you are not, it will give you insight into how COBOL sites looked 35 years ago.
The component was moved to PCs soon after they were invented, and has seen life on a number of different platforms.
There is an interactive demo where you can test the component yourself.
You can download and embed this function into your own applications. It will tell instantly if a string presented to it represents a valid number, floating point, or currency, and provides a number of alternate formats for the number, if it is a number...
Information on using embedded SQL with COBOL, and Relational DB concepts
SQL icon
Ideal for people just starting to use RDB. The Download package includes sample code and an explanation of Normalization.
The free COBDATA COBOL structure analyser Tool construction image
This is an example of standard COBOL  running on .NET. The underlying engine was written by Robert Wagner as standard procedural COBOL. See how it is easily converted to OO COBOL and wrapped as a COM component. Finally, a presentation layer is added in C# and the whole application becomes a .NET assembly.

Follow the link for full details and download of the tool itself, the COBOL sources (both standard and OO), and the C# source. You MUST view the Freeware Licence for this tool before you can download it.
Information on component based system architecture
Lego bricks
Conceptual background for COBOL people unfamiliar with OO encapsulation, and why components are NOT called modules.
OPEN COBOL, could it be a viable commercial alternative?
Lego bricks
A dedicated group of talented individuals are working to provide an Open COBOL system.
Information on migrating ISAM files to Relational Database
ISAMRDB
Ideal for people moving COBOL from ISAM (and VSAM/KSDS) based data sources, to Relational Database. (RDB)
Links to other COBOL-related sites
Lego bricks
Some other sites that deal with COBOL language and environments. We favour links to sites that are offering free tools and information.

If you have COBOL related material you would like to make available to others , white papers, articles, experiences, please send them to Pete Dashwood (remove "XYZ" from the mail address in this link), and we will endeavour to get them onto this site, if they are suitable. Material that denigrates companies or individuals is unlikely to be published here. However, specific first hand instances where difficulty was encountered, may be acceptable so that learning can be acquired from the experience. The Editor's decision is final, but if your piece is rejected you will be given full reasons as to why it is.

Log on/Register

If you opt to download, you will be required to log on. You can do it here or simply click the Download buttons, on pages where they appear.

We store your E-mail address and the IP address you are accessing from. Your password is encoded. Registration allows you access to other PRIMA software. You can delete your details from our database any time you want to. We will NEVER pass your E-mail address to anybody unless we are legally required to, and we will not hassle or SPAM you.

Acknowledgements: