Mathematical Server for Symbolic Solving Services
Installation instructions
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:
- SymbolicMathServer
- bin (launcher and auxiliary scripts)
- java (main program implementation of the symbolic service)
- bin (initial java code sources for symbolic services)
- lib (java libraries for symbolic services)
- maple (maple packages, used in symbolic services)
- mappings (mapping files for different math format conversions)
- xslt (XSLT stylesheets for Content MathML to OpenMath conversion)
- ant (ant build files, used to configure symbolic math server)
- axis-tools (miscellaneous tools to be used by Apache Axis, while running symbolic math services)
- samples
- configfiles (various samples of symbolic services configuration files)
- install_scripts (examples of installation and deinstallation scripts for different symbolic services)
- msdl* (stores MSDL files (Mathematical Service Description Language) for each of installed symbolic services)
- wsdd* (stores WSDD files (Web Service Deployment Descriptors)for each of installed symbolic services)
* those directories will be created automatically by symbolic math server after installing the first symbolic service.
All of provided scripts fall into three categories:
- provisioning scripts
- deprovisioning scripts
- auxiliary scripts
to index
Configuration of a web server for running Symbolic Mathematical Services
-
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
-
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:
- Full name or URL of configuration file for symbolic math service(s)
- URL of Mathematical Broker on which you are going to register your service(s)
- 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.
- 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:
- It requires the file mathserver_setenv.sh in the same directory ($MONET_SYMBOLIC_SERVER)
- It requires the file reload_axis.sh in the same directory ($MONET_SYMBOLIC_SERVER)
- 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:
- Java classes for services, described in your configuration file. These classes automatically will be put into Axis WEB-INF/class directory
- Web services deployment descriptors (WSDD file) for each math service in $MONET_SYMBOLIC_SERVER/wsdd directory.
- Math service description language (MSDL files) for each math service in $MONET_SYMBOLIC_SERVER/msdl directory.
- 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:
- deinstallation with the old configuration file
- re-installation with a new configuration file
Ex:
- $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
- $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:
- msdl description of each listed in a file service
- services interface
- 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:
- service current configuration
- content of service mathematical arguments
- Maple expression to evaluate
- generated executable Maple code
- output from Maple
- answer from service or error messages.
to index