[Tutor] Client Server Programming

alan.gauld@bt.com alan.gauld@bt.com
Tue, 2 Oct 2001 17:21:40 +0100


> | I'm gonna build a client/server program controlled by an admin,
> | (never built it before). I'd like to know the basic thought of
> | making this. What section of manual or docs should i read? Is there
> | any API (visual programming) so i can make it easier?

Visual programming is available for doing C/S work but IMHO doesn't 
add much benefit beyond a GUI builder for the client. [Exception 
being if you use a heavyweight middleware tool with work-flow, 
business rules validation etc then Vitria or Versata or BEA or 
whatever do provide benefits - but at big bucks cost]

> First we had to write it using sockets and create our own protocol.
> This can be done and doesn't rely on any 3rd party software, but is a
> lot of work for little gain.  

Hmm, sockets are usually my default option. Unless the protocol is 
very complex or the number of messages very rich(>50 say) I tend to 
opt for sockets - easy to write, easy to debug and fairly performant. 
'Course security and scaleability etc are poor (or must be hand crafted)...

> Then we used RMI (yeah, the course is
> taught with Java), and most recently CORBA.  

CORBA is good for heterogenous environments. BUt theres quite an 
administrative headache attached if/when you need to move servers 
around.

Also consider XML-RPC. A very easy to use solution that exposes 
a procedural rather than OO API in the shape of XML messages. 
There is a Python implementation and an O'Reilly book plus the 
usual Web docs. Great for multiple environments and low-medium 
transaction volumes.(say less than 10/second)

Alan G.