is based on two standard Java technologies: Java Servlet and JavaServer Pages (JSPs). Servlets are special Java programs that run in a Java-enabled web server, which is typically called a "servlet container" (or sometimes a "servlet engine"). There are many different types of servlet containers that will run on many different operating systems and architectures. They can also be integrated into other web servers, such as the Apache web server.
allows a site to deliver HTML pages that are enhanced by the addition of Mathematica
commands. When a request is made for one of these pages, the Mathematica
commands are evaluated and the computed result is placed in the page. This is done with the standard Java templating mechanism, JavaServer Pages, making use of a special tags; examples of these are given in a later section
server for processing. Output can be many different formats such as HTML, images, Mathematica
notebooks, MathML, SVG, XML, PostScript, and PDF. This user guide includes examples of working with all these different technologies.
provides a large library of Mathematica
commands to handle the many possible ways of working with Mathematica
computations. An important part of webMathematica
is the kernel manager that calls Mathematica
in a robust, efficient, and secure manner. The manager maintains a pool of one or more Mathematica
kernels and, in this way, can process more than one request at a time. An overview of the workings of a webMathematica
site is shown here.
Browser sends request to webMathematica
server acquires Mathematica
kernel from the pool.
kernel is initialized with input parameters, carries out calculations, and returns result to server.
server returns Mathematica
kernel to the pool.
server returns result to browser.
The aim of webMathematica
and MSP technology is to reduce the amount of extra knowledge required for developing a site to a minimum. In practice, this means knowing something about HTML and Mathematica
also aims to automate the management of the site to make running, maintenance, and configuration as convenient as possible. Administrators of webMathematica
sites do not need any knowledge of Java beyond its installation.
The minimum technical components for webMathematica
A servlet container supporting both the Servlet Specification 2.4 (or higher) and JSP Specification 2.0 (or higher)
A JDK 1.2 (or higher); Java 2 Version 1.4 (or higher) is recommended
There are many different combinations of hardware and operating systems that support these components. Most systems that run Mathematica
will support webMathematica
. At present Intel/Windows, Intel/Linux, Mac OS X, and Sun/Solaris are fully supported, http://www.wolfram.com/products/mathematica/platforms/
. Setting up the servlet container is discussed in a later section