Top Banner
5/18/2018 LicasGettingStartedGuide-slidepdf.com http://slidepdf.com/reader/full/licas-getting-started-guide 1/12  LICAS GETTING STARTED GUIDE April 19, 2017 1 Licas Getting Started Guide Version 1.21 [A guide on how to install and quickly run an application on the licas framework] Kieran Greer, Email: [email protected]. http://distributedcomputingsystems.co.uk/licas.aspx
12

Licas Getting Started Guide

Nov 04, 2015

Download

Documents

A guide on how to install and quickly run an application on the licas framework.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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.