Licas Lightweight (Internet-based) Communication for Autonomic Services
 

Licas Version 4.6
Gui Version 4.4
Problem Solver Version 2.0

Introduction


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.

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 is now completely J2ME compatible, 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.

Licas Modules

The system can be used in a number of different ways. The download packages include a stand-alone server, an All-in-One GUI with a built-in server and a separate test problem solver that can be run from a batch file. The system is also peer-to-peer, with the client GUI also acting as a server that can be invoked.

1. Stand-Alone Server

A stand-alone server can be started from a batch file. It will run in a command box and can be invoked either locally or remotely. As the system is intended to be a platform on which to build service-based networks, you can extend or add the licas server to your own programs, to create more complex or application-specific systems.

2. Problem Solver

A problem solver package is also provided. You can integrate this with a network and organise the services on the network, based on the results of a heuristic problem solving search. The default solution type is genetic algorithms, with the idea of matching services with similar information content.

3. All-in-One GUI

The download package does provide its own GUI application. This is not open source, but it is very flexible and can be used as part of your own program or tests. The GUI includes an interactive network graphic and the ability to configure and add new modules that would contain your own service classes. Both the server and the problem solver can be used through the GUI as well. The problem solver is more for the testing of autonomous or AI behaviours, but it is easier to package all of the functionality into the one program. The GUI can therefore be used, either as an admin tool for running a few application-specific services, or as a test platform for running (autonomous) service-based tests.

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. 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 all of the communication can be remote, or from different computers. A more detailed description of the architecture can be found on the Overview page.


Figure 1. Schematic of different module configurations.


Key Features

The key features are therefore:
  1. The capability to build distributed networks of autonomic service-based components.
  2. Permanent and dynamic linking mechanisms to construct the network architecture.
  3. Autonomic self-organisation through a dynamic linking mechanism.
  4. Local or remote communication capabilities, including an XML-RPC message passing mechanism, Web Services (SOAP or RESTful), or HTTP request.
  5. Java-based or Web-based clients.
  6. Service wrapper classes allowing legacy code to be loaded.
  7. Framework for adding an Autonomic Manager and policy scripts to a service.
  8. Framework for adding metadata, with a default query engine.
  9. Compatibility with the Java mobile (J2ME) environment.
  10. Examples of instant messenger and file sharing applications.
  11. Problem-solving framework, allowing for the addition of more complex heuristic search processes.
  12. All-in-one GUI for viewing or testing your networks. Not open source, but provided free to help with development.




Other Details


Web Based

The server has a limited Browser-based interface for returning HTML or other, directly from an HTTP address. This can then be converted and read, as a standard web server would provide. Currently, only HTML and image files can be displayed, with CSS or Javascript needing to be embedded in the HTML file, but a lightweight web server is possible.


Web Services Invocation

The system uses a default XML-RPC message passing mechanism, but there is also the possibility for making Web Service calls. The open source package also contains a WSDL parser and classes for making dynamic web service calls. This is not based on static stub classes, but is built dynamically from parsed WSDL documents.

The licas server is a Web server but not a web service. It can be invoked like one however, because it accepts String-based messages and can automatically parse them into the correct format for further processing. It can therefore accept HTTP POST requests, with RESTful-style messages from web pages, where an example is provided as part of the download package.


Mobile Environment

The licas software package is compatible with the Java 2 Micro Edition (J2ME) CDC platform. This is becomming out of date, but it is simply a subset of Java and therefore, the system is compatible with most versions of Java as well. It should work with Java 1.4 upwards. The All-in-One GUI is only J2SE 1.6+ compatible however and is more useful as part of an internet or cloud-based system.

A more lightweight server app has been written, to accommodate a system with possibly a mobile client. It is written in JavaFX and can be downloaded from the main web site.

See also the version history or bug fixes pages for details about the current or future changes.




Download

The download package contains the server and problem solving jar files.The All-in-One GUI also contains these and is downloadable separately from here. The source code and the documentation that exaplains the package are again separate downloads from the sourceforge site. Download each package and unzip into your working directory. The user guide will tell you how to use the code and start programming with it. Please check the version history page for version updates and other changes. You should always unzip into a clean directory, although the code structure should not change from now on.

Licence

The software is released under the GPL licence, but a licence would be made available for full commercial rights. Note that this relates to the open source server / services and problem solving code only. The GUI is not available as open source and is provided as a separate application, or development / test tool only.




Contact Details

Author: Kieran Greer, Distributed Computing Systems.

For any queries about the software package, please contact the project administrator.
Email: sourceforge email.




Licas - Editors Pick from WareSeeker.com
Licas - SoftPlanet Security Shield Certificate Windows 8 Downloads - Editor's Pick
Soft82 100% Clean Award For Licas Licas - Free Download from FamousWhy.com Licas - 100% FREE Softpedia Award.com