Licas
Version 3.35

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 default communication
protocol inside of licas itself is an XML-RPC mechanism, but dynamic
invocation of external Web Services is also possible. The architecture
and adaptive capabilities through dynamic linking add something new
that is not available in other similar systems.
The download
packages also come with an all-in-one GUI that can be used either to
test systems or as a practical platform on which to run your own real
system. The system is also peer-to-peer, with the client GUI also
acting as a server that can be invoked. Licas can therefore be used in
one of two different ways. Because of resource constraints, these have
been packaged together in the one GUI application. The download package includes a server (J2SE or J2ME), a
client / GUI and a problem solver. An overview of the system is provided on the
sourcefoge.net site,
from where you can download an open source version of the code.
The system has been written in Java. The
javadoc for the main source package can be viewed online and you can read a
number of white papers about the system on the
publications page.
Product Details
This product is more of a development platform that a
programmer would use to write his/her own service-based system.
However, it is also possible to use the GUI and internal server as a
final application, for running your own programs.
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.
- Possibilities for creating services through remote jar file
communications.
- 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.
- Examples of instant messenger and file sharing applications.
- 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.
Default System Framework
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.
Autonomous
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. By using the default framework however, your own
implementation would then flow through the rest of the system as
normal, so that it would be processed correctly. Structures are also in place for adding security
to message passing, 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 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
SOA or Cloud. The licasOS page gives details on the possibilities
of using the framework more as an operating system.
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.