Why COBOL?
IT Management Challenges - How to Survive and Prosper with Limited Resources
Many MIS organizations are facing a dilemma that has substantial cost implications
at a time when the realities of the business environment require that costs be
strictly controlled. On the one hand, they have huge investments in application
systems and the resources that create and maintain them. On the other hand, a
continuing stream of technology advances is causing their users to demand modern
information technology capabilities, the kind that they have on their desktop
and laptop computers. The dilemma: do we try to modernize our existing applications
or scrap them in favor of entirely new systems? What are the advantages and disadvantages,
and what are the costs of either alternative?
Large investments in COBOL
Many organizations have millions of dollars invested in COBOL-based systems
and in the COBOL programmers who create and maintain the applications.
A large number of these are very pleased with their COBOL applications, except
that they simply want to move them to open systems or client/server architectures.
Changes in the business environment are happening today faster than managers
can absorb them. Businesses are forced to change their directions and, as a result,
change and update the business applications that support their strategies.
The demand for modern capabilities
Advances in information technology provide further demand for modern capabilities.
They have desirable features and ease of use that are not available on most of
the COBOL applications in production. And each year information technology produces
new capabilities that enhance an organization's ability to increase its overall
effectiveness.
Preserving the investments in COBOL
The message of this paper is that organizations experiencing the dilemma outlined
above should carefully evaluate the alternative of modernizing their existing
COBOL applications.
The Situation at Many Information Technology Shops
We are concerned here with organizations that have some business systems written
in some version of COBOL. They also may have applications written in other languages.
Where there is a desire to modernize an application to an open system, client/server
configuration, the effort and time to do so will be influenced by the language
of the application, and if it is COBOL, whether it is COBOL 85 or an earlier version.
Technical Resource Considerations
If an organization changes COBOL applications to another language, it may lose
its COBOL programmers or incur the expense and lead time to train them in the
new language. These are people who know the business intimately. Their replacements
may know the new language, but they may not have the same knowledge of the organization's
operations.
On the other hand, intellectual interest and career progression motivate some
programmers to want to get proficient in the latest languages.
What programmers want
It is natural and healthy to want the capabilities that are continually being
provided by advances in information technology. Programmers want:
- the additional power and flexibility that accompany advancements in computer
platforms that become available each year or two without giving up application
systems capabilities with which they have become comfortable.
- portability: to be able to develop and run software on open systems and client/server
architectures.
- graphical user interface (GUI) front ends and ease-of-use features associated
with graphical environments.
They want to build windows into character-based (non-GUI) applications, including
menu bars and drop-down menus, list boxes, check boxes, support for the use of
a mouse, including editing features such as highlighting, erasing, and replacing
selected text.
- access to data stored in popular relational database management systems (RDBMSs).
- to use COBOL on the PC to increase programmer productivity and reduce testing/debugging
time.
What users want
End users want their application systems to have:
- the modern look and feel of Windows.
- point and click features.
- the ability to quickly query data, run reports, etc.
- the ability to use, with their COBOL applications, the desktop tool which they
are accustomed to using.
What managers want
Management wants the ability to quickly respond to changes in the business
environment via updates to the strategy. They want business applications to reflect
these updates.
All business managers want to keep pace without losing the functionality, integrity,
and reliability they have in their current application systems. They don't want
to implement modern applications at the expense of these features or to put mission
critical systems at risk.
The Alternatives
There are basically four alternatives for modernizing applications written
in COBOL.
- Re-engineer the business process.
- Rewrite the applications in a new language.
- Replace the application with vendor supplied software.
- Modernize the COBOL applications to give the desired capabilities, or at least
most of them.
These alternatives apply to each COBOL application, but, too often, they are applied
across-the-board.
The Relative Cost
There are time and dollar costs associated with each alternative. The re-engineering
alternative carries the highest costs, lead times, and risk, because re-engineering
involves a change to the culture of the organization.
The costs of rewriting applications in other languages, (e.g. 4GL, SQL, C++),
would most likely be at least as great as the development of the original application.
It involves a long design, code, test and implementation cycle. Further, there
would be a cost to replace and/or train the programmers in the new language(s),
which can range from 40 to 80+ weeks per person.
In replacing applications with software packages purchased from a vendor, the
organization incurs implementation costs as well as the cost of the package. The
total can be staggering. The organization won't be able to buy a system, plug
it in and have it work. The package will have to be customized, or the business
processes will have to be changed to fit the package.
There is a reason current applications work so well-they have been through
many years of refinement.
Modernizing a COBOL application is often the alternative with the least cost,
least lead time, and least risk. For some versions of COBOL, modernizing to a
COBOL that supports an open system, client/server configuration might take relatively
little time and effort. For other versions, the effort may be significant, perhaps
involving the use of conversion tools.
What is so Good About COBOL?
- COBOL is robust. There are thousands of third-party products which have been
developed to aid the COBOL programmer in critical areas of testing, debugging,
application analysis, production support, and code reuse.
- COBOL is capable of handling a wide range of processing volumes.
- COBOL is widely used. COBOL is the number two language for developing client-server
applications. There are millions of COBOL programmers and analysts employed. Because
of its advantages in the development of business applications, COBOL is still
frequently used world-wide for business applications.COBOL applications are so
feature-rich and are doing such an excellent job of performing mission-critical
applications that the users don't really want to retire them.
- Well suited for business applications. COBOL programs are relatively easy
to develop, use and maintain. COBOL is a high-level, English-like language which,
when used correctly, can resemble a well-structured novel with appendices, cross-reference
tables, chapters, footnotes and paragraphs. Accordingly, its greatest strength
is the ease with which it adopts to almost all business-related applications.
- Self-documenting and easy to learn. Unlike other languages, COBOL is self-documenting,
and even non-technical people have been known to learn COBOL within a few weeks
and become productive without understanding the internal architecture of the operating
environment. More importantly, when the original programmer leaves, a replacement
will be able to carry on easily due to COBOL's readability.
- Easy to maintain. COBOL is very easy to maintain. Its English-like syntax
and semantics allow maintenance to be done by someone other than the original
programmer. Further, the source code can be referred to by users with no programming
background.
- Cross-platform portability. COBOL is still the most portable language. COBOL
users can transport their applications to many different hardware platforms without
recompiling the source code. This important feature gives insurance against hardware
obsolescence. The users' hardware investment retains its value. It is possible
to upgrade to a new platform without changing a single line of code. For the developer
who provides its systems on multiple platforms, this portability allows for maintenance
of one set of source code. This significantly reduces maintenance costs.
- Universal training. For the last 35 years, COBOL has been taught in colleges,
universities and trade schools worldwide. There are an estimated 3,000,000 COBOL
programmers employed today.
- Scalable. COBOL is the most scalable language.
- There are "modern" COBOL compilers. There are COBOL compilers that
provide all of the capabilities listed above under "What users want".
One of them, from Acucorp, Inc., has successfully upgraded COBOL applications
to open systems, client/server configurations simply by re-compiling the code.
The COBOL Alternative is Alive and Well
Can you afford not to consider the COBOL alternative?
If you can get the modern application system capabilities by employing a COBOL
open systems compiler at a fraction of the cost, lead time and risk of the other
alternatives mentioned above, doesn't it make sense to give serious consideration
to this alternative? Along with all of the other benefits, your programmers and
analysts will be able to continue to work with a language with which they are
comfortable.
Conclusion
Leverage your investment in COBOL systems and programmers
Custom COBOL applications represent a sizable investment in skills and money
over a long period of time. If you should replace them, you would no longer be
leveraging your investment. The COBOL alternative, discussed here, is a way to
get the modern capabilities you need while avoiding the costly cycle of employee
training and system implementation of the other alternatives.
It would be unwise to abandon your investment, especially in mission-critical
applications, when you can make your current systems do what you want them to
do.
Back to article list
Contact | Site Map | | Legal | Trademarks | Privacy | Print this page
Acucorp, Inc., 9920 Pacific Heights Blvd., San Diego, CA 92121, +1 858.795.1900
© 1999-2008, Acucorp, Inc. All rights reserved.
|