Introducing SQL Anywhere Studio
The Architecture of Database Applications
This section describes how database applications and the database server work together to manage databases.
Any information system contains the following pieces:
A database Data is stored in a database. In diagrams in the documentation, a database is indicated by a cylinder:
An Adaptive Server Anywhere database is a file, usually with an extension of .db. Adaptive Server Anywhere includes a sample database for you to work with: this is the file asademo.db in your Adaptive Server Anywhere installation directory.
UltraLite databases are stored in a device-dependent manner. For example, on Windows CE, the UltraLite database is a file, but on the Palm Computing Platform it is stored in the Palm database.
A database server The database server manages the database. No other applications address the database file directly; they all communicate with the database server.
In diagrams in the documentation, a database server is indicated as follows:
Adaptive Server Anywhere provides two versions of its database server: the personal database server and the network database server. In addition to the features of the personal server, the network server supports client/server communications across a network. The request-processing engine is identical in the two servers.
A programming interface Applications communicate with the database server using a programming interface. You can use ODBC, OLE DB, ADO, JDBC, Sybase Open Client, or embedded SQL.
The programming interface provides a set of function calls for communicating with the database. For ODBC and JDBC, the library is commonly called a driver. The interface is typically provided as a shared library on UNIX operating systems or a dynamic link library (DLL) on PC operating systems. The JDBC interface uses the Sybase jConnect driver, which is a zip file of compiled Java classes.
In diagrams in the documentation, a programming interface is indicated as follows:
A client application Client applications use one of the programming interfaces to communicate with the database server.
If you develop an application using a rapid application development (RAD) tool such as Sybase PowerDesigner, PowerJ or PowerBuilder, you may find that the tool provides its own methods for communicating with database servers, and hides the details of the language interface. Nevertheless, all applications do use one of the supported interfaces.
In diagrams in the documentation, a client application is indicated by the following:
UltraLite database servers are custom-generated for each UltraLite application, and are part of the application itself. An UltraLite application together with its database server is indicated as follows: