Gateway Applications

Gateway applications focus on connecting local area network (LAN) clients to external data sources. Sometimes gateway applications also use SQL Server to store data. At other times a gateway application is simply a mechanism for delivering data from other systems to LAN clients. Because gateway applications based on Open Data Services can communicate with SQL Server clients, they can take advantage of the client platforms, front-end tools, and network support that SQL Server provides. Gateway applications are particularly useful in mixed database environments because they allow clients to connect to many data sources using a single access library (DB-Library or ODBC) and a single protocol (their LAN transport), limiting the cost and complexity of connecting to mainframe or minicomputer networks to that of a few powerful servers running gateways. Overhead is very low and differences in performance are usually negligible.

Gateways built with Open Data Services can connect to both relational and non-relational data sources. Relational database gateways are often general-purpose tools that allow clients to issue any type of supported SQL request against a back-end database. Gateways to non-relational data sources are often application-specific rather than general-purpose tools. Since a non-relational data source usually doesn't recognize SQL language requests, you can implement this type of gateway using the remote stored procedure facility of Open Data Services. Writing the gateway application simply involves defining a stored procedure for each of the data interactions with the external source that the application requires. These stored procedures can then be called by any client on the network.

Note Open Data Services does not support sending compute rows to the client. Also, if a row containing text or image data is sent to the client, the text pointer and text timestamp are not included. Pass-through gateway applications do not support SQL Server 6.0 server cursor operations.

Example

The PROCSRV sample application is a simple example of an application-specific gateway. PROCSRV responds to a call from a client to its scan_xbase function by returning the contents of a sample dBASEŽ file on the server. In addition, the PROCSRV sample includes a flexible way for clients to call its stored procedures as language events. This allows you to write one procedure handler to respond to clients that can make remote stored procedure requests as well as to clients that can make language requests only.