- About Us
Software Servers re-introduce an API on compiled software so that it can once again be called within new code. The current implementation uses a RESTful interface as the API, allowing any programming/scripting language that supports accessing URLs to access the functionality.
Software servers are founded on a notion of "imposed code reuse" or "software reuse". Analogous to traditional code reuse, software reuse involves re-using functionality within compiled code. This involves re-imposing an API on the software so that the functionality can be called and used within new code. Software servers provide such an interface. Through the use of wrapper scripts written in a variety of languages (AutoHotKey, Sikuli, AppleScript, and Python) we automate interactions within arbitrary 3rd party software in order to capture operations that can be shared as functions within a uniform software server API. The software servers, written in Java, provide a Java interface as well as a restlet based RESTful interface to the utilized software. The RESTful interface encodes functionality as URLs of the form:
One can use this interface to call this functionality within their code (treating the software as the implementation of a black box function).