Plusieurs technologies peuvent être utilisées pour développer des applications distribuées, notamment les sockets de bas niveau, le passage de messages et l'appel de méthodes à distance. Le modèle technologique JavaSpaces se distingue en ce qu'il fournit des zones ou ' espaces ' d'échange d'objets persistants, grâce auxquels des processus Java distants coordonnent leurs actions et échangent des données. Une telle approche peut simplifier la conception et la mise en ouvre d'applications distribuées sophistiquées, et elle vous permet de relever les défis liés à la conception et à la mise en ouvre de ces applications.