vrs-development
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Vrs-development] GW terminology: "server", "client"


From: Chris Smith
Subject: Re: [Vrs-development] GW terminology: "server", "client"
Date: Tue, 30 Jul 2002 21:03:22 +0100

On Tuesday 30 July 2002 19:27, Eric Altendorf wrote:
> In Goldwater terminology, what is a "server" and what is a "client"
> and why are they distinguished?  (I usually think of message-passing
> systems as being fundamentally egalitarian, with notions of "client"
> and "server" only introduced as design patterns at the application
> level, not as a fundamental distinction of the middleware...)

The middleware needs to differentiate them because you can have a client that 
is not, and cannot be a server.
Here's a slightly verbose description, followed by a simple summary:


A GWServer is an executable that contains GWServices (exported functions that 
oher goldwater 'agents' may call).  It is these GWServer executables that 
goldwater boots.

A client (no GW prefix!) is anything that calls a GWService.

So when describing the behaviour of your application you'd call a 'client' 
something that originates GWService requests, and a 'server' a provider of 
GWServices.


If you're paying attention, you'll probably realise that the notion of what 
is a client and what is a server depends on what the entity is doing:

1. Client A calls GWService B.
2. GWService B calls GWService C.
3. GWService C returns to GWService B.
4. GWService B returns to Client A

During 1. and 4. 'B' is viewed as a SERVER
During 2. and 3. 'B' is viewed as a CLIENT


You can write standalone executables that join the Goldwater application, 
call a GWService or two and then exit.

These are GWClients.  They can only originate requests, they cannot and do 
not provide GWServices and cannot be 'booted' by Goldwater.  They are thus 
explicitly named.


Summary:
--------
GWServer  - A bootable execuable that provides GWService(s)
GWService - A function that does a unit of work
GWClient  - An executable that can call, but not provide GWService(s)
client    - anything currently calling a GWService

I'd avoid using the term 'server', it's ambiguous.


Hmm.  I think that summary should go in the documentation!!

Chris

-- 
Chris Smith
  Technical Architect - netFluid Technology Ltd.
  "Internet Technologies, Distributed Systems and Tuxedo Consultancy"
  E: address@hidden  W: http://www.nfluid.co.uk



reply via email to

[Prev in Thread] Current Thread [Next in Thread]