SQLSpaces is an implementation of the TupleSpaces concept that features many new ideas while keeping the API clear and simple. It is based on top of a relational database, which gives the project its name.
The idea of TupleSpaces goes back to the mid-80s, when they were first introduced by Gelernter and Carriero from Yale University together with the Linda coordination language. The idea is to have a client server architecture with a communication solely based on tuples, i.e. ordered lists of primitive data. The clients can write and take tuples from the server and do not need to know anything about other clients. They just communicate over the server without "knowing" any other client's address. The query mechanisms of a TupleSpaces system are mainly associative, i.e. the queries are defined
by creating templates tuples with so-called formal fields, that are interpreted as wildcards.
TupleSpaces are an elegant and easy way of creating distributed software systems that are robust and modular since they are loosely coupled. In addition to the original set of operations (in, out, rd) and to some typical features already known by other TupleSpaces implementations, SQLSpaces furthermore introduces some unique features like multi-language support, versioning, reverse structured naming, wildcard fields and now even support for Android.
It is distributed under the LGPL (client), respectively AGPL (server). To obtain a download link please register and login.
Have fun with it!