webMathematica >
webMathematica Tutorial

Introduction to webMathematica

This document provides a guide to the installation and operation of webMathematica and the development of a webMathematica site.
This introduction considers the reasons for using Mathematica in a website, examines a few areas in which you might use webMathematica, briefly discusses the underlying technology, and outlines the requirements for running webMathematica.

What Is webMathematica?

webMathematica adds interactive calculations and visualization to a website by integrating Mathematica with the latest web server technology. The diagram below shows a view of a webMathematica site, http://library.wolfram.com/explorations/webUnrisk/index.html.
Click for copyable input
This site gives a web browser interface to financial calculations and visualizations that are driven by Mathematica. In this site users are taken through a sequence of web pages in which they select different input parameters and submit data to build up a sequence of results.

Why Use Mathematica in a Website?

There are various important features that Mathematica can offer to a website, including computation, an interactive programming language, connectivity, the Mathematica front end, and enhanced support for MathML.

Computation

Mathematica contains a large collection of functions for computing in many areas, such as numerics, symbolics, and graphics. webMathematica makes all of this functionality available over the web.
Many web technologies, so powerful in many areas, are not well suited to scientific computation; it is simply not their main focus. Mathematica, on the other hand, is very suitable for scientific computation and can provide this on the web.

Interactive Programming Language

Mathematica contains a high-level, interactive, functional programming language. It lends itself to rapid prototyping but can scale up to large intensive computations. These are also advantages for web content generation, since large sites can be developed with less programmer effort.

Connectivity

Mathematica connects readily to external services, which may be provided by languages such as Java, C, Fortran, or Perl. These services can provide a data source for computations and also take the results from Mathematica. It is particularly easy to connect to Java via J/Link, a toolkit for integrating Java into Mathematica. More information on J/Link can be found at http://www.wolfram.com/solutions/mathlink/jlink.

The Mathematica Front End

The Mathematica notebook user interface (front end) has long provided the premium mechanism for working with the Mathematica kernel. Now, webMathematica provides an alternative interface via the web. Even in a web environment, the front end is extremely useful. It is used to typeset mathematics and render two- and three-dimensional graphical objects into images. In addition, the front end can generate notebook documents on the server to send to the client.

Mathematical Typesetting and MathML

Mathematica is a premium system for interactive mathematical typesetting. It is also a powerful system for working with MathML, which is designed to allow the use and reuse of mathematical and scientific content on the web and by other applications. These features are a valuable component of webMathematica, which works well with the increasing number of tools that are available for MathML.

Why a Web Interface?

Some of the benefits that a web interface brings to Mathematica include ease of use and delivery, as well as the large number of web development professionals and the many web technologies.

Ease of Use

To use a webMathematica site, all you need is a web browser. User interfaces can use standard web GUI elements, such as text fields, checkboxes, and drop-down lists. This reduces training time because users no longer have to learn different software applications. In many cases, no Mathematica experience is required.

Server-Based Configuration

There is no software to buy, install, or maintain in order to use webMathematica sites. All end-users need is a web browser and, for advanced features like interactive 3D graphics, a Java Runtime Environment. This leads to significant savings over buying and maintaining user software and also ensures that every end-user always has the most recent version. An additional advantage is that webMathematica-enhanced websites can be accessed from many different types of computers.

Web Technologies

There are many people who are experts in working with servers and developing dynamic websites. They can choose from the many web technologies and tools to develop Mathematica-related sites. Thus, development is easier and the applications they build are more powerful.