webMathematica 3 implements revolutionary capabilities—including instant interactivity—for server-based web deployment. Included too are a range of enhancements for optimizing high-traffic sites.
Interactive Tools
webMathematica 3 replicates the automated instant interactivity Manipulate
command for webpages. You can create webpages that contain various GUI
features such as sliders, checkboxes and popup menus, which control
calculations. All of this is done with the same concise syntax provided
by Manipulate.
Expression Language and Custom Tags
webMathematica 3 allows more-concise calls to Mathematica
from webpages. It also contains a library with a number of useful tags that
provide valuable tools, such as redirecting flow as the webpage is generated.
Queuing System
webMathematica 3 has a new queuing system for long-running or asynchronous computation
jobs.
Support for Wolfram Workbench
Wolfram Workbench provides a
significant number of features that help accelerate the development
of webMathematica content. webMathematica 3 integrates
with Wolfram Workbench so that Mathematica code can be
debugged as it runs in the server.
Web Services
webMathematica 3 enables you to provide REST and SOAP web services
that use Mathematica.
New Logging System
A new, highly configurable logging system helps to track different types
of errors and to identify problems so that they can be resolved easily.
Improved Kernel Monitor
The Kernel Monitor has been significantly improved. It has new code for
monitoring memory usage, run time, concurrent requests and Java
objects, to help improve server reliability. It allows
starting and stopping of individual kernel pools and canceling
individual computations. Queued jobs are monitored for progress and
errors.
Improved Kernel Interaction
webMathematica 3 interacts with the
Mathematica kernel in improved ways. It launches kernels as soon as the server
starts and launches all kernels in parallel, which helps improve server
startup time. It also has a number of new configuration
tools that can limit kernels' use of time and memory and improve server reliability. Kernels are automatically
restarted in the background, so service remains uninterrupted.