Sophisticated mathlets and Internet accessible mathematical services sometimes require server-side support from a computer algebra system, and the JavaMath API provides the necessary infrastructure. In this article, the use of JavaMath is explained via an example and ideas for new types of web service are discussed.
There are many Web pages with interactive mathematical content, but most such pages are limited to interactivity which can be achieved entirely at the browser side. The few applets, such as various CECM interfaces, the Tübingen Parallel Gröbner Bases service [link no longer exists, 12/10/04], the Mathematica-based Integrator and Mathserv, which have employed sophisticated interaction with a compute engine on a server, have generally not promoted their techniques in the form of a published API (application programming interface). The one early attempt we are aware of to present these techniques as a reusable library is the Interactive Mathematics Server WIMS. Characteristic of all these applications, using CGI scripts has allowed only batch- rather than session-based interaction with a compute engine. Therefore, the only way to perform a multi-step calculation is to represent intermediate results in the CGI script and feed them back into the compute engine when it is restarted.
In 2001 the situation has begun to improve with the release of WebMathematica and JavaMath. Both tools employ Java Servlet Technology to make routine the construction of server interactive mathematical Web resources. The sequel is a guide to the use of JavaMath once it is installed on the server and an explanation, in practical terms, of the issues encountered when constructing mathematical web services which make a system such as JavaMath necessary.
For information on getting started with JavaMath refer to the installation instructions and the on-line tutorial. To learn about the technology behind JavaMath refer to this report on the architecture of JavaMath.