webMathematica

Tom Wickham-Jones
Wolfram Research Inc.

June 2001

はじめに
Introduction

webMathematica はMathematica を使った動的なWebのコンテンツが作れるようにする新しい技術で，Mathematica とWebのサーバを統合します．

webMathematica is a new technology that allows the generation of dynamic web content with Mathematica. It integrates Mathematica with a web server.

なぜWeb上でMathematica なのか．
Why Mathematica on the Web?

多分Web上でMathematica を使う主な理由は計算のためでしょう．このシステムには様々な分野の計算のための関数コレクションがあり，これらすべての機能がWeb上で使用できるようになるのです．これは特に重要です．というのも，多くのWeb技術は，いろいろな分野で大変強力ではありますが，科学計算には適していない場合が多いからです．科学計算は今までのWeb技術の主眼ではなかったのです．Mathematica は科学計算に非常に適しています．Mathematica がWebを介して提供できるのはこの科学計算です．

Probably the major reason for using Mathematica over the web is for computation. The system contains a large collection of functions for calculating in many areas and all of this functionality becomes available over the web. This is particularly important since many web technologies, so powerful in many areas, are not very suited to scientific computation, it is simply not their main focus. Mathematica is very suitable for scientific computation, and this is what it can provide for web computations.

Mathematica は高レベルのインタラクティブな関数型プログラミング言語を有しています．高速プロトタイプの実行が可能でありながら，大規模集中計算にも理想的です．これらの利点をWebのコンテンツ生成に利用することでサイト開発の時間を大幅に削減することができます．

Mathematica contains a high level, interactive, functional programming language. It lends itself to rapid prototyping but can scale up to large intensive computations. These benefits carry over to web content generation where they can significantly reduce the time spent developing the site.

Mathematica はMathLink による，複雑ではあるけれど強力な接続技術を長い間誇ってきましたが，この度J/Link の使用によってMathematica との接続が劇的に簡単になりました．この技術によってMathematica はWebの計算への統合にますます相応しくなりました．

Mathematica has long held a powerful, though complex, connection technology in MathLink. Now connecting to Mathematica has been dramatically simplified with the use of J/Link. This technology makes Mathematica more suitable for integrating into web computation.

Mathematica のフロントエンドはMathematica のカーネルを使うための最高のメカニズムを長期間に渡って提供してきました．Webのインフラストラクチャにはフロントエンドは関係ないと思われる方もあるかもしれません．しかし，実際にはフロントエンドとWebのブラウザは，別々の互いに補い合うMathematica の使用法を提供します．ブラウザは簡単でよりインタラクティブなインターフェースを提供します．ブラウザの使い方をすでにご存知の方にはスタートアップの時間の節約になるでしょう．フロントエンドの使用により，Mathematica をよりパワフルに使うことができます．ブラウザから始めてフロントエンドに移行できるようにMathematica とインタラクトする2つの方法を結合することも可能です．

The Mathematica front end has long provided the premium mechanism for working with the Mathematica kernel. One might expect that the front end has no place in a web infrastructure. In fact the front end and a browser give different and complimentary ways to use Mathematica. The latter gives a simpler more interactive interface;  people already know how to use browsers so the start-up time is reduced. The front end ultimately gives a more powerful way to work with Mathematica. It is possible to combine the two ways of interacting with Mathematica so that you can start in a browser and move to working in the front end.

Mathematica はインタラクティブな数式のタイプセットにおいて最高のシステムとして知られています．しかし，MathMLを使うための強力なシステムであるという面はあまり知られていません．MathMLは数学的な，あるいは科学的なコンテンツがWeb上や他のアプリケーションで使用・再使用できるように設計されています．MathMLがますます重要になるにつれ，MathMLが使えるというMathematica の特徴もまた重要さを増しています．

Mathematica is known to be a premium system for interactive mathematical typesetting. What is not so well known is that it is a powerful system for working with MathML. MathML is designed to allow the use and re-use of mathematical and scientific content on the web,and by other applications. As MathML becomes increasingly important it is very advantageous that Mathematica works well with MathML.

webMathematica はMathematica の多くの機能と特徴をWebを介して使用することを可能にします．

webMathematica allows the many features and benefits of Mathematica to be used over the web.

なぜWeb のインターフェースなのか．
Why a Web Interface?

WebのインターフェースでMathematica を使うと，Webの典型的な利点の多くが生かされます．

A web interface brings many of its typical benefits to working with Mathematica.

Webのブラウザは最も一般的なタイプのソフトウェアですから，Webのインターフェース使用法のトレーニングが必要な人は少ないでしょう．

A web browser is the most common type of software that people learn so people need less training to use a web interface.

サーバや動的なWebサイトの開発に熟達した人はたくさんいます．Webで使う技術やツールもたくさんあります．このような人は好みのツールを使ってMathematica 関連のWebサイトを開発することができます．これによってMathematica を使って構築するWebアプリケーションの作成がより簡単でよりパワフルになります．

There are many people who are expert in developing servers and dynamic web sites. There are many technologies and tools for working with the web. These people will be able to use their favourite tools to develop Mathematica related web sites. This makes the web applications that people build with Mathematica easier to build and more powerful.

Webの主な利点の1つは配信が簡単な点です．特別なソフトウェアをインストールする必要がなく，アクセスは標準的な技術を使って管理・計測することができます．

A major benefit of the web is the ease of delivery, there is no need for installation of special software and access can be controlled and measured with standard technologies.

webMathematica では，Web技術の多くの機能や利点がMathematica と共に使えます．

webMathematica allows the many features and benefits of web technology to be used with Mathematica.

潜在的な使用分野
Potential Areas of Use

個々の科学者や研究者が特殊な計算のためのパッケージを開発することがよくあります．これはMathematica を使っても，他の計算ツールを使っても行うことができます．しかし，これらのツールを同僚にも使ってもらいたい場合に問題が起こることがしばしばあります．同僚が必要なコンポーネントを使った経験がなかったり，アクセスできないといった理由で，せっかく作った計算用のパッケージを共有するのが難しくなるのです．webMathematica ならこの問題を解決できます．Mathematica での計算を開発した人は，会社のWebイントラネットを通してインタラクティブな計算を配信するサイトを構築することができます．サイトに接続してこれを使う人にMathematica の知識は必要ありません．実際，Mathematica を使っているということを知る必要さえないのです．さらに，Webでアクセスしているので，特別に個々のマシンにソフトウェアをインストールしたり管理したりする必要がありません．また，企業が自社のイントラネットよりも広範囲の人を対象とした計算サービスのサイトを開発することができるようになります．例えば，特別な顧客のためのカスタム計算機を提供できるようになります．

Individual scientists and researchers often develop packages for special calculations, this might be done with Mathematica or with other computational tools. If they want to give these tools to their colleagues they often have a problem, their colleagues may not have access to or experience with the necessary components, and so it can be hard to share this computational work. webMathematica solves this problem. People who develop calculations in Mathematica can build sites to deliver interactive calculations over the company web intranet. The people who connect to and use these sites don't have to know anything about Mathematica, in fact they don't need to know they are even using Mathematica. In addition, since they are using web access there are no special requirements for installing and administering software on individual machines. Finally, companies can develop sites that provide computational services to a broader audience than just their own intranet, for example, they can provide custom calculators for special customers.

高校，大学，その他の教育機関では，webMathematica を使って高度にインタラクティブな教材を含む洗練された講座を配信することができます．

Schools, universities, and other educational establishments can use webMathematica to deliver sophisticated courses over  the web, including highly interactive courseware.

著作家や出版者は，インタラクティブな技術関連書籍，解説書，雑誌等をwebMathematica を使ってWeb上で出版することができます．

Authors and publishers can publish live interactive technical books, supplements and journals over the web with webMathematica.

webMathematica は，研究者，科学者，芸術家に，インタラクティブなWebの計算機を使ってMathematica ベースの仕事を展示する方法を提供します．

webMathematica provides a way for researchers, scientists, and artists to showcase their Mathematica-based work using interactive web calculators.

設計目標
Design Goals

webMathematica は以下の設計目標に従って開発されました．

webMathematica was developed according the following design goals:

技術標準：標準的な技術を使うことでwebMathematica の開発や使用が簡単になる．
Technology Standards:   using standard technology will make webMathematica faster to develop and easier to use.

Mathematica との一貫性：webMathematica は既存のMathematica アプリケーションや技術と共に使え，また異なったプラットフォームやオペレーティングシステムで使えなければならない．
Consistency with Mathematica:  webMathematica should work with existing Mathematica applications and technology, it should also be available on different platforms and operating systems.

スケーラビリティ：webMathematica は大きなサイトでも小さなサイトでも使えなければならない．
Scalability:  webMathematica should work for both small and large sites.

互換性：webMathematica は多くの異なったクライアントやサーバ技術と互換性がなければならない． 
Compatibility:  webMathematica should be compatible with many different client and server technologies.

カスタマイズ可能：ユーザが自分自身のWebのソリューションとしてwebMathematica を部分的に使えなければならない．
Customizable:  users should be able to use parts of webMathematica technology in their own web solutions.

動的なWeb技術
Dynamic Web Technology

Webは素材のリクエストを待っているたくさんのプログラムとサーバによって構成されています．リクエストはクライアントから送られます．クライアントはサーバから情報を収集しようとしているユーザが操作していることがよくあります．サーバは通常HTTPをサポートするアプリケーションを提供します．一般的なサーバとしてApache Web ServerやMicrosoft Internet Information Server(IIS)があります．これとは異なるクラスのサーバとしてアプリケーションサーバがあります．アプリケーションサーバはデータベースや他のツールへの接続だけでなくHTTPもサポートする大規模なプログラムです．クライアントのソフトウェアは多くの場合，Internet Explorer，Netscape Navigator， MozillaのようなWebブラウザです．Webサイトでインタラクティブな計算をサポートするためには，何らかの動的技術を提供することが必要です．これはクライアントでサポートしてもサーバでサポートしても構いません．

The web is formed from a large collection of servers, programs that wait for requests for material. Requests are sent from clients which are often operated by users who want to collect information from a server. Typically, a server provides an application that supports the Hyper Text Transfer Protocol (HTTP). Common servers include the Apache Web Server and Microsoft Internet Information Server. Another class of server are application servers; these are large programs that support HTTP as well as connections to data bases and other tools. The client software will very often  be a web browser such as Internet Explorer, Netscape Navigator, or Mozilla. In order for a web site to support interactive computation it needs to provide some dynamic technology, this can be supported either by the client or the server.

サーバから動的なコンテンツを提供する技術には，CGIスクリプト，Active Server Page(ASP)，それにサーバのプラグイン等があります．加えて，Java Servlet，Java Server Page(JSP)のようなJavaベースのものもあります．後者はすべてのプラットフォームで使え，ほとんどのWeb技術で統合することができる動的なWebページのための標準技術です．webMathematica はJava Servletに基づいています．

There are several technologies that provide dynamic content from a server; examples are CGI scripting, Active Server Pages, and Server Plug-ins. In addition there are some Java based technologies such as Java Servlets and Java Server Pages. The latter are both standard technologies for dynamic web content, available on all platforms, which can be integrated with most web technologies. webMathematica is based on Java Servlets.

動的な動作をサポートするクライアント技術はたくさんあります．そのすべての技術が，一緒に使えるように統合できます．HTML形式，JavaScript，アプレット，プラグイン，Active-Xコントロール等がそれに当たります．webMathematica はこれらのすべてのクライアント技術と一緒に使うことができます．

There is a number of client technologies that support dynamic behaviour. All of these technologies can be integrated to work with each other. This includes HTML forms, JavaScript, applets, plug-ins and Active-X controls. webMathematica can work with all of these client technologies.

Mathematica サーバページ
Mathematica Server Pages

Mathematica サーバページ(MSP)技術はwebMathematica の基礎になっています．MSPはサーブレットと呼ばれる標準的なJavaの技術に基づいています．サーブレットはWebのサーバマシンで動く特別なJavaのプログラムです．大抵の場合，サポートはサーブレットコンテナ（あるいはサーブレットエンジン）と呼ばれる別のプログラムが提供します．これがWebサーバとの接続を行います．基本的に，最近のすべてのWebのサーバがネイティブに，あるいはプラグインのサーブレットコンテナを介してサーブレットをサポートしています．これらのサーバにはApache，MicrosoftのIISとPWS， Netscape Enterprise Server， iPlanet，それにアプリケーションサーバ（IBMのWebSphere等）があります．

Mathematica Server Pages (MSP) technology is the foundation of webMathematica. It is based on a standard Java technology called servlets. Servlets are special Java programs that run on a web server machine. Typically support is provided by a separate program called a servlet container (or sometimes a "servlet engine") which connects to the web server. Essentially all modern web servers support servlets natively or through a plug-in servlet container. This includes Apache, Microsoft's IIS and PWS, Netscape Enterprise Server, iPlanet, and application servers  (such as IBM WebSphere).

MSP技術はサイトに Mathematica のコマンドを加え，パワーアップしたHTMLページを置けるようにします．MSPスクリプトと呼ばれるこれらのページのどれかがリクエストされると，ページ上のすべてのMathematica のコマンドが評価され，計算結果がページに置かれます．

MSP technology allows a site to contain  HTML pages which are enhanced by the addition of Mathematica commands. When a request is made for one of these pages, which are called MSP scripts, any Mathematica commands are evaluated and the computed result is placed in the page.

必要なもの
Requirements

MSP技術の目的はサイト開発に要する知識を必要最低限にすること，具体的にはHTMLとMathematica のみにすることです．また，サイトの運行，保守，設定を自動化し，可能な限り便利にすることです．

The aim of MSP technology is to reduce the amount of extra knowledge required for developing a site to a minimum; in practice this means knowing about HTML and Mathematica. It also aims to automate the management of the site to make running, maintenance and configuration as convenient as possible.

知識
Knowledge

MSPのインストールと保守にはWebサイトのインストールと保守の経験が必要です．Javaランタイムのインストール以外にJavaの知識は必要ありません．

In order to install and maintain an MSP site it is necessary that you have experience of installing and maintaining a web site. You do not need any special knowledge of Java other than installing a Java runtime.

MSPスクリプトを書くためにはHTMLの経験が必要です．また，Mathematica の経験もある程度必要です．JavaとJavaScriptの知識は必要ありません．

In order to write MSP scripts it is necessary to have experience of HTML. You will also need some experience with Mathematica. You do not need any knowledge of Java and you do not need to know about JavaScript.

設備
Equipment

webMathematica サイトを実行するために最低限必要な技術要素は以下の通りです．

In order to run a webMathematica site the minimum technical components are:

○  2.0 API以上をサポートするサーブレットコンテナ
    A Servlet Container supporting the 2.0 API (or higher)

○ Javaランタイム環境 (JRE) 1.1 以上
    A Java Runtime Environment (JRE) 1.1 (or higher)

これらの要素をサポートするハードウェアとオペレーティングシステムの組合せには様々なものがありますが，Mathematica を起動できるほとんどのシステムがMSPサイトをサポートするといってよいでしょう．現在のところ，私達はIntel/Windows， Intel/Linux，Sun/Solarisのサポートに焦点を当てています．他のプラットフォームで起動することも可能ですが，前者と同レベルの有効性はまだ確認していません．

There are many different combinations of hardware and operating systems that support these components, it is probably fair to say that most systems that run Mathematica will support an MSP site. At present we are  focusing on support for Intel/Windows, Intel/Linux and Sun/Solaris. It is possible to run on other platforms, but we have not provided the same level of validation.

MSPスクリプト
MSP Scripts

MSPスクリプトはMathematica コマンドをマークアップしているHTMLを含んでいます．書くのは簡単で，HTMLエディタ等のHTMLの開発ツールにうまくフィットします．以下はMSPスクリプトの例です．

MSP scripts contain HTML that is marked up with Mathematica commands. They are easy to write and fit well with HTML development mechanisms such as HTML editors. Here is a sample MSP script.

<html>
  <head>
    <title>Expanding Polynomials</title>
  </head>
  <body>
    <h1>Expanding Polynomials</h1>
    <form action="Expand" method="post">
      Enter a polynomial (eg x+y): 
      <input type="text" name="expr" size="10">
      Enter a positive integer (eg 4):
      <input type="text" name="num" size="3">
      <br>
      
      <%Mathlet
             MSPBlock[{$$expr,$$num},
                     Expand[$$expr^$$num]] %>
                     
      <br>
      <input type="submit" name="button" value="Evaluate">
    </form>
  </body>
</html>

これは，Mathletタグを除いては標準的なHTMLです．ここにはサーバがページをリクエストしたときに評価されるMathematica コマンドが含まれています．ここでは入力の多項式は変数$$exprによって参照され，$$numで与えられるようにベキ乗されて展開されます．クライアントに返されるWebページには計算結果が含まれます．MSPBlockはHTTPのリクエストと一緒に送られた入力を使うためのwebMathematica のコマンドです．Webのリクエストや応答（プロット，フォーマット，タイプセット，アプレットの組込み，一般的なコンテンツのリターン等の機能処理）で使えるMathematica コマンドは非常にたくさんあります．

This is very much standard HTML except for the Mathlet tag. This contains the Mathematica commands that are to be evaluated when the page is requested from the server. Here the input polynomial, referenced by the variable $$expr is raised to the power given by $$num, and expanded. The web page that is sent back to the client contains the computed result. MSPBlock is a command provided by webMathematica for working with input sent with an HTTP request. There is a large collection of Mathematica commands for working with web requests and responses that take care of features such as plotting, formatting and typesetting, embedding applets, and returning general content.

設定
Setting Up

webMathematica のサイトの設定は，Javaサーブレットをサポートするサーバをインストールしこれを設定することから始まります．サーバが起動できたら，次にこのサーバにwebMathematica ツールをインストールします．これにはサイトをサポートするのに必要なものがすべて入っています．次の例をご覧ください．

Setting up a webMathematica site involves first installing and configuring a server that supports Java servlets. When this is running the webMathematica tools are then installed on the server. These contain all the material that is necessary to support the site, including:

○ Mathematica アプリケーション．Mathematica のコマンドをサポート．
　A Mathematica application. Support for the Mathematica commands.

○ Mathematica セッションマネージャ．設定やモニターのサポート及びMathematica セッションを起動したりシャットダウンしたりするソフトウェア． 
　A Mathematica session manager. Software for launching and shutting down Mathematica sessions, as well as support for configuring and monitoring.

○ Webアプリケーション．サーブレットコンテナにロードするためのアプリケーション．
　A Web Application. An application for loading into the servlet container.

○ MPSスクリプトの例題．
　Example MPS scripts.

○ 設定ファイルのサンプル．
    Sample configuration files.

○ ドキュメント．
　Documentation.

○ アプレット．
　Applets.

○ 画像．
　 Images.

技術概要
Technology Overview

webMathematica サイトの中核はMSPサーブレットです．これはMathematica セッションマネージャを使います．Mathematica セッションマネージャは，使用待ち状態にあるMathematica セッションのプールを保守するアプリケーションです． リクエストを受け取るとMSPサーブレットはMathematica カーネルを呼び出し，これを使ってMSPスクリプトを処理します．処理が終わるとカーネルはプールに返され結果がブラウザに戻されます．各Mathematica セッションが何度も再使用されることで，パフォーマンスが向上します．これにより，1つのサーバが複数のMathematica カーネルを使うことができ，並列計算が行えるのです．

The core of the webMathematica site is the MSP servlet. This uses the Mathematica session manager, a  useful application which maintains a pool of Mathematica sessions which are waiting to be used. When a request is received, the MSP servlet obtains a Mathematica kernel and uses it to process the MSP script. When this is finished the kernel is returned to the pool and the result returned to the browser. A given Mathematica session is reused many times and this leads to an improvement in performance. This arrangement allows one server to work with more than one Mathematica kernel, allowing concurrent computations.

HTML，MathML，XML，画像，Mathematicaノートブックなど，Mathematica で生成できるものなら何でも，リクエストの結果としてwebMathematica サイトに送ることができます．この結果はアプレット，Javascript，プラグイン，ActiveXコントロール等と同時に使用することができます．

The result of a request to a webMathematica site can be anything that can be generated by Mathematica: this includes HTML, MathML, XML, images and Mathematica notebooks. The results can interoperate with applets, javascript, plug-ins and Active-X controls.

Mathematica セッションマネージャはMathematica カーネルの起動と初期化を行います．また計算時間が限度を超えたセッションのシャットダウンもします．個々のサイトに合わせた細かな管理を提供するようにシステム全体を設定することができます．

The Mathematica session manager takes care of launching and initializing Mathematica kernels. It also takes care of shutting down sessions that exceed some preset limit for computations. The whole system is fully configurable to provide detailed control of a particular site.

ページ処理のステップの概要は以下の通りです．Mathematica のセッションプールには3つのセッションがあるとして図示してあります．

An overview of the steps in processing a page is shown below, for the sake of illustration this has a Mathematica session pool with 3 sessions.

プロセス数
The Number of Processes

webMathematica はMathematica の自動プールを提供します．Mathematica セッションがなくなるまでリクエストを受けます．それ以上のリクエストはMathematica セッションが使えるようになるまで待たされます．複数の計算が同時に行われているので，これはスレッド計算あるいは並列計算の形式です．

webMathematica provides automatic Mathematica pooling. Requests will take Mathematica sessions until none are available; further requests wait until a Mathematica session is available. Since several computations are being done at the same time, this is a form of threading or parallel computation.

webMathematica は複数のMathematica プロセスを使うことができます．しかし，各サイトに最適なプロセス数を決定するのは一般的に大変難しいことです．パラメータは様々なものがあり，単純な形式はありません．

webMathematica can work with multiple Mathematica processes, but the optimal number of processes suitable for an individual site is a very difficult to determine in general. There are many different parameters and no simple formula.

あるリクエストが，例えば，ファイルを読み込んだりファイルに書き込んだり，DLLをロードしたり，外部プロセスを起動するというように何かを待たなければならないかもしれないため，サーバはたいていの場合スレッドの恩恵を受けています．これらすべてが，サーバにとっては他のスレッドを動かすチャンスになります．webMathematica を使うと，これらはそんなに容易に適用できません．多くの場合Mathematica のシステムは計算中，結果が出るまで演算処理している緊密なループに入ってしまうためです．

Typically a server benefits from threads because one request may need to wait for something, for example reading from or writing to a file, loading a DLL, or launching an external process. All of these are opportunities for the server to run some other thread. With webMathematica these do not apply so readily, Mathematica is often computing, the system sits in some tight loop crunching away until it gets your result.

その他
Some Points

単一のCPUで20秒かかるMathematica の計算の場合，同じ計算を同時に10のMathematica プロセスですると200秒かかります．

On a single CPU if you run one Mathematica calculation that takes 20 seconds, the same calculation run simultaneously on 10 Mathematica processes will take 200 seconds.

もし，マルチプロセッサのマシンをもっていたら，プロセッサと同じ数のMathematica セッションを使うことができます．

If you have a multi-processor machine you can benefit from as many Mathematica sessions as you have processors.

システムが低い負荷あるいは高い負荷で実行している場合，いくつのMathematica プロセスが実行中であるかは実際のところ問題ではありません．中間的な負荷範囲で使用すると，マルチプロセッサの利点を生かすことができます．計算に必要な時間にばらつきがある場合に役に立つようです．

If your system is running at a low load or a high load it does not really matter how many Mathematica processes you have. You can gain some advantage in some middle range, this is probably more useful if you have a wide variation in the time required for computations.

主な要因はMathematica で計算にかかる時間です．Mathematica のTimingというコマンドで時間を測ることができます．webMathematica はMathematica に大変効率的にアクセスします．各リクエストには固定されたコストもありますが，これは低く，時間のほとんどは計算によって決まります．

A major factor is the time that the computation takes in Mathematica, you can measure this with the Mathematica Timing command. webMathematica gives very efficient access to the Mathematica, there is some small fixed cost for each request, but the time is dominated by the computation.

webMathematica は計算数と計算時間が線形の関係にあります．これは隠されたボトルネックがなく，ハードウェアを改善することでパフォーマンスの問題を解決できるということです．

webMathematica scales linearly with the time for computations and the number of computations. Scaling linearly means that there are no hidden bottle necks and that you can solve performance problems by improving hardware.

webMathematica のライセンス
webMathematica Licensing

webMathematica には2種類のライセンスがあります．Webサイトのユーザ数はライセンスに関係がありませんのでご注意ください．

There are two licenses for webMathematica. Note that the number of users of your web site does not influence the license.

webMathematica Amateur（アマチュア）

これは非営利的な使用を念頭においた低価格のバージョンです．WebサイトにはwebMathematica のバナーを表示しなければならず，アクセス制限があってはなりません．

This is a low-cost version intended for non-commercial use. Web sites must display a webMathematica banner and must be freely accessible.

AmateurライセンスはMathematica のプレミアサービスの一環として提供されます．特別の購買プログラムでも，多くのwebMathematica Amateurライセンスをご提供しています．

The Amateur license is provided as a benefit of Mathematica subscription, premier service. Certain special purchase programs provide a number of webMathematica Amateur licenses.

webMathematica Professional（プロフェッショナル）

これは，商用の，あるいはある種のイントラネットといった制限付きのWebサイトのためのライセンスです．あるサイトが，例えば特定の生徒に限定されたオンラインコースの教材である場合，そのサイトにはProfessionalバージョンが必要となります．

This is for restricted web sites, commercial or in some type of intranet. If the site is part of the materials for an on-line course restricted to particular students, this would need the Professional version.

Professionalライセンスにはある種の制限があります．サイトでは一般の Mathematica にアクセスすることはできません．また， Mathematica の「ルック・アンド・フィール」を複製することはできません．

The professional license also has some restrictions: sites cannot allow general Mathematica access and cannot replicate Mathematica 'look and feel'.

Professionalライセンスの価格は通常のMathematica の割増し料金となりますが，ボリュームディスカウントが適用されます．割引き特典のある特別な購買プログラムにご加入の場合は，webMathematica にも適用されます．

The cost of a professional license is a premium over regular Mathematica, but remember that volume discounts apply. If you are part of a special purchase program with discounts, which can be significant, these will apply to webMathematica.

まとめ
Summary

webMathematica はWebサーバがMathematica を使って動的なコンテンツを生成できるようにします．Mathematica Server Page(MSP)と呼ばれる技術がその基本にあります．MSPの技術はMSPスクリプト，つまりMathematica のコマンドを含んだHTMLページをサーバに置くことで機能します．ページへのリクエストがあると，Mathematica がこれらのコマンドを評価し，結果が返されます．MSP技術は標準的で広くサポートされたWeb技術であるJavaサーブレットに基づいています．これらは多くのクライアント・サーバのWeb技術に完全に統合されています．

webMathematica allows a web server to generate dynamic content with Mathematica. It is driven by a technology called Mathematica Server Pages. MSP technology works by placing MSP scripts, HTML pages that contain Mathematica commands, on your server. When a request for a page is received these commands are evaluated by Mathematica and the result is returned. MSP technology is based on Java servlets, a standard and fully supported Web technology. They are fully integrated with many client and server web technologies.

WRIはJavaサーブレットの起動可能なWebサーバ用の必要なツールを提供しています．webMathematica のサイトを開設する場合はサーバを提供する必要があります．

WRI provides the necessary tools for a Java servlet enabled web server. It is necessary for someone wanting to host a webMathematica site to provide the server.

webMathematica に関する詳細情報はhttp://www.wolfram.com/products/webmathematicaで，例題は http://library.wolfram.com/explorationsでご覧いただけます．

More information on webMathematica can be found at http://www.wolfram.com/products/webmathematica, and examples of webMathematica can be found at http://library.wolfram.com/explorations.