Client Interface for Symbolic Solving Services

User guide


MONET project

ORCCA, The University of Western Ontario, 2003


Enclosed software provides client-side toolkit for calling MONET Symbolic Solver Services, implemented at The University of Western Ontario (UWO).

NOTE: This client interface is specific to Symbolic Solver Service, implemented at UWO and may not work properly with other Symbolic Solver Services.

Index


System and software requirements


to index

Directory layout

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


* this directory will be created automatically after running compilation ant task.
to index

Installation and code compilation


** In provided examples of client calls it is assumed that class files are located in $CLIENT_HOME/class directory.
If you choose the destination directory to be different than $CLIENT_HOME/class, make sure you change contents of example script files.

to index

Symbolic Solver Services call patterns

Symbolic Solver Services can be called in three different ways:

1. Directly from client

This may be used when client knows the URI of the service

Call pattern:
   [client] -(request)-> [service] -(response)-> [client]

API:
   MapleServiceClient <service URI> [Math arguments in OpenMath format]

Ex:
   java MapleServiceClient http://ptibonum:16661/axis/services/DiffService http://www.orcca.on.ca/MONET/samples/Test-sin_2x+3y.xml http://www.orcca.on.ca/MONET/samples/OM_x.xml

2. Through broker.

Client's request with a mathematical problem will be passed to Math Broker, Math Broker in its turn will find and call an appropriate Math Service, Math Service will return response to Broker, Math Broker send the result back to client.

Call pattern:
    [client] -(request)-> [broker] -(request)-> [service] -(response)-> [broker] -(response)-> [client]

API:
   java BrokerCallFromClient <broker URI> <service name> [Math arguments in OpenMath format]

Ex:
    java BrokerCallFromClient http://ptibonum:16661/axis/services/IndefIntService http://www.orcca.on.ca/MONET/samples/Test-sin_2x+3y.xml http://www.orcca.on.ca/MONET/samples/OM_x.xml

3. Directly from client via broker

This type of call is used when client does not know the exact location of symbolic service, but wants to contact with this service directly (not passing request/response through broker) In this case client may call broker for consulting purpose: to get URI of required service. In case if broker finds a corresponding math service, it will send the information about service location back to client. Then client will call math service, using the obtained service URI.

Call pattern:
    [client] -(service name)-> [broker] -(service URL)-> [client]
[client] -(request)-> [service] -(response)-> [client]

API:
   java BrokerCallFromClient -directcall <broker URI> <service name> [Math arguments in OpenMath format]

Ex:
    java BrokerCallFromClient -directcall http://ptibonum.scl.csd.uwo.ca:16661/axis/services/Broker DefIntService http://www.orcca.on.ca/MONET/samples/OM_x%5e(-3).xml http://www.orcca.on.ca/MONET/OM_x.xml http://www.orcca.on.ca/MONET/OM_-1.xml http://www.orcca.on.ca/MONET/OM_1.xml


to index

Graphical User Interface for MONET Symbolic Services

Symbolic Services Client side toolkit provides graphical user interface, combining features of all client interfaces, listed above.
This GUI helps to enter matharguments file locations, browse results and even save them to files.
Te Graphical Client Environment also allows user to specify the input and output formats for arguments and results of Symbolic Services. By default all mathematical arguments to services are encoded in OpenMath xml-based format. Likewise output from math service is OpenMath. But user may wish to require the format of result to be TeX or Presentation MathML. Math Format panel allows to specify those formats.
Note: for a moment this feature is only available in case of direct call to services.

The general view is shown on figure 1.



Figure 1.

To invoke this GUI for client you may call java class MapleServiceClientGUI or run script $CLIENT_HOME/GUIClient.sh


to index

Examples

Distribution bundle of Symbolic Services Client code includes several exapmles, wrapped into scripts files, which allows to user to omit specification of classpath every time example is called. Those script files are
to index