Introduction to the API

iWay Software is a family of products designed to insulate end users and developers from the complexity and incompatibility of the proprietary software components that typically comprise distributed enterprise computing environments. Developed initially as a bridge between problematic, legacy database management systems (DBMSs) and a new, SQL-based generation of desktop tools, iWay Software has matured into a large, capability-rich, distributed, client/server database middleware offering. Client applications employing its programming interface submit SQL requests to servers. The servers relay the requests to one or more, possibly distributed, heterogeneous data sources, manipulate the results, and return conventional, tabular SQL result sets. With servers mediating between them and an essentially hostile external environment, end users and application developers can proceed as if they were using a friendly, local DBMS.

In the server, data location and organization, routing, distributed request processing, and cross-platform operations-issues that concern system planners and software developers-lose all significance. From the programming perspective, an elementary model governs every DBMS interaction. There is no certain way to distinguish between the most complex database operations and the simplest of SQL requests.

SQL, the data sub-language supported by the server, was developed as a means for expressing static or dynamic operations on persistent data. The earliest SQL implementations required programmers to hard-code database method calls into their logic and relied on preprocessors to convert SQL source code into comparable text. With the introduction of dynamic SQL, developers can finally write applications capable of handling ad-hoc requests, but reliance on precompilers continues.

iWay Software believes that the precompiler approach, which requires that portable applications be distributed in source form, are supplanted by call-level interfaces (CLIs) similar to the API. Call-level interfaces provide a degree of flexibility that cannot be delivered by an embedded interface. Not only do call-level interfaces eliminate the cumbersome precompilation step, they make it possible for developers to create applications without knowing in advance how they will be used or what will be the content and structure of the targeted data source.

The server supports dynamic SQL exclusively, and the API supports a client/server architecture based on a coherent SQL reference model. The remainder of this chapter is devoted to a discussion of the model, a short exposition of the method repertoire of the call-level interface, and an introduction to Messaging and Queuing.


iWay Software