Tel: +44(0)1865 300 579
Fax: +44(0)1865 300 232

Programs for Programmers

webMathematica

webMathematica

 Mathematica prices

 

webMathematica is the clear choice for adding interactive computations to the web. This unique technology enables you to create websites that allow users to compute and visualize results directly from a web browser.

Based on the world's leading technical computing software and proven Java Servlet technology, webMathematica is fully compatible with Mathematica and state-of-the-art dynamic web systems.

Links to webMathematica examples
http://www.wolfram.com/products/webmathematica/examples
http://www.wolfram.com/products/webmathematica/examples/examples.html

What is webMathematica?

webMathematica adds interactive calculations and visualization to a website by integrating Mathematica with the latest web server technology.

Try webUnRiskWith webMathematica you can: Use templates to give your website a consistent, professional appearance. Adjust your calculations interactively. Use familiar web interface elements such as buttons, drop-down lists, and text fields to control computations. Select among multiple output formats. webMathematica custom tags integrate strongly with the standard Java web technologies Java Servlet and JavaServer Pages. Generate and display graphics and visualizations dynamically. Client technologies such as JavaScript and Java applets work seamlessly with webMathematica.

 

How is webMathematica different from Mathematica?

webMathematica and Mathematica have the same underlying engine, but they provide fundamentally different user interfaces and are aimed at different types of users.

webMathematica offers access to specific Mathematica applications through a web browser or other web clients. The standard interface provided requires little training to use effectively. In most cases, users neither have to be familiar with Mathematica nor need to know they are using Mathematica.

In some sense, one can consider Mathematica a development environment for webMathematica sites. As an example, Mathematica is suitable for working on code that models some physical process--code that can then be placed into a webMathematica site to enable people to run the model and use its results for their regular work.

Key Advantages

  • Advantages for Your Organization

webMathematica solves the problem of how to create and distribute solutions to technical computing problems quickly in today's networked environment.

You can develop new applications rapidly without requiring developers to learn new skills or to write a lot of Java code for mathematical algorithms, graphics, and input and output.

 Developers do not have to worry about session management and error recovery. webMathematica takes care of all aspects of development, letting your R&D personnel concentrate on solutions, not the implementation details.

webMathematica lets you build, test, and deploy specialized web services for computation and visualization at a faster pace and a lower cost than ever before.
 
Use webMathematica content to draw more visitors to your corporate website or to build an enterprisewide computational services infrastructure that lowers the initial investment and cost of ownership by streamlining deployment and maintenance of technical computing applications. webMathematica even enables you to deliver applications to mobile devices so that your field personnel always have access to the latest tools.

This section gives details on some of the specific benefits that webMathematica offers to your organization and your developers for integration with your IT system.

The three most immediate technical advantages for your organization as a whole are:

Computational Ability

 webMathematica provides a large library of Mathematica commands for web development. This allows you to build technical computing web services, including numerical, symbolic, and graphical applications that solve your daily technical computing problems quickly and easily. Also, Mathematica can import and export over 40 data, sound, and image formats, enabling users to process data online.

Server-Based Computation

There is no software to buy, install, or maintain in order to use webMathematica sites. All that end users need is a web browser and, for some more-advanced features such as interactive 3D graphics, a Java runtime environment. This leads to significant savings over buying and maintaining user software and also makes sure that every end user always has the most recent version. An additional advantage is that websites enhanced by webMathematica can be accessed from any computer or web-enabled device in your organization.

Ease of Use

All that is needed to take advantage of webMathematica-enhanced sites is a web browser. All user interface elements are standard web GUI elements such as text fields, check boxes, and drop-down lists. This enables you to cut training time because your employees no longer have to learn different software applications. In many cases, no Mathematica experience is required.

  • Advantages for Development

Solutions in minutes, not months, of development work

webMathematica makes all of the functionality of Mathematica available for website development. This easy access to the latest high-level computational algorithms as well as to powerful data analysis, graphics, and typesetting functions means that you can concentrate on solving your problems, not on programming solutions yourself. Regardless of the size of the application you are creating, developing it in webMathematica will cut your development time and make your application more robust as well as easier to use and maintain.

Key advantages of webMathematica for developers include:

Integration of Mathematica and HTML 

webMathematica allows a site to deliver HTML pages that are enhanced by the addition of Mathematica commands. When a request is made for one of these pages, the Mathematica commands are evaluated and the computed result is inserted into the page. This is done with JavaServer Pages (JSP), a standard Java technology, making use of custom tags. After the initial setup, all that you need to write webMathematica applications is a basic knowledge of HTML and Mathematica.

Standard Server Technology

webMathematica is based on two standard Java technologies: Java Servlet and JSP. Servlets are special Java programs that run in a Java-enabled web server, which is typically called a "servlet container" (or sometimes a "servlet engine"). There are many different types of servlet containers that will run on many different operating systems and architectures. They can also be integrated into other web servers, such as the Apache web server.

Connection Technology

Other software can readily be incorporated into webMathematica with MathLink technology. It is particularly easy to connect Java into Mathematica with J/Link, providing many exciting possibilities for webMathematica development.


Mathematica Application Packages

webMathematica works seamlessly with the Mathematica application packages. They allow you to implement additional specialized functionality without months of development time.

Source Code

webMathematica ships with the source code both for J/Link and for the webMathematica technology available to the public. You are able to see exactly how the code works and to do a full security audit if you choose to do so.

Professionally Designed Web Page Templates

Included in webMathematica are professionally designed web page templates that you can modify for your needs, thus saving you design time.

  • Advantages for System Integration

 webMathematica is built on platform-independent standards such as HTML, Java, and Java Servlet technology.

For example, Java Servlet technology is supported, either natively or through plug-in servlet containers, by all modern web servers--including Apache, Microsoft IIS, and iPlanet--as well as by application servers such as IBM WebSphere.

The main advantages of webMathematica for system integrators include:

Easy Integration with Other Software

Other software can be incorporated readily into webMathematica with MathLink technology. For example, you can call functionality in the server to examine HTTP headers, create and inspect cookies, or use JDBC for database connectivity.

Full Separation of Server Administration and Content Generation

The server setup and content generation are completely separate so that system administrators and webmasters can set up the system once and then have others populate it. Content generators, be they engineers, writers, or instructors, do not have to understand or even have access to the underlying engine.

webMathematica Kernel Manager

An important part of webMathematica is the kernel manager, which calls Mathematica in a robust, efficient, and secure manner. The manager maintains pools of one or more Mathematica kernels; by maintaining more than one kernel, the manager can process more than one request at a time. Each pool takes care of launching and initializing its kernels. When a request is received for a computation, a kernel process is utilized to process the request and, upon completion, is returned to its pool. If any computation exceeds a preset amount of time, the kernel process is shut down and restarted. When the server is shut down, all of the kernel processes are also shut down. These features maximize the performance and stability of the server.

Additionally, Parallel Computing Toolkit offers the ability to run large calculations distributed over several sessions.

Technology

webMathematica integrates effortlessly with standard web technologies. You choose, install, and configure the web server, Java, and servlet container of your choice on the supported platform of your choice.

You can then add the webMathematica application, add Mathematica, and edit the webMathematica configuration files accordingly to fit your needs. This enables you to use proven web technology and familiar tools such as Apache or IIS to manage your website.

  • webMathematica Pages

webMathematica is based on two standard Java technologies: Java Servlets and JavaServer Pages (JSP). Servlets are special Java programs that run in a Java-enabled web server, which is typically called a "servlet container" (or sometimes a "servlet engine"). There are many different types of servlet containers that can run on many different operating systems and architectures. The servlet containers can also be integrated into other web servers, such as the Apache web server.

webMathematica allows a site to deliver HTML pages that are enhanced by the addition of Mathematica commands. When a request is made for one of these pages, the Mathematica commands are evaluated and the computed result is inserted into the page. This is done with a standard Java technology, JSP, making use of custom tags.

webMathematica technology uses the request/response standard followed by web servers. Input can come from HTML forms, applets, JavaScript, and web-enabled applications. It is also possible to send data files to a webMathematica server for processing. Output can use many different formats such as HTML, images, Mathematica notebooks, MathML, SVG, XML, PostScript, and PDF. The webMathematica User Guide includes examples that show how to produce these formats.

webMathematica provides a large library of Mathematica commands to take care of the many possible ways of working with Mathematica computations on the web. An important part of webMathematica is the kernel manager, which calls Mathematica in a robust, efficient, and secure manner. The manager maintains a pool of one or more Mathematica kernels; by maintaining more than one kernel, the manager can process more than one request at a time.

  • Specifications

Constituent Technology Included in webMathematica

  • The webMathematica kernel manager, providing support for launching and shutting down Mathematica kernels and for configuring and monitoring the site as it operates

Documentation and Examples Included in webMathematica

  • webMathematica User Guide in notebook and PDF formats
  • Getting Started with webMathematica 2 (installation card for Japanese version)
  • Example webMathematica pages
  • Sample configuration files
  • Sample applets
  • Sample web pages
  • Sample images
  • Mathematica, C, and Java source code for all constituent technology except Mathematica 5.2 and LiveGraphics3D

Compatibility

Please refer to the compatibility chart for specific version compatibility.

  • Client Software
    Firefox, Internet Explorer, Netscape Communicator, Mozilla, Safari, OmniWeb
  • Server Technologies
    Java Servlets, JSP, Apache, PHP
  • Supported Java Versions
    Minimum version: Java 1.4
    Recommended: Java 5.0 or later
  • Servlet Engines
    Apache Tomcat, Macromedia JRun, Sun ONE, Resin, BEA WebLogic Server, JBoss, IBM WebSphere, Oracle 9i application server, and ServletExec
  • Web Servers with Tested Compatibility
    Apache HTTP server, Microsoft IIS
  • Supported Server Systems
    Any system supporting Mathematica 5.2 and Java 1.4 or later
     

webMathematica Compatibility Chart

Compatible Client Software
Software Provider Version Platform
Firefox The Mozilla Organization 1.0.2, 1.0.3, 1.5 Windows, Mac OS X, Unix/Linux
Internet Explorer Microsoft 5.3, 6.0 Windows, Mac OS X
Mozilla The Mozilla Organization 1.6, 1.7 Windows, Mac OS X, Unix/Linux
Netscape Communicator Netscape 7.02, 8.1 Windows, Mac OS X, Unix/Linux
OmniWeb The Omni Group 5.0 Mac OS X 10.3+
Safari Apple 1.2 Mac OS X 10.3+
Compatible Server Technology
Software Provider Version
Java Servlet/JavaServer Pages (JSP) Sun Microsystems 1.2/2.3
Apache features The Apache Software Foundation n/a
PHP The Apache Software Foundation 4.3.1
Supported Java Versions
Provider Version Platform
Sun Microsystems 1.4.1, 1.4.2, 5.0 Windows, Linux x86/x86-64bit/Itanium 2, Sun Solaris
Apple Computer 1.4.2 Mac OS X
HP 1.4.2 HP-UX, HP Tru64 Unix
SGI 1.4.1 SGI IRIX
IBM 1.4.2, 5.0 IBM AIX
Compatible Web Servers
Software Provider Version Platform
Apache HTTP Server The Apache Software Foundation 1.3.31, 2.0.48 Windows, Mac OS X, Linux
IIS Microsoft 5.1 Windows
Compatible Servlet Engines
Software Provider Version Platforms
Apache Tomcat The Apache Software Foundation 4.1.31, 5.0.28, 5.5.15 Windows/Mac OS X/Unix/Linux
Macromedia JRun Macromedia 4.0 Windows/Mac OS X/Unix/Linux
Sun ONE Application Server Sun Microsystems 7.0 Windows
Resin Caucho Technology 3.0.16 Windows/Mac OS X/Unix/Linux
BEA WebLogic Server BEA Systems 7.0 SP2 Windows
JBoss JBoss Organization 4.0.0DR2 Windows/Mac OS X
IBM WebSphere IBM 5.1 Express Windows
Oracle 9i Application Server Oracle 9iAS Windows
ServletExec New Atlanta Communications 5.0 AS Windows
Compatible Server Systems
Software Provider Version Platforms
Windows Microsoft NT 4.0/2000/XP Intel
Mac OS X Apple Computer 10.3, 10.4 PowerPC, Intel x86-64bit
Red Hat Linux Red Hat 9.0 Intel x86
Red Hat Enterprise Linux Red Hat 3 Intel x86, x86-64bit, Itanium 2
Red Hat Enterprise Linux Red Hat 2.1 Itanium 2
Red Hat Fedora Core Red Hat 2, 3 Intel x86
Solaris Sun Microsystems 8.0, 9.0, 10.0 SPARC, x86-64bit
HP-UX HP 11.11 PA-RISC
AIX IBM 5.1.0 IBM RISC
SuSE Linux Professional SuSE 9.0, 9.1, 9.2 Intel x86, x86-64bit
SuSE Linux Enterprise Server SuSE 9 Intel x86, x86-64bit, Itanium 2
HP Tru64 Unix HP 5.1B Alpha
IRIX SGI 6.5 MIPS
Miscellaneous
  • Security Features
    Full compatibility with standard web-server security such as firewalls, trusted hosts, and HTTP-specific features; Mathematica-specific security to prevent execution of system-specific commands
  • Performance Overhead
    Start-up overhead removed by Mathematica session caching, linear performance as load increases, multiple Mathematica licenses supported (suitable for multiprocessor machines), minimal overhead over normal Mathematica computation time

New Features in webMathematica 2

 The latest version of webMathematica brings you new web capabilities, simplified installation, easier integration into standard server applications, and further enhancements to the web's leading enterprise calculation engine.

Support for Mathematica 5.2
webMathematica comes with Mathematica 5.2. This version takes advantage of the latest web-development options and performance improvements in Mathematica 5.2, including support for 64-bit-enhanced arbitrary-precision numerics, multithreading support for numerical linear algebra, major vectorization speed-ups, and RSS and vCard import, as well as enhanced charts and visualizations.

Database Connectivity
DatabaseLink provides Mathematica with a powerful, ready-made solution for integrating with any standard database. Integrated with Mathematica 5.2, it provides a convenient bridge between databases and webMathematica. One particularly useful feature for webMathematica is that DatabaseLink contains the HSQL Database Engine (HSQLDB), a lightweight database. This means that users who do not already have a database or who want to experiment with using one do not have to set one up; instead, they can use HSQLDB.

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

Authoring System Preview
webMathematica Author is an authoring system shipped with webMathematica that aids in the creation and development of webMathematica material.

Simple Installation
webMathematica has a simple installation process that requires minimal configuration beyond the installation of the webMathematica web application.

Extended Documentation and Examples
The documentation for webMathematica is now shipped in HTML, PDF, and notebook formats and is accessible from the webMathematica front page. Many examples have been added to demonstrate new features.

New Templating Mechanism Based on JSP Custom Tags
HTML templating can now be done with JSP (JavaServer Pages) custom tags. This mechanism is easy to understand, allows the use of other JSP custom tag libraries, and facilitates the integration of webMathematica into other server applications.

MathML, SVG, and XML Support
Support for MathML and SVG is built into webMathematica, allowing you to describe equations and graphics in standard XML formats that can be read by browsers.

Support for Catching Message and Print Output
New functions are provided for catching the output of any Mathematica Message or Print statements. This feature can be useful for debugging or developing material.

Support for HTTP File Upload
New functions are provided to support HTTP file upload, allowing users to submit data to a webMathematica web server.

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

HTML Formatting Functions
New functions are provided for formatting results such as tables into HTML.

NEW in Version 2.3

Bringing together the technology of webMathematica and Mathematica 5.2, webMathematica 2.3 introduces many enhancements relevant to development and web operations, including:

  • 64-bit-enhanced arbitrary-precision numerics
  • Multithreading support for numerical linear algebra
  • Major vectorization speed-ups
  • RSS and vCard import
  • Enhanced charts and visualizations


Versions and Licensing of webMathematica

webMathematica Professional
is intended for the development of sophisticated intranet and internet sites. It offers commercial institutions convenient and easy-to-use web access to specialized computations for employees or premium customers.

 
       webMathematica Amateur
is intended for those who wish to showcase their work over the web. Its use is subject to certain restrictions. webMathematica Amateur is available to Premier Service subscribers free of charge.

 

 
  Professional Amateur
Software and Technology
Connection technology Yes Yes
Updates Free downloads Free downloads
License Restrictions
Licensed for deployment Yes Yes
Licensed for development1 No time limit Up to six months
Intranet or subscription use possible Yes No
webMathematica banner Not required Required
Free, unrestricted access over the internet Not required Required
Licensed for general Mathematica access No2 No
Support
Technical support for web technology Yes3 No

 

1"Licensed for development" means that only those persons actively involved in creating the webMathematica site can access the site.

2License configurations for general Mathematica access are available. Contact us for details.

3Customer has to have a valid Premier Service contract for webMathematica.


Mathematica products available from Polyhedron Software      Wolfram Mathematica Certified Reseller