Java client-server: what options are there?

Giganews Newsgroups
Subject: Java client-server: what options are there?
Posted by:  ram…@conexus.net
Date: 1 Jan 2004

This is an issue that I have been pondering and investigating
for years, and I wish there was a book, chapter or URL that
covered it.

I have to develop client-server systems in which the following
is pretty much decided:

  - The database is Oracle 9iR2
  - The server OSs are Solaris and Linux
  - The clients (a few dozen) are Windows (XP?)
  - The client side runs on Java

Those are the givens, the rest is up for grabs...

The main undecided part is: exactly how to realize the client-server
connection?  That's what I would like to hear and read about.
What options do I have?

To get the ball rolling, I will share my experiences so far.

First, I tried the JDBC approach, with a standalone application.
There was a stored procedure in the server, and it was called
from the client.  The cons were: the size of the JDBC being much
larger than my app, and there was also the issue of performance.
I feel that I should move more of the functionality and heavy duty
processing to the server side, where I can have plenty of horsepower.

My second attempt was a Java applet which got its data
through CGI-BIN from an OCI C program running on the server.
The performance was pretty good and I'd like to stick with
the OCI part but not with CGI-BIN.

I just began the third approach: using SSH.  The server part
is a given since it comes ready in Linux, and I got the Java
client part from sshtools.com.

I have read about servlets, Tomcat, etc. but it looks like once
I get into that stuff (the area seems to be called "Enterprise"),
the tools become extremely expensive (for instance I will have
to upgrade my $700 Developer JBuilder to a $3500 Enterprise JBuilder).

The issue of performance still worries me (I am a speed freak):
I wish I could just use the Unix R-commands (rsh, etc.) so all
the encrypting-decrypting doesn't get in the way of client
performance (my app is Intranet in a trusted environment) but
I guess I can live with the more modern, secure, etc., SSH.

Thanks very much for sharing your expert insight on this,
(and if you are a writer deciding on a topic, I'll  bet that
this one will sell a lot of books! - anyone from O'Reilly
out there?)

-Ramon F Herrera

Replies