SemiSpace is a light weight Open Source interpretation of Tuple Space / Object Space based on ideas from http://www.jini.org/wiki/JavaSpaces_Specification (now defunct), see also Apache River. It can be run as single, stand alone, space.
Historically, it was created in order to support distribution under Terracotta. Now it is retained as a curiosity.
Changelist since version 1.0.0.
For usage, please see the SemiSpace entry page on GitHub.
SemiSpace offers
... a light weight JavaSpaces inspired tuple space which
- is non-intrusive: You do not need to change existing code
- easy to configure: Spring-based configuration
- has very few dependencies: Basically just XStream and logging
- easy to integrate into your J2EE or stand alone applications: You should easily be able to slip it into your standard J2EE stack
- supports generics for ease of usage
- does not need Jini installed ... as SemiSpace do not use Jini.
- uses getters in addition to public fields: In difference to the JavaSpaces specification
- does not use the
Entrymix-in interface: Allows any XStream-able class to be put into the space. - is Open Source and licensed under Apache 2
- supplies a simple actor pattern framework
Alternatives
Historically, JavaSpace alternatives have been at least the following, but currently few projects are still available:
- The JavaSpace implementation Sun offers as a part of Jini (http://jini.org)
- Blitz (http://www.dancres.org/blitz/)
- GigaSpaces where Event Driven Architecture seems to be a remnant of JavaSpaces technology
- Apache River (retired)
- Lime (which looks abandoned: https://sourceforge.net/projects/lime/ )
- IBM TSpaces (http://www.almaden.ibm.com/cs/TSpaces/)
- Gruple (http://gruple.codehaus.org/)
- Terrastore which can now be found in Google Archive.
SemiSpace