Interfaces to other Languages » History » Version 3

« Previous - Version 3/5 (diff) - Next » - Current version
Stefan Remberg, 02/10/2014 02:02 PM

Interfaces to other Languages


Besides Java there are clients available for several other languages. Most of the clients use the XML protocol over socket, whereas the Ruby client is using the Webservice interface.

Since both protocols are open, it is quite easy to implement new clients for other languages. If you for instance think, that there is a definitive need for an SQLSpaces client in Whitespace, go ahead, implement it and tell us!

Currently we have clients for Prolog, PHP, C#, Python 2 and Python 3.

Not all clients provide each feature of the native Java client. This is because the clients were developed in the last years during the development of the server. So the later clients have in general more features. However, some of the features are also missing in the clients, because they were not needed in the use cases, for which we developed them. So if you need a particular feature that is still missing in one of the clients, feel free to just add the missing code and contribute to the project! The following table shows the differences:

Java Prolog PHP C# Python 2 & 3
Simple Operations (read, write, take, update) Yes Yes Yes Yes Yes
Blocking Commands (waitToTake, waitToRead) Yes Yes Yes Yes Yes
Expiration of Tuples Yes Yes Yes Yes Yes
ID-Queries Yes Yes Yes Yes Yes
Bounded Queries Yes Yes Yes Yes Yes
Wildcard Fiedls Yes Yes Yes Yes Yes
XML Fields Yes Yes Yes No Yes
Callbacks Yes Yes No Yes Yes
Versioning Yes No Yes No Yes
Unified Spaces Yes No Yes Yes No
Inverse Fields Yes Yes Yes No Yes
Semiformal Fields Yes Yes Yes No Yes
Binary Fields Yes No Yes No Yes
Rights Management Yes No Yes No Yes
SSL Connection Yes No No No No
Object Tuple Mapper Yes No No No No
Iterative Read-All Yes No No No No