web*Mathematica* 3.0 replicates the popular interactive Manipulate command for web pages. You can create web pages that contain various GUI features such as sliders, checkboxes, and popup menus, which control a calculation. All of this is done with the same concise syntax provided by Manipulate.

web*Mathematica* 3.0 comes with support for a more concise way to call to *Mathematica* from the web page. It also contains a library with a number of useful tags; these tags provide a number of valuable tools, such as redirecting flow as the web page is generated.

web*Mathematica* 3.0 allows long running or asynchronous computation jobs to be executed by a new queueing system.

Wolfram *Workbench* provides a significant number of features that help to accelerate the development of web*Mathematica* content. web*Mathematica* 3.0 integrates with Wolfram Workbench so that *Mathematica* code can be debugged as it runs in the server.

A new, highly configurable logging system helps to track different types of errors and to identify problems so that they can be resolved easily.

The Kernel Monitor has been significantly improved. It has new code for monitoring memory usage, running time, concurrent requests, and Java objects; this helps to improve the reliability of the server. It allows starting and stopping of individual kernel pools and canceling individual computations. Queued jobs are monitored for progress and errors.

web*Mathematica* 3.0 has improved the way that it interacts with the *Mathematica* kernel. It launches kernels as soon as the server starts and launches all kernels in parallel; this helps to improve the startup time for the server. It also has a number of new configuration tools, which limit the use of time and memory by the kernel; this helps to improve the reliability of the server. Kernels are automatically restarted in the background, so service remains uninterrupted.

Support for the classic web*Mathematica* technology has been dropped. This technology has been deprecated since web*Mathematica* 1.0.

A new configuration system based on a single XML file, MSPConfiguration.xml, is now supported. The name of the security configuration file is now called SecurityConfiguration.m.

The main new feature of web*Mathematica* 2.3 is support for *Mathematica* 5.2. There are also a number of internal improvements.

web*Mathematica* 2.2 comes with *Mathematica* 5.1. *Mathematica* 5.1 contains many important new features relevant to web operations, the most important being optimized binary I/O, graph and array plotting, and comprehensive string manipulation, matching, and searching capabilities.

The *Mathematica* *Web Services Package* allows *Mathematica* to call web services across the internet. Bundled with *Mathematica* 5.1, it provides a convenient way for web*Mathematica* to use a web service. This is an important way to extend the functionality of a web*Mathematica* website.

The main new feature of web*Mathematica* 2.1 is support for *Mathematica* 5.0. There are also a number of internal improvements and new examples.

web*Mathematica* 2.0 offered a number of new features and improvements. These are listed in this section.

web*Mathematica* 2.0 comes with *Mathematica* 4.2. *Mathematica* 4.2 has many features that are very relevant to web operations, the most important being the XML support. There are many examples in web*Mathematica* 2.0 that use XML features and XML applications such as MathML and SVG.

web*Mathematica* 2.0 has a simplified installation process that only requires the installation of the web*Mathematica* web application. There is a minimum of extra configuration that is required.

The documentation for web*Mathematica* is now shipped in HTML format and accessible from the web*Mathematica* front page. In addition many new examples have been added that demonstrate the new features.

A new HTML templating mechanism based on JSP custom tags has been added. This is now the preferred mechanism for using web*Mathematica*. The mechanism is easier to understand, it allows the use of other JSP custom tag libraries, and it facilitates the integration of web*Mathematica* into other server applications.

Support for the XML applications, MathML and SVG, is built into web*Mathematica* 2.0. In addition it can make use of the new XML processing tools that are available in *Mathematica* 4.2.

New functions are provided for catching the output of any *Mathematica* Message or Print statements. This can be useful for debugging or developing material.

New functions are provided to support HTTP file upload. This is an important way to submit information to a web*Mathematica* web server.

New functions are provided for saving material in an HTTP session stored in the server. This can be useful for saving results from one computation to another.

The mechanism for locating the security configuration file has changed from web*Mathematica* 1.0. Now the security configuration file is named in the pool configuration file and is located in a central configuration directory in webMathematica/WEB-INF/conf. Previously the configuration file could be loaded from anywhere on the *Mathematica* path.

This change was made because loading the security configuration from a single central location is more secure. Since the default security system of web*Mathematica* is very conservative, any sites that do not move their security files will run with a higher level of security than is expected. Security is discussed in a later section.

The default location MSP.conf has been moved into a central configuration directory in webMathematica/WEB-INF/conf. This leads to a great simplification in the setup of your server because it will look automatically in this location.