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, 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 all this 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 for 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.