Speak Out

Synkronix, Inc

Opinion

HomeProductsNewsSupportPartnersCorporate

I see a long fruitful life ahead for COBOL. COBOL remains the best implementation language for business applications and will retain that distinction for the foreseeable future.

Market Analysis

COBOL is the dominant language for business applications. Over 80 percent of the world’s business run on COBOL (Gartner Group, ‘97). Almost every major industry from financial applications to manufacturing real-time system relies on COBOL. The investment in COBOL technologies, staff and hardware, is estimated to be greater than 5 trillion dollars (Micro Focus, Sept. ‘97). Over 180 billion lines of COBOL code are in use today, with an estimated 5 million new lines added per year (Gartner Group, ‘97). COBOL applications include:

  • Inventory management 
  • Order processing 
  • Accounts receivable and payable 
  • Retail 
  • Shipping 
  • Manufacturing 
  • Financial 

And the list goes on….

No Single Language

There is no single language that meets all programming requirements on all platforms. The issue is function and fit. A good solution must provide great performance and fit well with hosting infrastructures. COBOL, CICS and DB2 are good examples. Some solutions while not as good a fit will have a following because of functionality. For example, Visual Basic from Microsoft provides an extensive toolset. The fit, however, is limited to select platforms. 

The solution selection process boils down to "risk" then "functionality." A review of most businesses depict a complex intermingling of applications and implementation vehicles with varying mixes of assembler, COBOL, C, C++, PL/1, Visual Basic and Java, among others. 

In the 80s the SHARE Language Futures Task Force recommended to IBM that they provide more support for multi-language programming. The requirement was based on the typically extensive mainframe inventory of languages. The recommendation addressed issues of interoperability - applications written in different languages should work together seamlessly. The requirement that programming languages work together, and do so efficiently, is truer today than ever. A major difference today is that the host has changed from a single platform to a multi-tier environment.

Technology Today

The IT community wants answers to, "how do I maximize what I have?" and "how do I get from here to there"? They are, in many respects, different sides of the same coin. 

Once the millennium problem is solved the next major issue will be the Internet. The driving force is profit. Business seeks to decrease costs while increasing performance. Unfortunately, hidden costs particularly software maintenance costs can be life changing (and not in a good way). 

Business will approach the Internet in a variety of ways. Some companies will choose to embrace seemingly better functionality over fit by taking the "baby/bathwater" approach, attempting to rewrite legacy code in more "Web-friendly" languages such as C++. Others will prepare by moving to Web-enabled turnkey solutions, at great cost and greater risk. Still others will get from "here" to "there" by leveraging existing code bases and programmer skills.

Changing Environments

COBOL continues to change to meet user-demands supporting an ever more diverse application base. Traditional "Pseudo-Conversational" CICS applications continue to exist. Today, they are being complimented with client/server and network applications. COBOL has always played a major role in transactional subsystems and will continue to do so in the future.

COBOL investments are substantial and the decision about what should be done boils down to these options: 

1. Throw the investment away in a staged or "cold turkey" approach.
2. Add functionality to the investment using a GUI builder.
3. Provide a bridge to increased Web-functionality and fit by adding Java capabilities.

Maintain Investment

Business software has evolved over decades and is seldom considered "throw away". Software applications are more and more being regarded as corporate assets, critical to business success. Software tools must fit within the software development infrastructure and allow for evolutionary rather than revolutionary growth in development and maintenance. "Technology for technology’s sake" has been, and continues to be, IT’s Achilles’ heel. 

The Gartner Group estimates that there are over 3 million COBOL programmers, far exceeding any other programming language. It represents billions of dollars in code, training, and education. The business knowledge of an experienced programming staff represents an even greater asset. Business can access new platforms and leverage existing COBOL skills bringing fit and functionality goals within reach with minimal disruption to existing programming infrastructures.

Jazzing Up COBOL

Tried and true applications that are line-mode, text oriented report-driven work well for running many applications; we have done it for decades and it works. A need for visual environments and data requests from non-traditional users is placing new demands on existing systems. Business needs to maximize information gathering, delivery, and deployment by getting it to the people who need it, when they need it, in the form they need it. 

Taking information to new heights means adding functionality to COBOL. Alternatives for adding functionality to existing systems can be separated into three categories: front-, middle- and back-end improvements.

Client Options

      A new front-end – Front-end platform independent graphical user interfaces can provide access to legacy applications and reduce maintenance and support costs associated with porting legacy applications to new platforms.

      1. Create a Windows-only solution with a tool designed to take advantage of   functions and features available in that environment. 
      2. Create a hybrid solution with COBOL and HTML/CGI 
      3. Create a Java based front-end that relays messages to the terminal application. 
      4. Use PERCobol and write once and deploy anywhere.

Server Options

    Create server applications capable of supporting multiple diverse clients. This middleware ideally should enable the deployment of applications on any platform.

    1. Write  Java applications that can be interfaced with legacy programs through special constructs. Existing legacy applications continue to reside on the mainframe and/or mid-range servers throughout the enterprise. Access to new platforms is achieved with new applications written in Java. Communication with existing server-based applications is done through special APIs. 

    2. Write COBOL applications using one of the multi-platform COBOL compilers. These COBOL applications can then be linked to existing COBOL programs. An API or callable interface between programs allows communications between older applications residing on the server and the new applications.

Back-end Options

    Back-end (data access, transaction processing and messaging) – Remote COBOL application access to data via CICS, and/or MQSeries messaging.

    1. Write "glue" code
    2. Use a COBOL compiler that supports these technologies such as PERCobol.

A little information about PERCobol

    PERCobol™ enables an evolutionary extension of COBOL applications. PERCobol uses Java as its runtime environment. Communication with other COBOL programs compiled with PERCobol continues to function as before. Communication from COBOL programs to Java is accomplished using INVOKE statements and communication to other COBOL programs is done via CALL statements. Communication with Java programs is achieved through a Callable Program Interface. Native executable programs including COBOL can be accessed through PERCobol callable programs that implement the Java Native Interface.

    Evolving COBOL applications through PERCobol allows access to new platforms easily and cost effectively, up and down the computing hierarchy. Users can further enhance applications through the use of additional functions or features that may not be available in current computing environments. Server applications can readily be moved to take advantage of storage, computing power, or graphical user interfaces. In addition user interfaces written with PERCobol are platform independent. Common user interfaces help an organization reduce complexity and boost productivity.

    Extensions such as Electronic Commerce are available to reach across the Internet, Intranet or Extranet, reducing transaction costs, providing access to data beyond the confines of the current application infrastructure, and enabling 24x7x365 sales and service business functions.

    PERCobol extends the value of legacy applications. COBOL extensions in PERCobol exploit the features of both programming environments and provide opportunities for continued growth. Increasing the life of applications by adding Java creates a bridge for COBOL programmers that connect the best of both programming worlds. 


    Author

    Chuck Townsend
    Chuck Townsend
    Charles F. Townsend (Chuck Townsend) is with Synkronix, Inc. (http://www.synkronix.com), a COBOL compiler vendor in Pleasanton, California. Synkronix is the creator of PERCobol the COBOL compiler for the Java execution environment.

    Prior to joining Synkronix, Inc. Townsend spent almost 30 years with IBM. While at IBM he was the Debug Manager responsible for the COBOL, FORTRAN, PL/I and C debuggers, and was instrumental in the creation of IBM’s multi-platform debug strategy and product offerings.

Products   News    Partners   Support    Corporate

© Copyright Synkronix, Inc.1998

All Rights Reserved.