webMathematica Interactive mathematics in the webbrowser New Version: webMathematica 3.5 Compatible with Mathematica 12 What's New in Mathematica 12 » webMathematica is based on Mathematica and 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 is online availabe in English. The This email address is being protected from spambots. You need JavaScript enabled to view it. can help with services. Technology Web Examples Key Technology 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 and other formats. Security 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 Specifications Constituent Technology Included in webMathematica Mathematica The webMathematica web application, a special configuration of files arranged to run inside a servlet container (includes J/Link, webMathematica packages, and various Java class files) The webMathematica kernel manager, providing support for launching and shutting down Mathematica kernels and for configuring and monitoring the site as it operates LiveGraphics3D, a Java applet for displaying and manipulating three-dimensional graphics Documentation and Examples Included in webMathematica webMathematica User Guide Example webMathematica pages and templates Sample configuration files Sample applets Sample web pages Sample images Mathematica and Java source code for all constituent technology except Mathematica 7 and LiveGraphics3D Compatibility Server Technologies Java Servlets and JSP Supported Java Versions Minimum version: Java 1.4 Recommended: Java 5.0 or later Servlet Engines Any engine compatible with Servlet 2.4 or 2.5, such as Apache Tomcat. Web Servers with Tested Compatibility Apache HTTP server, Microsoft IIS Supported Server Systems Any system supporting Mathematica 7 and Java 1.4 or later 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 Webpage Processing How webMathematica Processes a Request 1. Make Request The browser sends an HTTP request to the web server. The request references a particular webMathematica page and includes variables and their values. Then the web server performs any preprocessing steps, such as authentication, and forwards the request to webMathematica. 2. Acquire Kernel webMathematica's kernel manager acquires a Mathematica kernel for the request from a pool of preinitialized kernels. Any variables and values are sent to this kernel. 3. Process Page The Mathematica kernel loads the web page and processes any webMathematica tags. The kernel builds and then returns the result. 4. Release Kernel webMathematica accepts the response and adds all of the necessary HTTP headers for return to the browser. webMathematica then clears any temporary settings in the Mathematica kernel and releases the kernel to its pool of available kernels. 5. Return Result The web server performs any postprocessing steps and returns an HTML response which may use applets, plug-ins, or other features of dynamic HTML to the browser. Alternatively, the response can be in some other format, such as MathML, TeX, or a Mathematica notebook. Web Examples and Websites Wolfram Alpha Real live examples with webMathematica Websites, that use webMathematica webUnrisk Example Live Examples webMatheamtica at the Wolfram Research website