Database-driven computing applications have given rise to increasingly powerful and sophisticated generations of development tools. And as the size and complexity of corporate databases have expanded almost exponentially, so have the number and abilities of the tools used to drill new access ways to those vast new reserves of business data. To ensure the most rapid and cost-effective programming development possible and to give the enterprise the benefit of optimized access to the database, it is worth examining the entire spectrum of current development tool alternatives.

Informix has pursued a unique and dynamic development tool strategy. In this and our next two columns, we will examine in detail the full range of programming development tools available to the Informix community.

Informix ESQL, or Embedded SQL, was the pioneering client tool created to allow user applications to talk to the Informix database engine. Available in ESQL for C and ESQL for COBOL, these tools allow developers to embed SQL into 3GL program code to retrieve data from the database and load it automatically into program variables. In ESQL, developers employ the short English-like statements of SQL to manipulate data and to create or alter databases--a very clean syntax which reduces the code volume needed to access data in an RDBMS.

ESQL for C, the very first weapon in the Informix tool arsenal, was originally created to give UNIX developers access to the simplicity, cleanness and portability of the C language. C is, of course, ideally suited to handle most basic programming tasks and to make use of more complex forms and data retrieval activities. Developers have typically utilized popular third-party forms packages like JAMM, Vermont Views or Curses.

As Informix technology evolved to meet the needs of organizations using ever larger databases, the company responded to the needs of mainframe-oriented developers by creating a fully featured ESQL for COBOL variation. These developers, many of whom were gravitating to the UNIX world, wanted a way to embed SQL into their COBOL to pull data from the database directly into their applications. ESQL for COBOL met that important development need.

The ESQL tool family exploits the familiar strengths of third-generation C and COBOL languages, while giving developers access to the potent data definition and manipulations commands and the query optimization facilities that are native to SQL. Informix-ESQL conforms to the ANSI SQL standard and supports highly efficient connection management, the use of shared database libraries and the development of highly optimized multithreaded applications utilizing multiple active connections per application.

Informix has further strengthened the capabilities of ESQL for C or COBOL by bundling these tools with Informix-TP/XA, which is essentially a library of functions that establishes the connection between an Informix database server and a wide range of industry-standard transaction managers. These XA standard routines communicate transaction information and provide two-phase commit capabilities within the TP environment.

To allow developers to access Informix database servers without the need for SQL preprocessors or the recompilation of source code, Informix also created a fully OBDC-compliant Informix-CLI, or Call Level Interface. This powerful library of function calls supports the SQL statement and allows developers to create highly efficient client/server applications and to employ the dynamic data access techniques critical to decision support applications.

Consisting of a driver and driver manager, the Informix-CLI allows developers to quickly and easily request a connection or session with an Informix database, to forward SQL requests to the database, define storage areas, process SQL results and manage errors, perform transactional control and disconnect from the database at the end of a task.

The developer community was quick to welcome this CLI to the Informix product family, because it gave them the ability to write generic tools which could be used against an Informix, Oracle, Sybase or other database. Prior to the introduction of Informix-CLI, developers often reverse engineered the .c files generated by the ESQL/C compiler to discover and utilize the unsupported and undocumented CLI. While this was a workable solution, developers ran the risk of their code breaking if Informix ever changed this internal CLI. Informix solved this dilemma and satisfied the needs of the developer by introducing an open Informix-CLI for both Windows and UNIX applications.

While increasingly advanced 4GL and GUI development tools have emerged to provide more sophisticated forms, reports, menus and the still emerging graphical front end, 3GL ESQL for C and COBOL remains the development tool of choice for performance-intense batch applications and for many middleware programming applications.

Database management specialists know that while Visual Basic and Java dominate the newest generation of GUI-based tools and that as-yet-unknown development technologies will no doubt continue to emerge, the character-driven foundation of the C and COBOL languages will remain an integral part of the development landscape for some time to come.

Register or login for access to this item and much more

All Information Management content is archived after seven days.

Community members receive:
  • All recent and archived articles
  • Conference offers and updates
  • A full menu of enewsletter options
  • Web seminars, white papers, ebooks

Don't have an account? Register for Free Unlimited Access