From: William B. <wl...@mu...> - 2002-04-17 22:55:01
|
> I think I still didn't get my question across about xnet with java... But we're getting closer to an understanding :) > > I'm thinking > > java-jca/jdbc --- jgds (java) --- xdr(java) -- streams (JNI) -- shared > memory/xnet -- C[++] xnet implementation -- C[++] rest of firebird. > > The _only_ part of the java driver I would think to change is the stream > implementation, to work over shared memory rather than sockets. The server > stuff would remain completely C[++], all interpretation aspects of the > driver would remain completely java. I don't see any reason to convert any > part of the driver xdr handling to non-java or replace it with gds32.so, > and I haven't seen any arguments indicating what advantages it would bring. > I goofed. What I said was: > [client side: java - JNI] to [server side: JNI - xnet - "firebird"] What I meant to say is very different. In spite of the pretty jgds code this might work: [client side: java - jca/jdbc - RMI] to [server side: RMI(java stub) - JNI - gds - xnet - "firebird"] I am not suggesting this as a possibility, ever. My knowledge of Java is (a) limited and (b) old v1.0. The only time this _might_ be nice would be if the code were smart enough to recognize a local connection, drop the RMI, and leave (type 2?): java - jca/jdbc - JNI - gds - xnet - "firebird" The gds would have to be on the c/c++ side of the JNI to access host based shared memory. Otherwise, you probably loose any speedup in the "stream" step. That is, I would expect the following two configurations to have about the same performance when client and server are run on the same machine: a) java-jca/jdbc --- jgds (java) --- xdr(java) -- streams-any-variety(JNI) -- shared memory/xnet -- xnet driver in firebird server. _or_ b) java-jca/jdbc --- jgds (java) --- xdr(java) -- socket-loopback -- inet driver in firebird server. Of course, the type 2? driver can also handle network transparency, but requires gds to be installed on the client side. Please don't take this as a recommendation for anything. I'm just thinking out loud about performance, which is the reason anyone in java would be interested in xnet. wlb |