Documentation1. はじめに

 

webMathematica の技術

webMathematica はJavaサーブレットとJavaServer Pages (JSP)の2つの標準的なJavaの技術に基づいています.サーブレットは,一般に「サーブレットコンテナ」あるいは「サーブレットエンジン」と呼ばれるJava対応のWebサーバマシンで実行される特別のJavaのプログラムです.サーブレットコンテナにはさまざまの種類があり,これを使えるオペレーティングシステムやアーキテクチャも多様です.サーブレットコンテナはApache Webサーバのような他のWebサーバに統合することも可能です.

webMathematica の技術を使うと,Mathematica のコマンドによって機能強化されたHTMLページをサイトに加えることができます.このようなページにリクエストが送られると,Mathematica のコマンドが評価され,計算結果がページに置かれます.この一連の動作は,特別なタグを使い,標準的なJavaのテンプレートメカニズムのJavaServer Pages (JSP)によって行われます.これに関する例題は後のセクションを参照して下さい.

webMathematica の技術にはWebサーバのリクエスト/応答標準が使われています.入力はHTML形式,アプレット,JavaScript,Web対応のアプリケーション等から送ることができます. webMathematica のサーバにデータファイルを送って処理することもできます.出力はHTML,画像,Mathematica ノートブック,MathML,SVG,XML,PostScript,PDF等のさまざまな形式にすることができます.このユーザガイドでは,これらの技術について例題を交えて説明します.

webMathematicaMathematica を使って計算するための多様な方法に対応するMathematica コマンドの大規模なライブラリを提供します.強固で効率的かつ安全な方法でMathematica を呼ぶカーネルマネージャはwebMathematica の重要な要素です.このマネージャが1つあるいは複数のカーネルの入ったカーネルプールを管理し,これによって一度に複数のリクエストを処理します.webMathematica は下記の図に示したように動作しています.

ブラウザがwebMathematica のサーバにリクエストを送る.

webMathematica のサーバがプールからMathematica カーネルを獲得する.

Mathematica カーネルが入力パラメータで初期化され,計算し,結果をサーバに返す.

webMathematica のサーバがMathematica カーネルをプールに返す.

webMathematica のサーバが結果をブラウザに送る.

必要事項

webMathematica とMSPテクノロジーは,サイト開発に必要な知識を最小限にすることを目標にしています.つまり,HTMLとMathematica について知っているだけでよしとすることです.JavaやJavaScriptの特別な知識は必要ありません.webMathematica のもうひとつの目標は,サイトの運営,保守,設定をできるだけ便利にするためにサイト管理を自動化することです.webMathematica サイトの管理者にはインストール以外のJavaの知識は必要ありません.

webMathematica に必要な最低限の技術要素

サーブレット仕様2.2以上とJSP仕様1.2以上の両方をサポートするサーブレットコンテナ

JDK 1.2以上,Java 2バージョン1.4以上を推奨

上記コンポーネントをサポートするハードウェアとオペレーティングシステムの組合せは非常にたくさんあります.Mathematica を運営できるシステムのほとんどがwebMathematica サイトをサポートします.現在のところ,弊社ではIntel/Windows,Intel/Linux,Sun/Solaris,IBM-RISC/AIX,PA-RISC/HP-UX,Mac OS X,AMD64/Linux,Itanium/Linuxを完全サポートしています.この他のプラットフォームについてはWolfram Researchまでお問い合せください.webMathematica はWindows 95/98/NT/2000/XPのように多くのMicrosoftのオペレーティングシステム上で起動しますが,Windows 95/98はテストやデモンストレーションのみに使われた方がよいでしょう.サーブレットコンテナの設定方法については別のセクションで説明します.

お使いのサーブレットコンテナがJSP 1.1 APIしかサポートしない場合でも以前のwebMathematica技術を使ってwebMathematica を動かすことができます.この方法については後程説明します.