is a service specification. It provides a distributed object exchange/co-ordination mechanism (which may or may not be persistent) for Java objects. It can be used to store the system state and implement distributed algorithms. In a JavaSpace all communication partners (peers) communicate by sharing state. It is an implementation of the Tuple spaces idea.
is used when someone wants to achieve scalability and availability and at the same time reducing the complexity of the overall system.
Processes perform simple operations to write new objects into a JavaSpace, take objects from a JavaSpace, or read (make a copy of) objects from the JavaSpace.
technology is part of the Java Jini technology, which has not been a commercial success, although it has found and kept new users over the years. However some vendors are as of 2004 offering JavaSpaces
-based products. The announcement of Jini/JavaSpaces created quite some hype although Sun co-founder and chief Jini architect Bill Joy put it straight that this distributed systems dream will take "a quantum leap in thinking".
-- Wikipedia - 28 Apr 2007
This technology provides a cooperative marketplace for posting and retrieving groups of related objects across a network. "Buyers" and "Sellers" dynamically post their requests and/or services to a space and receive a response from interested parties. JavaSpaces
is not interested in who is posting what; it is based simply on a value-matching lookup routine for specified fields.
technology is written in the Java language, and implements the Java RMI extension. It is a simple, fast, and unified mechanism for sharing, coordinating, and communicating distributed resources, services, and objects across a network.
[Taken from the JavaSpaces