webMathematica is the clear choice for adding interactive calculations to the web. This unique technology enables you to create websites that allow users to compute and visualise results directly from a web browser.
webMathematica adds interactive calculations and visualisation to a website by integrating Mathematica with the latest web server technology.
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.
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:
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. To learn more about the benefits and features of Mathematica, see the Mathematica product pages.
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.
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.
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.
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.
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.