> JavaSpaces are a very useful tool for building workfarm
> systems. However, they do introduce a single point of
> failure and a potential bottleneck. What if your
> JavaSpace server is too slow? What if it crashes?
JavaSpaces just provides an API to represent functionality; it's possible for the implementation to be resilient to server failure. Regarding bottlenecking, you'll have to partition the workload yourself. The approach we took in Coherence --
http://www.tangosol.com/coherence.jsp -- is to automatically partition the load (both data and processing) over the entire cluster, so there's never a bottleneck unless all the transactions are updating some single piece of data.
> JavaSpaces loosen coupling between participants, just like
> an abstract interface does between a client and a server.
> However, all you've done is couple both the client and
> d the server more strongly to the JavaSpace instead. You
> can't remove dependencies; you can just choose which way
> they go.
That is true.
Peace,
Cameron Purdy
Tangosol, Inc.