The licas (lightweight (Internet-based) communication for autonomic services) system is an open source framework for building service-based networks, similar to what you would do on a Cloud or SOA platform. The framework comes with a server for running the services on, mechanisms for adding services to the server, mechanisms for linking services with each other, and mechanisms for allowing the services to communicate with each other. The free All-in-One GUI provides a basic operating environment, with some default services. In additon to this, the jar builds provide a set of AI heuristics and also some text-processing algorithms, to allow you to intelliently process the information sources. The emphasis is on a generic framework, where you should be able to pass different data types through the system and have them processed in the same way.
The default communication protocol inside of licas itself is an XML-RPC mechanism, but dynamic invocation of external Web Services is also possible. The main server package can also interface with AJAX or REST-style messages, meaning that porting to a mobile device should be possible. The architecture and adaptive capabilities through dynamic linking add something new that is not available in other similar systems. Figure 1 gives a general view of what the different modules or programs might look like. The All-in-One GUI has a server and problem solver built-in, or you can add these to your own program. You can also run a stand-alone server, or run a test from a batch file. Note that the communication can be local or remote.
A summary of features includes:
Build AI or autonomic networks of service-based components (SOA or Cloud). Programmable framework with many features - add/run services, add/search metadata, autonomous, agent-based, self-organising and distributed communication. Java J2SE (1.5) compatible. Advanced features require programming/config.
A free All-in-One GUI allows you to run all of the packages and your own separate modules. Alternatively, write your own programs by extending the stand-alone server. A p2p server requires only the HTTP address and optional passwords. Example Apps are messenger, file sharing, email and web services invocation.
The code can also be used for more scientific programs. Communication includes XML-RPC, HTTP and dynamic Web Services (SOAP or RESTful). There is an Autonomic Manager with a MAPE control loop and a BPEL-style script and execution engine. Sub-packages include text or query processing and a problem solver provides a range of AI algorithms, integrated into the system.