webMathematica 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.
webMathematica 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.
Wolfram Workbench provides a significant number of features that help to accelerate the development of webMathematica content. webMathematica 3.0 integrates with Wolfram Workbench so that Mathematica code can be debugged as it runs in the server.
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.
webMathematica 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.
webMathematica 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.
DatabaseLink provides Mathematica with an industrial-strength, ready-made solution for integrating Mathematica with any standard SQL database. Integrated with Mathematica 5.1, it provides a convenient bridge between SQL databases and webMathematica. One particularly useful feature for webMathematica is that DatabaseLink contains the HSQL Database Engine (HSQLDB), a lightweight database. This means that if you do not already have a database or want to experiment with using one, you do not have to set one up; instead you can use HSQLDB.
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 webMathematica to use a web service. This is an important way to extend the functionality of a webMathematica website.
webMathematica 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 webMathematica 2.0 that use XML features and XML applications such as MathML and SVG.
A new HTML templating mechanism based on JSP custom tags has been added. This is now the preferred mechanism for using webMathematica. The mechanism is easier to understand, it allows the use of other JSP custom tag libraries, and it facilitates the integration of webMathematica into other server applications.
New functions are provided to support HTTP file upload. This is an important way to submit information to a webMathematica 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.
New functions are provided for formatting results into HTML.
The mechanism for locating the security configuration file has changed from webMathematica 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 webMathematica 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.