The MONET Mahematical broker is a web service for brokerage of distributed mathematical services. It is a part of MONET project
The present prototype release offers the following operations:
First three operations are used mostly by mathematical web services.
The rest operations are more useful for mathematical service users.
Directory Broker contains source of java classes for the broker prototype & some auxiliary stuff.
The broker is a web service itself, so it should be deployed as a web application.
Subdirectory "ClientCode" consists of two subdirectories
Subdirectory "web" contains 2 java classes for calling the broker web service from math services and from mathservices users.
BrokerCallFromService:
In this case mathservices behave as clients for Broker web service.
Usage:
java BrokerCallFromService <URL for broker service> [options] <arguments>
where
options | arguments | description |
---|---|---|
-register|-reg | service MSDL | register mathservice |
-modify|-mod | service name, service MSDL | modify mathservice | -deregister|-dereg | service name | deregister mathservice |
Here is an example of calling broker web service for mathservice registration:
java BrokerCallFromService http://ptibonum.scl.csd.uwo.ca:16661/axis/services/Broker -register http://www.orcca.on.ca/MONET/samples/DiffService.msdl
BrokerCallFromClient:
In this case mathservices behave as clients for Broker web service.
Usage:
java BrokerCallFromClient <URL for broker service> [options] <arguments>
where
options | arguments | description |
---|---|---|
-findall | - | list all mathservices registered on a broker |
-findbyname | service name | find a specific mathservice by name | -findbypref | problem description reference | find mathservices by problem description reference| |
-findbypref | problem description reference | find mathservices by problem description reference| |
-findbypkey | keyword | to find mathservices corresponding to the keyword | |
none | <servicename> [Math arguments in OpenMath Format] | call a specified mathservice with provided math arguments. call flow: client -> broker -> service -> broker -> client |
-directcall | <servicename> [Math arguments in OpenMath Format] | Gets URI of specified mathservice from Broker registration list, and then this service will be called directly from that URI with provided math arguments. As opposite to previous type the call flow is devided into 2 steps: 1. client -> broker 2. client -> service -> client |
java BrokerCallFromClient http://ptibonum:16661/axis/services/Broker -findbykey diff
java BrokerCallFromClient http://ptibonum:16661/axis/services/Broker DiffService http://www.orcca.on.ca/MONET/samples/Test-sin_2x+3y.xml http://www.orcca.on.ca/MONET/samples/OM_x.xml
Subdirectory "local" contains 4 java classes for calling the broker java class
for registration/deregistration/modification of mathservices or calling specified mathservice.
Those java classes were created essentially for testing purposed of broker engine and perform
the same tasks that broker provides as a web application.
Contents:
java ModifyOnBroker IntService http://www.orcca.on.ca/MONET/samples/IntService.msdl
java CallMathService NumIntService http://www.orcca.on.ca/MONET/samples/arg1.xml http://www.orcca.on.ca/MONET/samples/arg2.xml http://www.orcca.on.ca/MONET/samples/arg3.xml http://www.orcca.on.ca/MONET/samples/arg4.xml