Licas Version 3.4.4 Now Available  

Admin Gui Version 2.3 Now Available  

 

 

 

 

Introduction

 

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/self-optimise. Functionality is provided to allow for XML-RPC based message passing and dynamic linking between services. The framework is very lightweight and so may be used in mobile or sensor-based environments. The architecture and adaptive capabilities through dynamic linking add something new to what other similar systems provide. The key features are as follows:

 

  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 (stigmergy) linking mechanism.
  4. Password protection of the services, providing some level of security.
  5. Remote communication capabilities through an XML-RPC message passing mechanism.
  6. Remote object loading through a Java UrlClassLoader.
  7. Service wrapper classes allowing legacy code to be loaded.
  8. Framework for adding metadata and negotiation through Service Level Agreements.
  9. Web Service invocation through SOAP and WSDL document parsing (J2SE only).
  10. Compatability with the Java mobile (J2ME) environment.

 

The jar file is relatively small in size. It is currently only about 550k and is unlikely to go beyond 1M. So the package would be suitable for use on smaller devices as well. The user guide included with the download package provides descriptions of the key packages and classes and also some coding tips on how to get started. If you find the software package useful, wish to contribute, or are interested in any of the related work, then please contact the project administrator through the sourceforge system. Contact details are also given at the end of this page.

Resources for the project are limited, in particular with regard to testing. So please report any bugs or other information that you think might be useful.

 

Latest Version

The current version is Version 3.xx. Version 2 solved some of the design problems of Version 1 and also fixed a number of bugs that would have caused problems. Some of these are listed on the version updates page. The current version however is more stable and could be used as is, with future updates unlikely to cause as many changes to existing code interfaces as happened between versions 1 and 2.

 

There is now also an admin gui that may be of help for creating or testing networks built with licas. It is also included in the package with related documentation. Please try it out and send me relevant feedback on what you think.

Getting Started

The download package contains the jar files, the source code and the documentation required to use the package.

 

 

Mobile Environment

Since version 3.0, the licas software package has been re-written to make it compatible with the Java 2 Micro Edition (J2ME) platform. It has been re-written to run under the Connected Device Configuration platform (CDC version 1.0) packages. This has been tested using the NetBeans IDE, which automatically creates a mobile application using CDC 1.0 and the AGUI 1.0 package. The functionality of the software is essentially the same as before, except for the parsing. Details of this can be found in the documentation. The original J2SE-based version is also provided and can run on any PC or laptop. However, only one version of the software will be maintained, which has to be compatible with the mobile environment. This means that the current version and any future versions will be restricted by the functionality of this platform.

 

XML-RPC or SOAP

The system uses a default XML-RPC mechansim for communication. To make a call on a service, a Java object is parsed in the order 'Object-XML-String', which is then sent to the server and parsed back from 'String-XML-Object', when the appropriate method on the appropriate service can be called.

 

There is now also the possibility for making Web Service calls. This cannot be done directly on the licas server itself, but a service or a client can call any third-party Web Service. The calling mechanism is not based on static stub classes, but is built dynamically from parsed wsdl documents. The current J2ME jars do not provide a good environment in which to create dynamic SOAP messages and there have been problems integrating third-party packages. Thus the Web Service functionality is currently only available on the J2SE platform. This is still work in progress, but it should provide enough functionality to make relatively simple Web Service calls.

 

The J2ME version will run as normal and all other functionality will work, but it cannot make Web Service calls at the moment.

 

 

Contact Details

For any queries about the software package, please contact the project administrator, email: admin

 

Home.
Partners.
Version History.
Bug History.
Publications.

Support This Project                                         

Home.
Partners.
Version History.
Bug History.
Publications.