Shared, “dynamic memory” for networked Java Virtual Machines
Helps federate the network of Java Virtual Machines
Provides simple, dynamic object persistence
Facilitates alternative messaging patterns
async, store and forward, routed, filtered...
Service interface of JavaSpaces technology
Writing, finding, reading, removing, event
May be Used to Implement a Large Number of Distributed Computing Patterns
Jini Technology Services:
JavaSpaces™ Technology
Jini Technology Services: JavaSpaces Technology

In today’s distributed applications, there is a relatively high degree of coupling between various network resources. This is undesirable because it makes applications much harder to build and maintain.  This situation is even worse when dealing with multiple languages and platforms. As a result there is enormous complexity embedded in resources such as knowing communication protocols, object models, etc.  JavaSpaces introduces a shared dynamic memory mechanism for Java Virtual Machines on the network.
The Java platform creates a homogeneous platform where there previously was a heterogeneous platform. The JavaSpaces technology goes farther to decouple the providers and the requestors of network services. JavaSpaces technology does this by delivering a unified environment for sharing, communicating, and coordinating. JavaSpaces technology acts as a lightweight infrastructure where multiple spaces may co-exist within one network.  It helps federate a network of Java Virtual Machines.
JavaSpaces technology provides simple, dynamic object persistence.  Persistence indicates that a collection of data remains intact even if its source is no longer attached to the network. The objects in JavaSpaces for example, remain available to other users even if the source has temporarily disconnected from the network. This feature is critical to keep distributed systems highly available.
The JavaSpaces technology is a simple, fast, and unified mechanism for sharing, coordinating, and communicating distributed resources, services, and objects across a network. A JavaSpace system can be thought of as an event-driven distributed cache with behavior transfer capabilities. This technology extends well beyond the base functionality of a simple messaging system. In fact, it facilitates alternative messaging mechanisms, including asynchronous, store and forward, routed, filtered and others.
The service interface of JavaSpaces technology provides facilities for writing, finding, reading, removing, and generating/responding to events or objects in the environment.