next up previous contents
Next: The solve Service Method Up: The OSSolverService Previous: Solving Problems Locally   Contents


Solving Problems Remotely with Web Services

In many cases the client machine may be a ``weak client'' and using a more powerful machine to solve a hard optimization instance is required. Indeed, one of the major purposes of Optimization Services is to facilitate optimization in a distributed environment. We now provide examples that illustrate using the OSSolverService executable to call a remote solver service. By remote solver service we mean a solver service that is called using Web Services. The OS implementation of the solver service uses Apache Tomcat. See tomcat.apache.org. The Web Service running on the server is a Java program based on Apache Axis. See ws.apache.org/axis. This is described in greater detail in Section 11. This Web Service is called OSSolverService.jws. It is not necessary to use the Tomcat/Axis combination.

See Figure 17 for an illustration of this process. The client machine uses OSSolverService executable to call one of the six service methods, e.g. solve. The information such as the problem instance in OSiL format and solver options in OSoL format are packaged into a SOAP envelope and sent to the server. The server is running the Java Web Service OSSolverService.jws. This Java program running in the Tomcat Java Servlet container implements the six service methods. If a solve or send request is sent to the server from the client, an optimization problem must be solved. The Java solver service solves the optimization instance by calling the OSSolverService on the server. So there is an OSSolverService on the client that calls the Web Service OSSolverService.jws that in turn calls the executable OSSolverService on the server. The Java solver service passes options to the local OSSolverService such as!

where the OSiL file is located and where to write the solution result.

Figure 17: A remote call to solve.
Image OSSolverService

In the following sections we illustrate each of the six service methods.



Subsections
next up previous contents
Next: The solve Service Method Up: The OSSolverService Previous: Solving Problems Locally   Contents
Kipp Martin 2008-01-16