Distributed Drivers
Just to review, bridges provide a mapping to an underlying database API, and
don't have client/server functionality directly, rather bridges rely on the
underlying client libraries for client/server functionality.
- So what's the problem with bridges in the Java platform?
It basically boils down to java's interpreted byte-code capabilities,
security sandbox, and zero-install clients.
- Applet security
One of the biggest strengths of java is its portable byte code without recompilation.
Java was designed for the network.
Java byte code can float the network, be downloaded dynamically, and execute within
the context of a security sandbox.
But if the java code makes C calls, the underlying C routine runs outside the security sandbox,
so the java verifier has no choice but to assume the code is insecure.
- Preinstalled client libraries
This entails your traditional client maintenance, configuration and installation of C libraries.
And a pre-installed client library defeats the purpose of network capable applets.
- Portability
Java is cross platform without recompilation.
C is not interpreted so requires recompilation across platforms,
and ANSI C is a language, not a platform, and does not attempt to standardize
system libraries as java does.
- So what's the solution?
- No more C on the client!
This means, put the entire database client functionality into an embeddable all java driver!
Send comments or suggestions to icsupport@interbase.com