webMathematica 3.0

Brenton Bostick

Wolfram Research, Inc.

What is webMathematica?

Write web pages using Mathematica

Mathematica runs on server

Seamlessly combine Mathematica code with HTML

All mathematical and visualization functions instantly available

Writing a web page

Very Easy

<html>
<head><title>IMUC2009 Demo</title></head>
<body>
The date is: <br/>
<msp:evaluate>
   DateList[]
</msp:evaluate>
</body>
</html>

Interactive Tools

Manipulate for the web

Same syntax as Manipulate command in front end

<msp:evaluate>
MSPManipulate[
  PythagorasTree[ang, depth, 400, 350],
  {{ang, 60. Degree}, 18. Degree, 72. Degree},
  {{depth, 8}, 1, 11, 1}
]
</msp:evaluate>

Expression Language and Custom Tags

More concise way of calling Mathematica

msp:evaluate() EL function

Returns Java object

<html>
<head><title>IMUC2009 Demo</title></head>
<body>
The date is: <br/>
   ${msp:evaluate('DateList[]')}
</body>
</html>

Queuing System

Long-running jobs

Asynchronous jobs

<msp:evaluateQueued> tag

Support for Wolfram Workbench

Many features accelerate development of webMathematica content

With Wolfram Workbench, Mathematica code debugged as it runs on server

Web Services

Simple web services

<msp:evaluate>
   DateList[]
</msp:evaluate>

WSDL web services using Mathematica

Example Hello.m

BeginPackage[“HelloWorld`”, {“WebServicesServer`”}]

HelloWorld::usage = “Simple HelloWorld web service example.”

Begin[“`Private`”]

HelloWorld[] := “Hello!  The current date is “ <> ToString[Date[]]

ServiceReturn[HelloWorld] = _String

End[]

EndPackage[]

New Logging System

Useful for tracking down problems

Industry standard log4j

Highly configurable

Fine-grain concepts lke INFO, DEBUG, ERROR

Improved Kernel Monitor

Monitor diagnostics

Memory usage
CPU usage
Threads
Lifecycle events

Manage kernels

Cancel evaluations
Restart pools

Improved Kernel Interaction

Dedicated threads
	Decreased startup time
	Improved performance

Limit memory, CPU usage

Automatic handling of crashes

Several bug fixes

Thank you!

webMathematica and Wolfram Workbench Tutorial
Friday 1:00 pm

brenton@wolfram.com