Dynamic websites that compute custom results and interact with users usually require difficult programming and show unreliable functionality. But webMathematica provides a start-to-finish solution that combines the computational power and knowledge of Mathematica with a powerful language for easy development and high-scalability deployment.
Key Advantages for Your OrganizationUse webMathematica content to draw more visitors to your website or to build an organization-wide computational-services infrastructure that lowers the initial investment and cost of ownership by streamlining deployment and maintenance of technical computing applications. webMathematica can even deliver applications to mobile devices so that your field personnel always have access to the latest tools.
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 hundreds of 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 for end users to buy, install, or maintain 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 ensures that every end user always has the most recent version. An additional advantage is that webMathematica functionality can be accessed from any computer or device that can access your website.
All that is needed to take advantage of webMathematica-enhanced sites is a web browser and, for some more-advanced features such as interactive 3D graphics, a Java runtime environment. All user interface elements are standard web GUI elements such as sliders, 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 WorkwebMathematica 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 DevelopersIntegration 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.
Wolfram Workbench is an integrated development environment that helps accelerate webMathematica content development. Its provides many tools, including server controls, a source code editor, debugging features such as breakpoints and tracking and stack-state checks, optimization profiling, and project grouping and tracking. Beyond streamlining your processes and simplifying troubleshooting, it can give you a deeper understanding of how your code runs, thereby speeding and improving the coding process.
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 Mathematica application packages, which 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 that is available to the public. You are able to see exactly how the code works and to do a full security audit if you choose.
Professionally Designed Web Page Templates
Included in webMathematica are professionally designed web page templates that you can modify for your needs, saving you design time.
Key Advantages of webMathematica for System IntegratorswebMathematica 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 and Microsoft IIS—as well as by application servers such as IBM WebSphere.
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.
For running large calculations distributed over several sessions, webMathematica can also be integrated with gridMathematica.
Full Separation of Server Administration and Content Generation
Server setup and content generation are completely separate so that system administrators and webmasters can set up a 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.