These are executables or shared libraries doing the conversion work. They map the CORBA calls to the data source specific calls. They may use ODBC, a native library for the database, XML parsers and generators, LDAP, POP3 or whatever you can imagine .
There is much work involved in the GDA providers, specially if the backend to be used is not a database. In this case, apart from mapping the underlying API to the GDA model, special attention must be paid to map the database-like structure to a non-database architecture. In either case, this is the most complex part of the GDA architecture.
A server framework is provided with libgda to ease the process of adding a new server. This is done by using a set of template files and a shell script called gda-buildserver, which can be used for both creating the basic structure of a new server, and building the server itself. If you do so, contact the libgda developers to talk about its inclusion in the libgda source tree.
Another way of adding a GDA provider, would be to use the IDL files to generate a server implementation. This way, you can code the server in your preferred language/CORBA ORB. If you want to do something like this, please contact the libgda developers.