I'm trying to figure out how application servers provide JDBC data
sources to application clients. I'm hoping someone here can provide
some insight.
>From a client, I can use JNDI to get a reference to a data source and
use it to make JDBC calls. How do these calls actually find their way
to the database?
Do the database-specific JDBC drivers get loaded into the client JVM
(through packaging or http) so that the client can make "native"
database calls into the database? This would require making the
database publicly accessable and potentially adds complexity to the
client packaging, but it would be the best-performing solution.
Does the application server implement a proxy layer, so all calls to
JDBC interfaces get translated into some sort of proprietary protocol
which at the server gets translated back to JDBC calls on the real
driver? This allows the database to remain hidden, and eliminates the
need for drivers to be loaded into the client, but adds a level of
complexity and a performance hit.
Or is there some other approach?
I imagine that different app servers take different approaches, so I
fully expect the answer to be "it depends" :-) What do various app
servers do? The j2ee spec doesn't seem to prescribe an answer to this.
Thanks,
Jeff Schnitzer
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".