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.
webMathematica adds interactive calculations and visualizations 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.
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.
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.
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.
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.
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 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.
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.
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.
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.
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.