GNOME Data Access manual | |||
---|---|---|---|
<<< Previous Page | Home | Next Page >>> |
ODBC and SQL are established standards. The problem is, that ODBC doesn't specify the wire protocol and for some databases no ODBC driver exists. You might use RPC, TCP/IP, or shared memory and signals to pass the request from the client to the server. So you have to use the database specific ODBC library. This library might not be available for the CPU or operating system on which the client is running.
SQL itself is also not standardized enough, so that source compatibility can not be assured for all database servers. And for some sort of servers, SQL is not even feasable (think about LDAP).
GDA tries to tackle the ODBC problem and help you with the SQL problem. It's a sort of middleware (or can be blown up to be a middleware layer) to access different data sources. It offers a high level view of data sources and has some places where you can plug in low level access to the database for special tasks.
GNOME Data Access (GDA) is defined as a set of CORBA IDL interfaces. The level of abstraction provided by GDA makes it possible to access any kind of data source, provided that a CORBA server implementing those IDL interfaces and accessing this particular data source is written.
libgda is an implementation of the GDA CORBA interfaces, using ORBit as the CORBA implementation. So, in theory, it would be possible to implement libgda for another CORBA ORB or operating system, provided that CORBA support is present on that system.
It offers a wrapper around the CORBA internals, thus making it easier for programmers to make use of all the power provided by CORBA without even knowing about it. It comes along with several libraries, for both clients and servers, as a C implementation of this wrapper. This level of abstraction would make possible to, at a later time, change all the internals without having to modify applications using the libraries, as well as, most importantly, keeps application developers away from the continous changes in the different CORBA-related APIs being used, such as Bonobo, GConf...
Along with these libraries (and associated header files and language bindings for development), libgda includes several tools and utilities to help you with the task of developing applications based on libgda, as well as for automating some database-related tasks.
libgda is implemented for UNIX -like operating systems (including Linux), and does not depend on other libraries apart from ORBit, GConf, Bonobo and Glib, which makes it a very lightweight system also ideal for applications to be run on hardware-limited systems. It was once part of the GNOME-DB project, and is still used as the basis for it, but it's been separated from it to remove all GNOME dependencies and thus allow non-GNOME applications to be developed based on it.