Go to DCI for Micro Focus COBOL

DBMaker, the COBOL RDBMS

COBOL and databases, in particular SQL, have historically shared the same goal: proper storage and retrieval of business data. As COBOL was developed, there was much focus on how data could be permanently stored, so that it could be retrieved at a later time. This increased demands for storage, including the development of faster more dependable hard drives. The problems dealt initially with failing computer systems, which would corrupt files, and lose data. It was discovered later that application and security faults could also lead to improper access, or loss of correct data. Databases were initially designed to protect data for accurate retrieval. As applications became larger, with multiple user capabilities, the need for flexible data queries and security was identified.

Database Value

In summary, users of data intensive systems (traditionally written in COBOL) needed to have dependable data. Databases were developed to address the following issues:

Data Stability
If there is a system, or runtime crash, the data MUST be protected. While traditional files can recover "most of the data, most of the time", data is too critical and too important to be lost. Traditional applications attempted to address this by shutting down each day to reconcile problems, backing up to tape, and having staff available in the evening to manually correct any problems.
Databases are designed for data stability. This includes the ability to automatically backup and restore complete systems, partial data, creation of mirrored volumes (data being stored on multiple mediums in case on goes down), etc. Daily reconciliation processes are no longer needed.

Data Availability
The usefulness of data is based on its availability. If data cannot be accessed, then it does not exist. As computer programs became more accessible to users, it became important to have data available all the time. This meant that daily shutdown of the system for backups was not acceptable. In addition, networks increased the demand for data from many sources. These data requests often clogged the network so that information was not retrieved without extremely long delays.
Databases are designed for data availability. As backups can happen online, systems do not need to shutdown for stability. Through distributed systems capabilities, you can have "copies" of data placed where people can access them without overloading an entire network.

Data Security
As processes depend on accurate data, it became important to protect access to the data. Data modification should only take place in the appropriate location, by correct users. While simple file systems could support some security (either you can access the file or not), it did not address real business needs, where some processes need to change PART of the data, but other portions must be protected from change.
As data became more widely available, privacy of data became more critical. Data access should follow security constraints. File systems could offer control at the file level, but businesses often require different people with differing amounts of data accessibility. In many cases, when someone has access to change certain data, they change other data, causing problems in business processes.
Databases control access to data. There is no way to get to the data except through the database management interface. This single point of access provides total control over who gets data access for review or modification.

Databases like DBMaker control information at many levels so applications can both protect and provide data as needed. The value of these features has been proven so consistently over the last 20 years that business managers view applications with databases as being more valuable and stable.

SQL (Structured Query Language)

As databases came to the market, they each had their own language, implementation rules, security levels, etc. This caused frustration, as the same request from differing database retrieved diverse data. To resolve this problem, SQL became the ANSI standard for accessing data within a database and was quickly adopted by most database vendors. When personal computers became widely available, programs such as spreadsheets accessed data through SQL queries. SQL became so popular that a "new generation" of languages (4GL or 4th Generation Language), was built to graphically access data using these standard queries. To summarize, SQL provides the following benefits:

Dynamic Data Retrieval
Data can be requested at any time in a standard and predictable way. Information can be retrieved as information is being updated.

Flexible Data Retrieval
In COBOL, keys are needed to allow data to be retrieved in a specific order. With SQL, a query can dynamically specify the order for data retrieval. This is very important as application users change formatting demands for reports, data access, etc.

Focused Data Retrieval
SQL allows users to access ONLY the data they need. They can filter out data that is not of interest. This improves access to the data, as the application does not have to continuously review and discard data.

The Ability to access Data from any Application
SQL is a standard. It has been adopted by the business and computer industry. Most applications already support interfaces to it. A database without SQL access will have very little interaction with most applications.

Considerations for the Future of COBOL Applications

New languages and environments have surfaced during the last 10 years. The Web, HTML, XML, java, etc. all provide new capabilities for supporting application requirements. COBOL has fallen out of favor as a preferred language for developing new applications. This perception has been re-enforced by COBOL vendor inadequacies in quickly providing graphical interfaces that match current trends towards web interfaces, etc. Many developers are moving away from COBOL skills and knowledge, and many COBOL applications are becoming stable, where any new development (such as the user interface, etc.) is being done in another language.

SQL and databases have not fallen out of favor. The numbers of RDBMS sales continue to rise. New applications, in any development language, will need dependable data access in a consistent standard way. Database applications are easier to adopt new technology. Therefore, today's COBOL applications must carefully consider inclusion of a standard, robust ANSI RDBMS like DBMaker, so that data protection and availability can be provided with flexibility needed for the environments and requirements of the future.