-
LICAS GETTING STARTED GUIDE March 30, 2015
1
Licas Getting StartedGuide
Version 1.17.2[A guide on how to install and quickly run
anapplication on the licas framework]
Kieran Greer,
Email:[email protected].
http://distributedcomputingsystems.co.uk/licas.aspx
-
Licas Getting Started Guide V1.17
2
Table of Contents
1 Introduction to the Licas System
.......................................................................................32
Installing the
Software.......................................................................................................43
Quick Start with the GUI and
Server..................................................................................4
3.1 Start the GUI and Server
.............................................................................................53.2
Using the Service
Factory............................................................................................73.3
Adding or Changing Service Information
....................................................................8
4 Quick Start with the Instant Messenger
............................................................................94.1
Load a message Service onto the Server
....................................................................94.2
Open a Service GUI Interface
......................................................................................94.3
Using the Message Service
GUI.................................................................................11
5 File Service
.......................................................................................................................126
Web Service
Service.........................................................................................................13
6.1.1 Service Interface
................................................................................................137
Running a Server
..............................................................................................................148
Default Communication Mechanism
...............................................................................159
HTTP Web Server and RESTful Web Services
..................................................................15
9.1 Security Manager
......................................................................................................159.2
HTTP Browser
Request..............................................................................................169.3
RESTful-style
Request................................................................................................169.4
Accessing a Service Directly through the
Browser..................................................18
10 Running the Problem Solver
............................................................................................1811
Additional Platform
Requirements..................................................................................1912
User
Guides......................................................................................................................19
-
Licas Getting Started Guide V1.17
3
1 Introduction to the Licas System
The licas system is an open source framework for building
service-based networks, similar towhat you would do on a Cloud or
SOA platform. The framework comes with a server forrunning the
services on, mechanisms for adding services to the server,
mechanisms forlinking services with each other, and mechanisms for
allowing the services to communicatewith each other. Functionality
is provided to allow for XML-based RPC message passing anddynamic
linking between services. It is also possible to invoke the server
through REST-stylemessages from a web page, or just HTTP GET
message calls. The framework is verylightweight and the
architecture and adaptive capabilities through dynamic linking,
addsomething new that is not available in other similar systems.
The download package alsocomes with an All-in-One GUI that can be
used either to test systems or as a practicalplatform on which to
run your own real system. The system is also peer-to-peer, with
theclient GUI also acting as a server that can be invoked. Licas
can therefore be used in one oftwo different ways. Because of
resource constraints, these have been packaged togetherinto the one
GUI application.
When you open the GUI application, two of the module buttons
will be visible. These are forstarting or running a server and for
adding services to it. You can use just these modulepanels to start
services running on a network. The menu also allows you to select
othermore scientific modules that allow for more AI-related
functionality or tests. This is wherethe linking, metadata and
autonomous features would be most useful. The other userguides and
related papers give further details on that. This quick start guide
describes howto open and run the message service, which is provided
as an example of how to use thesystem as a ready-made application.
The open source base packages are available howeverand can be used
by programmers, to develop their own services with. There are not a
largenumber of ready-made services, but this example shows how easy
it is to write one and thelightweight design and in-built
intelligent features might make this package attractive forcertain
applications.
The source code can now be downloaded in a number of different
zip files. You do not needto compile anything to use these, just
unzip the contents into an empty folder. The currentversion comes
with a J2ME CDC compatible server and a problem solving package.
The CDCplatform requires a number of additional add-on jars that
can be found on public sites.These are listed in section 11.
Migration to Java 8 should make this easier. There is also asetup
installer for windows that will install the All-in-One GUI and its
related files, more as aready to use application or OS. The
installer can be downloaded from
thehttp://distributedcomputingsystems.co.uk/licas.html web site and
is an attempt at a morecomplete product for general use.
-
Licas Getting Started Guide V1.17
4
The rest of the document is organised as follows: Section 2
describes how to install thesoftware. Sections 3 to 6 describe how
to use an installed version to run the serviceapplications. The
other sections then describe more low-level features. Section 7
describeshow to run a server. Sections 8 and 9 describe the
different communication mechanisms,while section 10 describes how
to run a scientific problem solver. Section 11 describes
anyadditional jars, etc, that might be required for developing the
software further, whilesection 12 summarises the contents of the
other user guides.
2 Installing the Software
The free All-in-One GUI now installs using the setup.exe only,
downloadable
fromhttp://distributedcomputingsystems.co.uk/licas.html. This will
also install the other foldersthat hold the default service
applications and the configuration files, etc. There is also now
alightweight server GUI from the licasOS page. To install the open
source code, download thepackage from sourceforge.net and unzip the
files into an empty directory. You will findfolders for a server
and a problem solver. To run the jar executable, double click on
the.bat or .sh file in its folder to start it running.
The installer installs into the path C:/DCS/Licas in your root
file system directory. TheGUI reads other files from its associated
folders and installing into the usual Program Filesfolder requires
administrator privileges. This means that after using the
installer, you willhave a folder at C:/DCS/Licas and another folder
called licasData in your root userdirectory, for example,
C:/Users/Your Name/licasData. The first one contains the
jarexecutable and the second one is for data files and the default
service classes. Uninstallingwill remove both of these folders, but
any new content that is added should be left and notdeleted. You
can also use the licasData folder for general use, to add your own
documents.To start the GUI, click on the installed icon on your
desktop. Before loading any services, youfirstly need to have a
server running somewhere, which can also be locally in the client
GUIitself. Alternatively, this can be a separate server on the same
machine, or on a differentmachine.
3 Quick Start with the GUI and Server
To use the system simply for running applications, you can
install using the windowsinstaller. Simply start the installer and
answer yes to all questions. The installer will add thesystem to a
folder on your Startup menu under the DCS name, and as a shortcut
icon onyour desktop. Note that the installer will also add a folder
called licasData to your root user
-
Licas Getting Started Guide V1.17
5
directory. When the GUI starts, it will automatically look for
this folder for its configinformation. Any default services are
also stored there. Before starting any activity, youshould load in
the default config file, through the Admin / Load GUI Config menu
option.
A service is represented graphically by a node in the Server
panel of the GUI. This is just aview, where the service itself
could be running on any registered server. If you right-click onthe
node, you can then send some commands to the service through this
view; although,also check that the metadata button has been
clicked. Communication with the service itselfcan be carried out
through text-based descriptions based on Java Reflection. In this
way, theservice can be turned into a complete application, running
in a local or remote virtualenvironment and with an interactive
interface for easy use. The following sections describehow to do
this.
3.1 Start the GUI and Server
The GUI can be started either by double clicking on the desktop
icon, or through the Startupmenu option DCS/Licas/Licas. A Server
panel can be accessed by clicking on theServer module button. It
should also be the first panel that is displayed. If you click on
theStart Server button, this should start a server running locally
in the GUI itself. There isa Server tab in the bottom right
quadrant that gives output of what the server is doing.There is
also a Refresh View toolbar button that will immediately update the
networkview when it is clicked. The Server Details section of the
panel should display the ipaddress that the server is running on.
Figure 1 gives an example of the GUI serverrunning. Click OK to any
messages that appear.
You will then want to load a service onto the network, but
remember to load in the configfile first. This can also be done
manually with a small amount of effort. If you click theService
modules button, a Service panel should be displayed. This provides
options toallow you to add your own services to the network, but
also allows you to add one of thedefault services. The bottom half
of this panel has an Add Service to Server groupof components.
These also contain a list of default services, listed under certain
categories.There is a combo box with a number of service type
names, for example, File orMessage. Select the Message service type
from this combo box. Any service needs to beadded to another
service. If it is a base service, then it needs to be added to the
server. Toindicate the server, click on the server component in the
graphic view. It looks like a greencomputer with the word Server
written on it. This should add the word HttpServer to theSelected
network service text field. This is shown in Figure 2.
-
Licas Getting Started Guide V1.17
6
Figure 1. Server panel and tab with server started.
You need to assign to your service a unique name or id. For a
message service, this could beyour own name, for example. In the
New service ID text box, type in the name toassign to the service.
If you then click the Load Service button, you should get amessage
confirming that the service has been added to the server. If you
then click therefresh network view Toolbar button (the top left
button) the service should bedisplayed in the server view. Figure 2
is an example of a message service node beingdisplayed in the
server view. Note that services can also be configured with their
own iconfor displaying. The icons for the default services cannot
be changed, but you can configureyour own modules and services
through the service factory (section 3.2).
If you place the mouse over the graphic of the service and
right-click it, you should open upa pop-up menu with different
options. One of these options is called GUI and this optioncan
allow a new GUI interface to be associated with the specified
service, where the defaultclasses provide a GUI interface for the
message service. Before you can do this, you need toload in a
ServiceFactory object, which is described in the next section. Note
that theserver shows if a service factory is running with an
additional square, with Fx written in it.There is also a jar
factory that can be started to process (remote) requests for jar
files fromthe server. If running then this is shown by another
square, with the letter J written in it. Inthe bottom right corner,
there is a combo box with Service GUIs selected. If you open up
any
-
Licas Getting Started Guide V1.17
7
service GUI, it will also be listed there. You can then use that
list to re-open any GUIs thathave been minimised onto the computer
toolbar.
Figure 2. Service panel with default message service loaded.
3.2 Using the Service Factory
A ServiceFactory object controls what default services can be
loaded and which GUIinterfaces are associated with which service
types. This is completely configurable and soyou can also write
your own one to change or add new operations. To demonstrate that
theloading of external modules actually works, you need to perform
the following to load in thedefault ServiceFactory object. If you
click on the load service factory Toolbarbutton (second from
bottom), then another form should open, as shown in Figure 3.
Thefirst time that you run the application, the default settings
should be loaded and used, butyou can then change these through
this form.
The default classes provide a number of GUI interfaces for some
of the default services. Oneof the features of the licas package is
the fact that you can load in classes for jar files thatare not
part of the base package. They could have been built and compiled
separately, and
-
Licas Getting Started Guide V1.17
8
the licas_services.jar jar file is this sort of package. It does
extend the base licaspackage, but it has been built separately from
the main GUI and is plugged in more like aseparate module.
Figure 3. Service Factory Config form for updating service
details.
3.3 Adding or Changing Service Information
In this form, you load in new jar modules through the Service
Module / Managebutton. This opens another form that allows you to
browse, for example, to the defaultservices folder in the default
licasData folder that has been added as part of theinstallation. In
the services folder there, you should find the licas_services.jar
jar file. If notalready selected, select this file from the jar
file list to open it, as shown in the figure. Whenyou open this
file, the classes are parsed. For the default service factory or
jar factoryobjects, they are also checked, to determine if they
extend the related default abstract baseobjects. Any that do are
listed in the Select Service or Jar Factory comboboxes. Only one
class should be listed from the services package,
calledLicasServiceFactory. If you then click on the Select button,
the server viewshould change to show that a service factory has
been added. Refresh the view to make sure
-
Licas Getting Started Guide V1.17
9
that it has been added. You are also given the option to make
this the default factory and tosave the setting permanently to the
config file again. You should select yes to both ofthese. You can
perform exactly the same operation to load in a JarFactory object,
where adefault one is again provided. This allows for jar files to
be sent and saved on remotecomputers, to be automatically used to
load a service onto the server. More details aboutthis are given in
the other documentation, but to disable this, you can uncheck the
box andclick the related Select button. Note that any new services
that you provide will overwritethe default settings. If you then
delete your information again, the default setting will stillexist
and can be used.
4 Quick Start with the Instant Messenger
A default instant messenger service is provided as part of the
installation package. Thisshould allow you to see how easy it is to
run this sort of application and what the requiredoperations
are.
4.1 Load a message Service onto the Server
This is illustrated in Figure 2. You can load services onto a
server through the Service panel,for example. You need to start a
server running first and then click on the Server graphic toselect
it. You can then select a service to add to it. The Add Service to
Server panelshows what services are available and the Business
category includes a Messageservice. To use all of the default
settings, you only need to enter a service name and clickthe Load
Service button to load one. A confirmation message should be
displayed. Ifyou then refresh the view, you should see the service
with its related icon. If you right-clickon the icon and select the
GUI option, the default GUI for the service will then open.
4.2 Open a Service GUI Interface
After a service factory has been added, that object can provide
other default settings, suchas what the default GUI interfaces are.
If you right-click on your message service in theserver graphic, a
pop-up menu should show a GUI option. If you now click that option,
ifthere is a GUI associated with the service type, it will then
open. If there is no GUIassociated with the service, then you
should receive an error message. For the messageservice, a message
service GUI should open, as shown in Figure 4. The message service
formwill initially open with an empty address book. You can add
addresses by clicking on the Add
-
Licas Getting Started Guide V1.17
10
Address button. The addresses are saved in the default licasData
folder, as an XML file. Theaddress book is also shown in Figure
4.
Figure 4. New message service window, also with address book
form.
To use the system, each service needs to know the name, location
and password of theservice that it wants to call. The passwords
include a password for the server the serviceruns on and for the
service itself. This is the basic security provided by the system,
asotherwise any service is open to be invoked. However, if you do
not enter or change thepassword settings, then they default to anon
and so the address book opens with thesedefault values as well. The
user name is the name of the service. This is hercule in the
localcase and for the message service to be called, it is duke. The
server address is the IPaddress of the remote server. This requires
the ip number and also the port number. Notethat if the connection
is to a computer outside of the internal network, your firewall
mightneed to be configured to allow connections through it on a
particular port number. Yoursystem administrator might need to help
with this. After the address details have beenadded, you can click
the Add button to save them permanently and also write them to
theaddress book file. You can then click the Exit button to close
the address book form. Thenext section describes how to use this
application to pass messages to another messageservice, running at
some other location.
-
Licas Getting Started Guide V1.17
11
4.3 Using the Message Service GUI
If you perform the previous actions on two different computers,
you will setup the licasapplication and load in a message service
with its own GUI interface. You can then add thecorrect address to
call for each application and you will have an instant message
service.Figure 5 shows two instant message services started on
different computers. It also shows aconversation between these two
services.
Figure 5. Instant message services started on two different
computers.
To make a call, you select the address of the person you want to
send a message to. Youthen write the message in the Message to Send
text area and click the SendMessage button. The application runs a
thread that periodically checks for new messages.While this is
still only a demo application, this will check if new messages for
the specifiedpersons have been received and display them in the
Message Thread text area. If youare lucky, it will also display a
balloon tip each time a new message is received. You can alsoselect
a new address and click the Retrieve Messages button to
automatically updatea conversation. The other options allow you to
remove a conversation or save it to a file.
Note: please note that the application can freeze if the network
connections are notworking, so you will need to check this first.
If it does freeze, you will need to do a Ctlr-Alt-Delete to open up
the Task Manager and shut down the application manually.
-
Licas Getting Started Guide V1.17
12
5 File Service
The file service also has an interface, shown in Figure 6. You
can load a file service onto aserver and then open the GUI
interface, in the same way as for the message service. Theservice
is p2p, where it can be used both as the server to retrieve files
from or the client todownload files to.
Figure 6. File Service Interface.
You can Browse to set the local directory root folder. Only
folders and files underneaththat one will then be accessible. The
service will not backtrack to any parent of the root filepath.
After entering the details of the remote file service and server
that you want toinvoke, you click the Connect button to access the
remote service. You can then click onthe directory trees to change
folders. To copy a file, drag it from the remote directory treeto
anywhere in the local directory tree area. It should then be copied
to the specified localfolder. The large arrow button at the top
moves the path back to the parent of the currentpath, but not
beyond the specified root directories. The file transfer can also
be carried outin stages, using a smaller packet size, if the file
is very large. See the licasService andlicasUserGuide documents for
more details.
-
Licas Getting Started Guide V1.17
13
6 Web Service Service
This service can be used to periodically make method invocations
on Web Services, receivethe reply and then save or display the
replies that match a query condition. It is able todynamically
parse WSDL documents and make calls using the SOAP protocol. You
need toenter the call details by selecting the method to invoke and
entering the value for each fieldin the method, but the GUI
interface can interactively help with that. You can then also
setreply conditions. You might want to monitor the web service for
certain information, whereany reply needs to match a basic query
condition. This service can only parse up to twolevels of XML
nesting for a reply structure, but will make a general assessment
outside ofthat. You can also set a timer value to repeat the method
invocation and also choose to savethe successful replies to a file.
The interface is slightly more complicated to use, but isdescribed
in detail in the licasServices guide.
6.1.1Service Interface
The Web Service GUI interface is shown in Figure 7. It contains
3 panels, where the first isfor loading in a WSDL description of a
web service, the second is for selecting the method tocall, while
the third panel if for configuring the reply condition. Through the
Config panel,you would either browse to a WSDL file stored locally,
or enter a remote HTTP address toaccess an online one. If you then
click the Add button, it is permanently saved to a webservice
address book. You then Parse it to construct each method
description. The Querypanel can then be used to select the method
to invoke. You can dynamically select anymethod and enter specific
values for each parameter. The third panel, shown in Figure 7allows
you to enter the query condition that the reply must match to be
included. If you donot set a query condition, then all replies will
automatically be included. You can also specifya time period for
executing the call. The default value of None will mean that the
webservice is invoked only once. You can also browse to enter a
save file path, to where anyreplies that match the condition will
be saved. The reply query and conditions are thendisplayed below
the method call. If these are what you want to do, you can click
theExecute button to start the web service invocation process.
There are also config buttonsthat allow you to save the whole
config to a file and retrieve it again, including the methodvalues
and any reply condition.
-
Licas Getting Started Guide V1.17
14
Figure 7. Panel to enter the reply and execution conditions.
7 Running a Server
To run a server, simply run the batch or script file that is
included in the server folder. Thereis only one server version now,
with the server compiled under the mobile version (J2ME) ofjava.
This does not run with a java version greater than 1.6.0_24 and so
to run it, you needto install this version of java on your computer
first. You will then need to reference the JREbin/java command of
that version in the runServer batch file. Alternatively, it
isrelatively easy to add the licas jar to your own J2SE project.
All you need to include is aclass to start the server running. Copy
the Run_HttpServer class into your J2SE projectand start it from
there instead. The batch file opens a command box when the server
isrunning. It has not been configured to run directly on a mobile
device, but should run on anydesktop computer.
There is a log file, which is initialised with a configuration
file that can be found in theconfiguration folder and is called
logger.config. You can change this to change the log filesettings,
to write to different streams, etc. The log file used is the jlog2
package that is also
-
Licas Getting Started Guide V1.17
15
provided as open source. It can also be downloaded from the Web
site and is provided withfull documentation.
The server will naturally throw a number of exceptions or
messages during its operationthat can be ignored. This is because
the config file indicates to write out most errors andwarnings and
when calling the server remotely, it is possible to call a method
that does notexist. If the system appears to be working properly
then you do not need to worry aboutstartup exceptions that are
thrown.
8 Default Communication Mechanism
The default communication mechanism is an XML-RPC mechanism,
where any object getsparsed to or from XML and passed that way.
This is useful for service to service or automaticcommunications
and also communications that pass complex data objects. For a
basicclient-server architecture with a human as the client, it
might not be as useful, as it requiresprogramming to create the
message structure. If you use your own client however, with itsown
interfaces to the services, then this programming can be performed.
See the other licasdocuments for information on the MethodInfo
object and how it is used.
9 HTTP Web Server and RESTful Web Services
This section describes how to invoke the server through a more
traditional Browser call, orthrough a RESTful-style web service.
This might be slightly easier for a human client makinghis/her own
requests. In addition to the default XML-RPC method calling
mechanism, thelicas server can be invoked, both through an HTTP
address call from a browser, or through aRESTful-style message. It
is therefore a genuine web server, but with limited
capabilities.The main purpose of the licas system is for invoking
more complex methods on SOAservices, but direct file retrieval is
another option. This means that it is possible to retrieveHTML
pages through a web address only and display them in a Browser. For
this, the serveritself can be asked for files from its local file
system, as described next. It is also possible tomake a method call
or invocation through a String-based message that has a similar
formatto a RESTful web service.
9.1 Security Manager
As the GUI can now be used as a web server, to retrieve files
directly to a browser, a basicsecurity manager has been added. It
can currently only configure folder or directory
-
Licas Getting Started Guide V1.17
16
locations that are specified as legal or accessible from the
Internet. The security settings areavailable from the main toolbar
menu. For the web manager, there is a default web folderthat gets
created in the root DCS folder of the installation. This is always
present andaccessible. You then have the option to browse to any
other folder and add it. For the licassystem, any location typed
into the browser gets added to these default folders and if thefile
is present, it can be returned. Therefore, any location allows any
file or sub-folder tohave the same access rights.
9.2 HTTP Browser Request
For the licas system, any location typed into the Browser gets
added to the default webfolders location and if the file is
present, it can be returned. Therefore, any permittedlocation
allows any file or sub-folder to have the same access rights. The
HTTP requestaddress is then the server HTTP plus the additional
path from a default location. So, forexample:
http://192.168.2.2:8080/testHtml/default.html might access a folder
testHtml in the
default C:\DCS\web location and return the file C:\DCS\web
\testHtml\default.html. http://192.168.2.2:8080/paper.pdf might
access a pdf file in some location. If for
example, you add your documents folder to the list
(C:\Users\You\Documents) it canlook for a file called
C:\Users\You\Documents\paper.pdf.
When the server receives these types of message it firstly tries
to convert them into aMethodInfo object (default mechanism) and
therefore integrate them with the rest ofthe system. If the parsing
does not work, it tries a different parsing process that
includessimply looking for a file path to a local file on the
server.
9.3 RESTful-style Request
For REStful web services, the string format is similar to the
traditional one and therefore isless complex than a licas XML-RPC
MethodInfo object, that must be wrapped in XMLelements. It is
essentially a list of parameter names and values. The type checking
is mostlymissing, but some conversion to simple types is attempted
by the parsing. There are alsosome standard parameter names that
define specific parts of the method call. These are asfollows:
sn: this is used to define the name of the service to call, with
the value being the servicesuuid.
spw: this is the password for the server itself. pw: this is the
password for the service running on the server.
-
Licas Getting Started Guide V1.17
17
mn: this is the name of the method to invoke on the service. rt:
this is the type of object that should be returned and is optional.
If this parameter is
left out, a check on the return type is not made. The method
parameters have their own id and value, for example
p1=abc&p2=123. The
parameter name should not conflict with any of the existing
keywords. pts: this can be used to define the parameter type. If
declared, then a conversion to the
related type for each parameter is attempted, before the method
is matched to existingones. Each type is the fully qualified Java
object type. While still a String, the formatrequires Vector-like
brackets to contain the values in, for example:
pts=[java.lang.String| java.lang.Integer].
t: this is used to define a call timeout in seconds. It gets
converted to milliseconds bythe program, so specify here in seconds
only.
cid: this is used to specify a communication ID, for autonomous
services, for example.The last two entries might not typically be
used, but are added for completeness.
The message string separates each name-value pair with the &
symbol and each name andvalue with the = symbol. The following
message part:
sn=service1&spw=sp1&pw=anon&mn=getData&p1=abc&p2=def
Would therefore look for a service called service1, using sp1 as
the password to accessthe server and anon as the password to access
the service itself. It would then try to invokea method called
getData on the service that would have two parameters, which
areassigned the values abc and def respectively. To make a call you
also need to know theURL of the server, where you would write
something like the following in javascript:
url = http://127.0.0.1:8888;message =
sn=service1&spw=sp1&pw=anon&mn=getData&p1=abc&p2=def;request
= getHTTPXMLRequest();request.open("POST", url,
true);request.onreadystatechange =
methodReply;request.send(message);
The use of AJAX with asynchronous message calling would be the
preferred way to build aclient application and use RESTful-style
calls. So you can create an HTML page or similar anduse AJAX with
javascript to get the request object to make the call with. The
reply is then areturn string that can also be retrieved from the
request object.
-
Licas Getting Started Guide V1.17
18
9.4 Accessing a Service Directly through the Browser
You can also access a service directly through a Browser
address. When the server receivesa request and cannot parse it, it
firstly checks if it is a file. If not, it can also try to find
aservice with the name. The base licas Service class has a GET
method. This returns an emptystring as default, but extended
versions, such as the InformationService, can returntheir content
through the method. It is simply a pre-defined command that you
canprogram with. If the server receives a HTTP request that only
contains the service name asan additional parameter, it will try to
invoke the GET method on that service. If the methodhas been
programmed to return something, it gets displayed in the Browser
window asusual.
This can also be made dynamic or third-party, where a URL or
HTTP information servicetypically stores the URL address and not
static content. The call would therefore return thecontent of the
remote address that is being referenced by the service. This means
howeverthat the address in the Browser would be different to the
one that the content came from.Not sure if this is legal or not, so
care must be taken there, but it opens up possibilities ofproviding
dynamic content through a basic address. So something like:
http://192.168.2.2:8888/info
typed into the browser window, could return the content
referenced to by the infoservice. Note that if a HTML document is
stored locally, then there is only limitedprovision for the other
HTML parts. You can retrieve text and images directly, but not
theother content types. If the returned HTML page references other
remote addresseshowever, then these are always accessible. You
might also want to write an interface to theclient GUI that allows
you to easily add information to an information service, and so
on.
10 Running the Problem Solver
A problem solver package has been included as another separate
package. You can use thisalong with a test configuration script to
run problem solving tests over the system. This canalso be linked
to an existing network. The licasProblemSolver document describes
indetail how to use the problem solver. The jar file is stored in
the solver folder and therunTests batch or script file will run a
test as specified by the configuration. The GUI nowalso contains a
problem solving panel. It still tries to run a script, but the
script file can beconfigured through the GUI instead of
manually.
You can also start the client separately and then run the
problem solver batch file. Note thatthe file path in the test
script refers to a path relative to the client folder and not
the
-
Licas Getting Started Guide V1.17
19
problem solver batch file folder. If you keep the directories as
they were downloaded, thenthe data folders are in the parent
directory of both the problem solver and the
clientinstallations.
11 Additional Platform Requirements
The licas software has only one version of the source code,
adapted to work with the J2MECDC environment. This can be found on
the Oracle Java web site. Because of this, someadditional jars are
required for compiling the code. These are as follows:
The additional Java jar files have also been used:
axis-saaj-1.2.1.jar axis-jaxrpc-1.2.1.jar w3c-dom.jar jsr75_1.0.jar
jsr166.jar jsr172-1.0.jar
Other third part jars include: The mobile version also requires
a new lightweight parser and the one selected was the
nanoxml parser and the nanoxml-2.2.3.jar file. Then also
required are the HttpCore classes from apache for the Http server,
specifically
httpcore-4.1.4.jar and httpcore-nio-4.1.4.jar.
From other licas packages: the logging package jlog2.jar is
included. This is alsoreleased as an open source project itself.
The other licas jars are packaged into alicas_utils.jar package and
include the xml parser, internet connector, text handlingand other
features.
12 User Guides
There are a number of documents provided with the licas system.
The content of these is asfollows:
The licasGettingStarted guide (this document) describes the
differentinstallation options.
-
Licas Getting Started Guide V1.17
20
The licasArchitecture document gives a general overview of the
whole systemstructure. This describes how the service components
are connected in a network andhow to communicate with or link to
them.
The licasGui document describes the default GUI application that
is provided with thesystem. It is not open source, but is provided
for free, for testing or non-commercial use.The document describes
the different panels in the GUI and how to use them. You donot need
all of these to run a network or test the system, where the feature
set is nowquite rich.
The licasService document describes how you can add your own
services orbehaviours to the system. There is also a detailed
description of how to add an interfaceto a service, turning it into
a Cloud or SOA application.
The licasAdminGuide document describes the metadata structure
for describing theservices. This includes the internal metadata
describing the services functionality, ormetadata for service level
agreements and security. You only need to worry about themetadata
if you intend to test the security features or if you are
interested in testingsemantic processing. You do not need any
additional metadata to create a network andinvoke the services on
it.
The licasUserGuide document describes in detail some of the
programmingmethods for writing code using the system. You will need
to read this before you can doany programming. It is relatively
easy to use the system once you have grasped thegeneral idea of how
to add a service and then communicate with it.
The licasAuto guide gives details on how to use the Autonomic
Manager andconfigure scripts for it.
The licasProblemSolver document describes how to use the problem
solvingframework that has been written on-top of the base licas
packages.