Mathematical Server for Symbolic Solving Services

Installation instructions


MONET project

ORCCA, The University of Western Ontario, 2003


Enclosed software provides tools for supporting the life cycle of MONET symbolic mathematical services, which include


Index


System and software requirements


to index

Directory structure in the distribution code

The binary distribution of Symbolic Mathematical Services consists of the following files and directory layout:


* those directories will be created automatically by symbolic math server after installing the first symbolic service.

All of provided scripts fall into three categories:


to index

Configuration of a web server for running Symbolic Mathematical Services

  1. Download the distribution archive SymbolicMathServer.zip and unpack it to a convenient location. We recommend to create an environment variable MONET_SYMBOLIC_SERVER, assigned to that location.

    Ex: export MONET_SYMBOLIC_SERVER=$HOME/MONET/SymbolicMathServer

  2. Run script $MONET_SYMBOLIC_SERVER/bin/mathserver_init.sh. It will configure Tomcat and Axis for later installation of symbolic mathematical services.

    Usually in order to changes take effect you may need to reload Apache Axis web application. You can do it manually after running the script or run it with option -ra or -reloadaxis. For more information about restarting Axis see "Reloading Axis web application" in the associated documentation.

    Note: this script has to be run only once, while you prepare your web server to install math services.

to index

Installation of symbolic mathematical services

Run script $MONET_SYMBOLIC_SERVER/bin/mathservice_install.sh with the following arguments:
  1. Full name or URL of configuration file for symbolic math service(s)
  2. URL of Mathematical Broker on which you are going to register your service(s)
  3. Apache Tomcat port number. [optional]
    By default Apache Tomcat is running on port 8080. If your web server configuration is different, provide the port number as the third argument to the installation script.
  4. Full path or alias for the command line interface of your Waterloo Maple(R) installation. [optional]
    We recommend to assign the alias maple to command-line version of Maple, installed on your system.
    Ex: alias maple="/usr/local/maple"
    In this case the forth argument may be omitted.

Ex:$MONET_SYMBOLIC_SERVER/bin/mathservice_init.sh http://www.orcca.on.ca/MONET/intServiceConfig.xml http://ptibonum.scl.csd.uwo.ca:16661/axis/services/Broker 8080 maple

What you have to know about this script:

  1. It requires the file mathserver_setenv.sh in the same directory ($MONET_SYMBOLIC_SERVER)
  2. It requires the file reload_axis.sh in the same directory ($MONET_SYMBOLIC_SERVER)
  3. By default it will set the location of XSLT stylesheet for Content MathML to OpenMath transformation as $MONET_SYMBOLIC_SERVER/xslt/cmmltoom.xsl, provided with a distribution bundle.
    If you want to use a different stylesheet for this conversion, change the value of variable CMML2OMXSLT to the location of Content MathML to OpenMath XSLT stylesheet that you prefer to use.

After running this script you will get:

  1. Java classes for services, described in your configuration file. These classes automatically will be put into Axis WEB-INF/class directory
  2. Web services deployment descriptors (WSDD file) for each math service in $MONET_SYMBOLIC_SERVER/wsdd directory.
  3. Math service description language (MSDL files) for each math service in $MONET_SYMBOLIC_SERVER/msdl directory.
  4. All services will be registered on an specified math broker.

Important: After installing math services make sure you do not move the configuration file from the location that you have specified during their installation

to index

Deinstallation of symbolic mathematical services

When you decide to uninstall some of your math services, you have to find a corresponding configuration file and run a script $MONET_SYMBOLIC_SERVER/bin/mathservice_uninstall.sh with the same parameters as were used for their installation (except for a path to Maple software).

For example:
$MONET_SYMBOLIC_SERVER/bin/mathservice_unistall.sh http://www.orcca.on.ca/MONET/diffServiceConfig.xml http://ptibonum.scl.csd.uwo.ca:16661/axis/services/Broker

It will deregister symbolic services from specified math broker, undeploy them from your web server and delete all corresponding java classes, WSDD and MSDD files.

After deinstallation of math services the corresponding configuration file can be moved to the other location or deleted.


to index

Updating of symbolic mathematical services

Since each symbolic service is represented by a service configuration file, update of service consists in changing content of that file.
So the procedure of updating for a service includes two steps:

  1. deinstallation with the old configuration file
  2. re-installation with a new configuration file

Ex:

  1. $MONET_SYMBOLIC_SERVER/bin/mathservice_unistall.sh http://www.orcca.on.ca/MONET/diffServiceConfig.xml http://ptibonum.scl.csd.uwo.ca:16661/axis/services/Broker
  2. $MONET_SYMBOLIC_SERVER/bin/mathservice_install.sh http://www.orcca.on.ca/MONET/diffServiceConfig-new.xml http://ptibonum.scl.csd.uwo.ca:16661/axis/services/Broker

to index

Removing mathematical server configuration for from a web server

To remove the configuration of symbolic server from your web server, run a script $MONET_SYMBOLIC_SERVER/mathserver_unistall.sh
It will remove corresponding libraries from axis web application.
Note: before removing symbolic server configuration make sure all of symbolic services are deinstalled.
to index

Configuration file for symbolic mathematical services

The configuration file is a only complete descriptor of math service.
Each math service(s) configuration file consists of three mandatory parts:

  1. msdl description of each listed in a file service
  2. services interface
  3. services implementation.
The structure of a configuration file is following:
 <mathServer>
  <msdl>
   <service name="sevice_1">
     {complete msdl for a service 1}
   </service>
   . . .
   <service name="sevice_n">
    {complete msdl for a service n}
   </service>
 </msdl>

 <services>
  <service name="service_1" call="function_call_for_service_1"/>
   . . .
  <service name="service_n" call="function_call_for_service_n"/>
 </services>

 <implementation language = "maple">
  {Maple implementation for each service}
 </implementation>
</mathServer>

An example of configuration file can be found at
http://www.orcca.on.ca/MONET/samples/simpleServiceConfig.xml

to index

Interacting with clients

  • Interface for a symbolic mathematical service client

    Mathematical symbolic service provides a client-side toolkit, downloadable from
    http://www.orcca.on.ca/MONET/downloads/Client.zip. This distribution contains command line and GUI versions of software, providing client interface to symbolic mathematical services. For more information about using client interface to symbolic services see Client Interface user guide.

  • Monitoring service calls

    Symbolic services are configured in a way that all requests and response flowing between clients and services are monitored by Axis SOAP Monitor.
    Axis provides an applet for this feature, usually hosted at http://<host>:<port>/axis/SOAPMonitor.

    Note: if the SOAP Monitor on your system is disabled, you will not be able to deploy symbolic services.
    For more information about enabling Axis SOAP monitor see Axis SOAP Monitor installation instructions. You can find all nesesaary data to set up the SOAP Monitor in $MONET_SYMBOLIC_SERVER/axis_tools (those are java classes and service deployment descriptors).

  • Logging service calls

    Every time when symbolic service gets called by a client a log file will be written to Apache Tomcat temporary directory (usually it is $CATALINA_HOME/temp).
    File will be named mathserviceXXX.log and will contains the following information about service call:

    to index