With Open Data Services, your server application can maintain active connections with many client applications at one time, in a manner that is transparent to the client and is largely transparent to the server application. Open Data Services supports many types of client applications running on a variety of operating systems and includes support for simultaneous client connections over several types of local area network protocols.
When a client application requests data from an Open Data Services server application, Open Data Services passes the request to the application-defined event handler for that request type. After your event handler processes the request, Open Data Services returns the reply to the client application over the network. To the client, the reply looks the same as a reply from SQL Server.
Just as DB-Library, the SQL Server client-based API, allows you to design a variety of client applications that share a common database server, the Open Data Services server-based API supplies the foundation for a variety of server applications to share a common client interface. Any client application that can connect to a SQL Server database server can also connect to an Open Data Services server application.
A comparison with SQL Server helps to explain how Open Data Services operates. SQL Server can be described as having two logical components: the client manager and the data manager. The client manager coordinates requests from clients on the network. It handles such tasks as establishing a network session for each client connection, formatting data for transmission over the network, and managing multiple client threads. The data manager handles database requests from clients. It handles such tasks as parsing SQL requests, optimizing data access, establishing locks to control concurrency, and accessing data on the disk drives.
Think of the Open Data Services Library as a complete client manager, with "hooks" that allow you to define your own data management routines that you implement as a set of event handlers. The ODS Library handles all network communication with database clients; you determine what data to return in response to individual client requests. The ODS Library and the application-defined event handlers make up the primary components of an Open Data Services server application that can respond to multiple client connections, as shown in the following illustration.