Re: Client/Service relationships & Flow of Requirements.



Responding to Carter...

Basically there are two patterns to that get reused every day in this
domain. What you are describing here is this one...

Two peer "subsystems" as you call them need to communicate, which is the
client, which is the service?

Standard Answer: Neither, both are services of a controller client that
wires them together.

OK, but I'm a bit uncomfortable about the language ("wires them together"). That carries a lot of baggage from functional decomposition related to hard-wiring sequences of operations together (Do This, then Do That, then ...).

That's why I prefer the notion of a client/service dependency as a flow of requirements rather than communications (invocations of behavior). Thus a UI service might send a message to the Client that causes the attributes of the a bunch of Client objects to to written to an RDB through a DB Access service. The cause-and-effect is UI -> Client -> DB Access rather than Client -> UI followed by Client -> DB Access as a sequence controlled solely by the Client.

The other standard pattern. is service needs to return information to
client, does this mean the service depends on the client?

Standard Answer: No, both depend on an abstract interface, and the client
(speaking Java now) extends the abstract interface.

Right. The interface is the intermediary that decouples each side's implementations.


*************
There is nothing wrong with me that could
not be cured by a capful of Drano.

H. S. Lahman
hsl@xxxxxxxxxxxxxxxxx
Pathfinder Solutions
http://www.pathfindermda.com
blog: http://pathfinderpeople.blogs.com/hslahman
"Model-Based Translation: The Next Step in Agile Development". Email
info@xxxxxxxxxxxxxxxxx for your copy.
Pathfinder is hiring: http://www.pathfindermda.com/about_us/careers_pos3.php.
(888)OOA-PATH



.



Relevant Pages

  • Re: question about ip addresses
    ... You are using a program to communicate to someone ... a client program, and one is the server program. ... This is neither unreasonable, nor a security issue. ... provider, your country, and likely one can deduce some more accurate ...
    (alt.computer.security)
  • Re: jboss normal client/server communication
    ... > some client side libraries for marshalling and setting up the ... > Setting up a servlet on the server and communicate directly with this ... The servlet could even emit ... > going to run in the same local area network as the server, ...
    (comp.lang.java.programmer)
  • Re: Sockets programming
    ... > I've been following a socket programming tutorial to make a simple TCP ... > However the structure of it is to have a server listening for requests from ... > client but only that one. ... > paragraph above to communicate with multiple clients at the same time on the ...
    (microsoft.public.vc.language)
  • Re: IPC and Threading in DLL
    ... If you need to arbitate between client apps, a service is probably best (it is possible in a driver, but its easier to keep this arbitration in user mode), but if you just need to allow access to the device without any arbitration then a driver may be needed ... have each client process communicate with this service through an IPC ... This DLL should communicate ...
    (microsoft.public.win32.programmer.kernel)
  • Re: jboss normal client/server communication
    ... some client side libraries for marshalling and setting up the ... Setting up a servlet on the server and communicate directly with this ...
    (comp.lang.java.programmer)