Licas
Version 3.30

Licas
stands for lightweight (Internet-based) communication for autonomic
services. It is a software package written in the Java programming
language which allows a user to build distributed service-based
networks that can also self-organise based on a dynamic linking
structure. The download package includes a server (J2SE or J2ME), a
client / GUI and a problem solver. An overview of the system, with
further details, is provided
on the sourceforge.net site
here.
This product is more of a development platform, on-top of which a
programmer can write his/her own service-based systems.
However, it is also possible to use the system as a
platform-independent Cloud or SOA, for running your own applications.
Read the getting started
guide
to learn how. The key features of the system are as follows:
- The capability to build distributed networks of autonomic
service-based components.
- Permanent and dynamic linking mechanisms to construct the network
architecture.
- Autonomic self-organisation through a dynamic linking mechanism.
- Password protection of the services, providing some level of security.
- Remote communication capabilities through an XML-RPC message passing
mechanism.
- Java-based or Web-based clients.
- Remote object loading through a Java UrlClassLoader.
- Service wrapper classes allowing legacy code to be loaded.
- Framework for adding an Autonomic Manager and policy scripts to a service.
- Framework for adding metadata, with a default query engine.
- Dynamic Web Service invocation through WSDL document parsing.
- Compatibility with the Java mobile (J2ME) environment.
- Example of instant messenger application.
- Problem-solving framework, allowing for service organisation
through a more complex heuristic search process.
- All-in-one GUI for viewing or testing your networks. Not open source,
but provided free to help with development.
The core system features include a server for running
the services on, mechanisms for adding the services to the server,
mechanisms for linking services with each other, and mechanisms for
allowing the services to communicate with each other. The download
package also comes with an All-in-One GUI application that can be used to test any
functionality, or perform admin operations. The following image is one
of the GUI, which also has a built-in server and this picture shows
the view of a network organising some services. You would typically code your
own service classes, load them onto the server and then use the GUI to
view and test them.

The base classes can be extended, to allow any sort of service to be built and run on
the network.The framework is very lightweight and so may also be used
in a mobile environment. The architecture and adaptive capabilities
through dynamic linking add something new to what other similar
systems provide.
The default communication protocol inside of licas itself is an
XML-RPC mechanism, but dynamic invocation of external Web Services is
also possible. The links form the network structure and can be
permanent or dynamic, where the dynamic links are created using a new
linking structure. This has been tested by optimising queries run over
a network and shown to produce favourable results.
The system also provides an implementation of the standard
autonomous framework, including the four main components and policy
scripts. Only the framework is implemented however, where you would be
expected to write actual implementations of the main monitoring
components yourself, based on your own particular problem
specification. The dynamic linking mechanism is a little bit
autonomous by itself. Structures are also in place for adding security
to service invocation, service-level agreements, metadata processing
and some form of conversations or behaviours, similar to what
agent-based systems might do. The system now also comes with a problem
solving framework that has been written on-top of the licas system
itself. This can be used to organise the network services through a
heuristic search and evaluation process.
Licas has a home page on
sourcefoge.net, from where you can download
an open source version of the code. The
javadoc for the main source package can be viewed online. You can also read a
number of white papers about the
system here.
Mobile Environment
The All-in-One GUI is only J2SE compatible, but the server also
accepts HTTP POST requests with RESTful-style messages. You can
therefore write an HTML web page and invoke the server from it. The
download open source package includes an example web page and
javascript code for testing a server with. 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. A mobile device
could therefore use a web-based application to invoke a server running
on the same or other device relatively easily.
Licas OS
In an attempt to make the system more of a self-contained
application, a windows installer will install
the application GUI and related components into a DCS folder in your
root user directory. You can then use the system more as a platform-independent
Cloud or SOA. The figure below shows the default instant messenger
service running, where a GUI can be associated with a service type and
then opened, to make the use of the service easier. This leads to the
idea of running apps, for even remote services, on your computer,
through a local GUI interface.

You can download the open source version from
sourceforge, or a windows installer from here.
The sourceforge.net site contains separate downloads for the
documentation, the source code, or each of the application packages;
including a package for the application GUI that is contained in the
installer.
The software is released under the GNU Public Licence (GPL). This
allows for it to be used commercially as well, but only under the same
GPL licence. The source code must also be made available. If you are a
professional developer and wish to use the licas package, a licence of
£250.00 GBP per year is available and will give
unrestricted rights. Note that this
relates to the open source server code only. The GUI is not available
and is provided as a development tool and test aid only.
JLog2
The jlog2 software package is a logging application that allows you
to log information relating to the operation of your software program.
The package is written in Java under the J2ME platform and is
compatible with both the CLDC and CDC versions. The package provides
functionality for logging general information or debugging
information, to different sets of streams. It is based on creating
channels to write to, and then allocating these to each logger that is
used. A channel could be anything and so could include something like
a text area GUI component, which would be written to instead of one of
the standard outputs. The package is provided as a jar file that you
include in your library and then use as needed.
JLog2 has a home page on
sourcefoge.net,
from where you can download an open source version of the code.