1. Trang chủ
  2. » Thể loại khác

Hướng dẫn sử dụng Wolfram webmathematica

326 43 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 326
Dung lượng 10,58 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

As explained previously, webMathematica is based on a standard Java technology called servlets; support for servlets is typically provided by a program called a servlet container.. Insta

Trang 1

USER GUIDE

Wolfram

Trang 2

For use with Wolfram webMathematica 3.0 and higher

For the latest updates and corrections to this manual:

visit reference.wolfram.com

For information on additional copies of this documentation:

visit the Customer Service website at www.wolfram.com/services/customerservice

or email Customer Service at info@wolfram.com

Comments on this manual are welcomed at:

comments@wolfram.com

Printed in the United States of America

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

©2009 Wolfram Research, Inc

All rights reserved No part of this document may be reproduced or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the copyright holder

Wolfram Research is the holder of the copyright to the various Wolfram Mathematica software systems ("Software")

described in this document, including, without limitation, such aspects of the system as its code, structure, sequence, organization, "look and feel", programming language, and compilation of command names Use of the Software unless pursuant to the terms of a license granted by Wolfram Research or as otherwise authorized

by law is an infringement of the copyright

Wolfram Research, Inc and Wolfram Media, Inc ("Wolfram") make no representations, express,

statutory, or implied, with respect to the Software (or any aspect thereof), including, without limitation, any implied warranties of merchantability, interoperability, or fitness for a particular purpose, all of which are expressly disclaimed Wolfram does not warrant that the functions of the Software will meet your requirements or that the operation of the Software will be uninterrupted or error free As such, Wolfram does not recommend the use of the software described in this document for applications in which errors

or omissions could threaten life, injury or significant loss

Mathematica and MathLink are registered trademarks of Wolfram Research, Inc J/Link, MathLM, NET/Link, Wolfram Workbench, , and webMathematica are trademarks of Wolfram Research, Inc Windows is a registered

trademark of Microsoft Corporation in the United States and other countries Macintosh is a registered trademark of

Apple Computer, Inc All other trademarks used herein are the property of their respective owners Mathematica is

not associated with Mathematica Policy Research, Inc.

1550362 0909.JP

gridMathematica

Trang 3

webMathematica Users Guide

Introduction to webMathematica

What Is webMathematica? 1

Why Use Mathematica in a Website? 2

Computation 2

Interactive Programming Language 2

Connectivity 2

The Mathematica Front End 3

Mathematical Typesetting and MathML 3

Why a Web Interface? 3

Ease of Use 3

Server-Based Configuration 4

Web Technologies 4

Areas of Use for webMathematica 4

Web Computation 4

Education 5

Publishing 5

Research 6

Hobbyist 6

webMathematica Technology 7

Requirements 9

New Features of webMathematica 9

webMathematica 3.0 9

webMathematica 2.3 11

webMathematica 2.2 11

webMathematica 2.1 12

webMathematica 2.0 12

Trang 4

Setting Up a Servlet Container 15

Setting Up Java 16

Unix 16

Windows 16

Mac OS X 17

Setting Up Tomcat 17

Unix 17

Windows 19

Mac OS X 19

Installing and Configuring Mathematica 21

Installing the webMathematica Web Application 21

Tomcat 22

Other Servlet Engines 23

Configuring for the X Window System (Unix only) 24

Configuring Xvnc and webMathematica 24

Install Xvnc 25

Launch Xvnc 25

Test Xvnc 25

Configure webMathematica 26

Other X Related Issues 26

Connecting to the X Server 26

Xvfb 27

Manual Font Installation 29

Upgrading from webMathematica 2.3 29

Install Mathematica 29

Install the webMathematica Web Application 30

Configure the New Layout 30

web.xml 30

MSPConfiguration.xml 30

Security Configuration 30

Move Content to the New Layout 31

Finalize the Installation 31

Optional Further Configuring 31

MSP Mathematica Application 31

Launching webMathematica Automatically 32

Unix 32

Windows 35

Trang 5

Apache and Tomcat 36

Microsoft Servers and Tomcat 37

Testing 37

Basic Examples Hello.jsp 40

Working with Variables: Variables.jsp 41

MSP Functions: Expand.jsp 42

Graphics: Plot.jsp 44

Typeset Images: Integrate.jsp 45

Live 3D Plotting: Plot3DLive.jsp 47

Getting Messages: Messages.jsp 48

Returning General Content: Content.jsp 50

Interactive Web: SliderPlot.jsp 54

Applets: TextApplet.jsp 55

JavaScript: PlotScript.jsp 57

Setting Variables: SetBasic.jsp 59

Getting Variables: GetBasic.jsp 60

Developing Your Own Pages Wolfram Workbench 62

Tips and Tricks 63

Variables 64

Coding in Pages 65

Templates 66

Browse Examples 66

Design Examples 66

Banners and Buttons 67

Minimal Installation 67

Minimal File Layout 67

Trang 6

XML 68

Introduction to XML 68

XML Compliance 69

Mathematica Support for XML 70

webMathematica XML Applications 71

MathML 73

Embedding MathML in Web Documents 74

XHTML 74

XHTML and MathML 75

Rendering XHTML and MathML Documents 76

Generating MathML from webMathematica 79

MathML Integrate Example 80

SVG 83

Plotting with SVG 84

SVG Animations 84

HTML Formatting 86

The HTML Functions 86

HTMLTableForm 87

HTMLFormat 88

HTMLSelect 89

HTMLCheckBox 90

webMathematica Examples 91

Table Formatting 91

Select Formatting 92

Interactive Web Tools 93

Example: SliderPlot.jsp 93

Controls 95

Formatting and Output 96

Underlying Technology and Limitations 97

Using Java APIs 97

Server APIs 97

Other Java APIs 98

Data Loading and Computation 99

File I/O 99

HTTP Upload 100

Database Connectivity 100

Web Services 101

Trang 7

Data Examples 101

Loading Data: Load.jsp 101

Uploading Data: Upload.jsp 102

Session Storage of Data: Session.jsp 104

Database Connections: Database.jsp 107

Mathematica Packages and Applications 108

Loading Packages 108

Writing Packages 111

Installing Packages 112

webMathematica Applications 112

$BaseDirectory 112

$UserBaseDirectory 112

The Script Directory 112

$TopDirectory 113

Absolute Filename 113

Extended Page Language 113

Expression Language 113

JSP Standard Tags 114

if 114

set 115

choose/when/otherwise 115

Queuing of Long Calculations 116

Interacting with the Queue 117

Lifetime of a Queued Request 119

Organizing and Configuring a Queued Pool 120

Alternative Server Technologies 120

JavaServer Pages 121

PHP 121

PDF Documents 121

Generating a Mathematica Notebook 122

Converting to PDF 123

Returning PDF 123

Creating PDF Example 124

Returning General Content 124

Direct Return 125

MSPReturn 125

MSPURLStore 126

Trang 8

AJAX 127

Time Example 127

HTML Example 130

Web Services and XML Exchange 133

Web Services 133

Informal Web Services 134

AJAX Example 134

Mathematica SOAP Client 136

webMathematica SOAP Services 138

Echo Example 138

Plot Example 140

Excel Example 142

Type Specification 145

Simple Data 146

Date and Time Data 147

Binary Data 148

SchemaExpr 148

SchemaMathML 149

Arrays 150

Errors and Exceptions 151

Security 152

Advanced Topics Variables 155

Input Variables 155

Interpretation of Input Variables 156

Interpreted versus Noninterpreted Values 157

MSPBlock versus MSPToExpression 158

Page Variables 159

Session Variables 160

Security 161

Server Security 161

Mathematica Program Security 161

MSPBlock 162

MSPToExpression 162

Avoid ToExpression 163

Trang 9

The Validation Process 163

Configuring a Security Model 165

ToExpression Validation 166

Security and Kernel Pools 166

Access Restrictions 166

Evaluation Formatting 167

Automatic Formatting 167

MSPFormat 167

String Formatting 167

Graphics and Image Formatting 168

Suppressing Output 168

Multiple Calculations 168

Multiple Kernel Pools 169

Multiple Web Applications 170

Mapping URLs onto JSPs 170

Handling Errors 171

Catching Mathematica Error Exceptions 171

Adding an HTTP Error Page 172

Displaying Mathematics and Graphics 172

MSP Functions Returning Images 173

LiveGraphics3D 174

Including Static Files 174

Troubleshooting Initial Checks 176

Check the Server 176

Check the URL 176

Check the Initial Page 177

Check the Kernel Monitor 177

Check the Logging System 177

Check the Console Shell 177

Check Mathematica 178

Specific Problems 178

Problems Running the Kernel 178

Problems Running the Front End 179

Problems Testing Xvnc (Unix only) 179

Problems Testing Xvfb (Unix only) 179

Images Do Not Work 180

Trang 10

Images Do Not Work 180

Mathematica Packages and Applications 180

Kernel Initialization 180

Vertical Alignment in Formatting 181

Timeout Problems 181

UnsatisfiedLinkError 181

Cannot Load JLink` 182

NoClassDefFoundError: TryCatchFinally 182

NoClassDefFoundError: JLink Classes 182

NoSuchMethodError: KernelData 183

Debugging webMathematica 183

Not Using Wolfram Workbench 184

Using Wolfram Workbench 184

Logging 184

webMathematica Logging 184

Server Logging 185

The Kernel Monitor 186

Reporting Problems 186

Configuration CheckToExpression 191

CollectStreams 192

FileUploadSizeLimit 193

FrontEndExecutable 194

FrontEndLaunchFlags 195

JlinkNativeLibraryDirectory 196

KeepFrontEndAlive 197

KernelAcquireCode 198

KernelAcquireLimit 199

KernelBaseMemoryLimit 200

KernelConnectLimit 201

KernelDestroyCode 202

KernelExecutable 203

KernelInitializeCode 204

KernelLaunchFlags 205

KernelNumber 206

KernelPeakMemoryLimit 207

KernelPool 208

Trang 11

KernelPoolName 209

KernelReleaseCode 210

KernelTimeLimit 211

SecurityConfigurationFile 212

URLPattern 214

Functions HTMLCheckbox 217

HTMLFormat 219

HTMLSelect 221

HTMLTableForm 224

MSPBlock 227

MSPException 230

MSPFormat 232

MSPGetMessages 235

MSPGetPrintOutput 236

MSPGetUploadFile 237

MSPGetUploadFileList 239

MSPLive3D 241

MSPManipulate 242

MSPManipulateHeader 248

MSPPageDirectory 249

MSPPageOptions 250

MSPReturn 252

MSPRootDirectory 254

MSPSessionVariable 255

MSPSetDefault 256

MSPShow 258

MSPToExpression 259

MSPURLStore 262

MSPValue 264

MSPValueQ 266

Trang 12

Configuration 271

Formatting 272

webMathematica Tags 273

Processing Input 274

Web Interaction 275

webMathematica 276

Tags evaluate 279

evaluateQueued 281

set 283

get 284

Appendix Processing a JSP 287

Mathematica Initialization 289

webMathematica Tags 290

Request Initialization 290

evaluate 292

Request Termination 293

set 294

get 295

evaluateQueued 296

Mathematica Web Functions 297

Processing Input 297

Formatting 298

Web Interaction 298

Site Configuration 299

MSPConfiguration.xml 299

Logging System 301

Security Configuration 301

X Server Configuration 301

Trang 13

Dynamic HTML 304

Server Technology 304

Client Technology 305

Links 309

Mathematica Technology 309

Mathematica Packages 310

Java 310

Tomcat 310

Servers JSPs and Servlets 310

Web Browser Technologies 311

XML, MathML, and SVG 311

PDF Tools 312

The X Window System 312

Logging 312

Trang 15

What Is webMathematica?

webMathematica adds interactive calculations and visualization to a website by integrating

Mathematica with the latest web server technology The diagram below shows a view of a

webMathematica site, http://library.wolfram.com/explorations/webUnrisk/index.html.

This site gives a web browser interface to financial calculations and visualizations that are

driven by Mathematica In this site users are taken through a sequence of web pages in which

they select different input parameters and submit data to build up a sequence of results

Trang 16

Why Use Mathematica in a Website?

There are various important features that Mathematica can offer to a website, including tion, an interactive programming language, connectivity, the Mathematica front end, and

computa-enhanced support for MathML

Computation

Mathematica contains a large collection of functions for computing in many areas, such as

numerics, symbolics, and graphics webMathematica makes all of this functionality available

over the web

Many web technologies, so powerful in many areas, are not well suited to scientific

computa-tion; it is simply not their main focus Mathematica, on the other hand, is very suitable for

scientific computation and can provide this on the web

Interactive Programming Language

Mathematica contains a high-level, interactive, functional programming language It lends itself

to rapid prototyping but can scale up to large intensive computations These are also tages for web content generation, since large sites can be developed with less programmereffort

advan-Connectivity

Mathematica connects readily to external services, which may be provided by languages such

as Java, C, Fortran, or Perl These services can provide a data source for computations and also

take the results from Mathematica It is particularly easy to connect to Java via J/Link, a toolkit for integrating Java into Mathematica More information on J/Link can be found at

http://www.wolfram.com/solutions/mathlink/jlink

2 webMathematica User Guide

Trang 17

The Mathematica Front End

The Mathematica notebook user interface (front end) has long provided the premium nism for working with the Mathematica kernel Now, webMathematica provides an alternative

mecha-interface via the web Even in a web environment, the front end is extremely useful It is used

to typeset mathematics and render two- and three-dimensional graphical objects into images

In addition, the front end can generate notebook documents on the server to send to the client

Mathematical Typesetting and MathML

Mathematica is a premium system for interactive mathematical typesetting It is also a powerful

system for working with MathML, which is designed to allow the use and reuse of mathematicaland scientific content on the web and by other applications These features are a valuable

component of webMathematica, which works well with the increasing number of tools that are

available for MathML

Why a Web Interface?

Some of the benefits that a web interface brings to Mathematica include ease of use and

deliv-ery, as well as the large number of web development professionals and the many webtechnologies

Ease of Use

To use a webMathematica site, all you need is a web browser User interfaces can use standard

web GUI elements, such as text fields, checkboxes, and drop-down lists This reduces trainingtime because users no longer have to learn different software applications In many cases, no

Mathematica experience is required.

Trang 18

Server-Based Configuration

There is no software to buy, install, or maintain in order to use webMathematica sites All

end-users need is a web browser and, for advanced features like interactive 3D graphics, a JavaRuntime Environment This leads to significant savings over buying and maintaining user soft-ware and also ensures that every end-user always has the most recent version An additional

advantage is that webMathematica-enhanced websites can be accessed from many different

types of computers

Web Technologies

There are many people who are experts in working with servers and developing dynamic

web-sites They can choose from the many web technologies and tools to develop

Mathematica-related sites Thus, development is easier and the applications they build are more powerful

Areas of Use for webMathematica

There are several areas of use for webMathematica Some of these include web computation,

education, publishing, research, and hobbyist calculations

Web Computation

A major use of webMathematica is to build online tools for computation and visualization An example is webUnrisk, http://library.wolfram.com/explorations/webUnrisk/index.html; some examples of webUnrisk are shown below.

4 webMathematica User Guide

Trang 19

Mathematica is widely used in many areas of education These applications can be extended to

web-based education tools with webMathematica The Integrator, http://integrals.wolfram.com,

is a Wolfram Research-developed website that solves integration problems Another use of

webMathematica in education is Calc101, http://www.calc101.com, which mixes free and

pay-per-use calculators that lead precollege and college students through integration and tion problems

differentia-Publishing

Many publishers are developing web-based supplements to textbooks, manuals, and journals

webMathematica provides a suitable technology to support these efforts in technical subjects.

An example web-based supplement, built with webMathematica, is available at

http://library.wolfram.com/explorations/explorer/index.html, as shown in the following

Trang 20

webMathematica allows individual users to showcase their personal interests with web-based

interactive calculations and visualizations AnalyticCycling.com, http://www.analyticcycling.com,

provides a recreational website that takes advantage of the web Mathematica engine.

Designed for technically oriented cyclists, AnalyticCycling.com offers web-based calculators thattake a no-compromise, textbook approach to computing cycling performance

6 webMathematica User Guide

Trang 21

webMathematica Technology

webMathematica is based on two standard Java technologies: Java Servlet and JavaServer

Pages (JSPs) 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 manydifferent types of servlet containers that will run on many different operating systems andarchitectures They can also be integrated into other web servers, such as the Apache webserver

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 placed in the page This is done with thestandard Java templating mechanism, JavaServer Pages, making use of a special tags; exam-ples of these are given in a later section

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 be many different formats such as HTML, images, Mathematica notebooks, MathML, SVG, XML,

PostScript, and PDF This user guide includes examples of working with all these differenttechnologies

webMathematica provides a large library of Mathematica commands to handle the many ble ways of working with Mathematica computations An important part of webMathematica is the kernel manager that calls Mathematica in a robust, efficient, and secure manner The man- ager maintains a pool of one or more Mathematica kernels and, in this way, can process more than one request at a time An overview of the workings of a webMathematica site is shown

possi-here

1 Browser sends request to webMathematica server.

Trang 22

webMathematica server acquires Mathematica kernel from the pool.

3 Mathematica kernel is initialized with input parameters, carries out calculations, and

returns result to server

4 webMathematica server returns Mathematica kernel to the pool.

5 webMathematica server returns result to browser.

8 webMathematica User Guide

2.

Trang 23

The aim of webMathematica and MSP technology is to reduce the amount of extra knowledge

required for developing a site to a minimum In practice, this means knowing something about

HTML and Mathematica You do not need any special knowledge of Java, nor do you need to know anything about JavaScript webMathematica also aims to automate the management of

the site to make running, maintenance, and configuration as convenient as possible

Administra-tors of webMathematica sites do not need any knowledge of Java beyond its installation.

The minimum technical components for webMathematica are:

1 A servlet container supporting both the Servlet Specification 2.4 (or higher) and JSP

Specification 2.0 (or higher)

2 A JDK 1.2 (or higher); Java 2 Version 1.4 (or higher) is recommended

There are many different combinations of hardware and operating systems that support these

components Most systems that run Mathematica will support webMathematica At present

http://www.wolfram.com/products/mathematica/platforms/ Setting up the servlet container isdiscussed in a later section

New Features of webMathematica

webMathematica 3.0

Interactive Tools

webMathematica 3.0 replicates the popular interactive Manipulate command for web pages.

You can create web pages that contain various GUI features such as sliders, checkboxes, andpopup menus, which control a calculation All of this is done with the same concise syntaxprovided by Manipulate

Trang 24

Expression Language and Custom Tags

webMathematica 3.0 comes with support for a more concise way to call to Mathematica from

the web page It also contains a library with a number of useful tags; these tags provide anumber of valuable tools, such as redirecting flow as the web page is generated

Queueing System

webMathematica 3.0 allows long running or asynchronous computation jobs to be executed by

a new queueing system

Support for Wolfram Workbench

Wolfram Workbench provides a significant number of features that help to accelerate the opment of webMathematica content webMathematica 3.0 integrates with Wolfram Workbench

devel-so that Mathematica code can be debugged as it runs in the server

Web Services

webMathematica 3.0 enables you to write REST and SOAP web services that use Mathematica.

New Logging System

A new, highly configurable logging system helps to track different types of errors and to identifyproblems so that they can be resolved easily

Improved Kernel Monitor

The Kernel Monitor has been significantly improved It has new code for monitoring memoryusage, running time, concurrent requests, and Java objects; this helps to improve the reliability

of the server It allows starting and stopping of individual kernel pools and canceling individualcomputations Queued jobs are monitored for progress and errors

Improved Kernel Interaction

webMathematica 3.0 has improved the way that it interacts with the Mathematica kernel It

launches kernels as soon as the server starts and launches all kernels in parallel; this helps toimprove the startup time for the server It also has a number of new configuration tools, whichlimit the use of time and memory by the kernel; this helps to improve the reliability of theserver Kernels are automatically restarted in the background, so service remains uninterrupted

10 webMathematica User Guide

Trang 25

This section lists any changes in webMathematica 3.0 that work differently from previous

versions

Classic webMathematica Technology Dropped

Support for the classic webMathematica technology has been dropped This technology has been deprecated since webMathematica 1.0.

Configuration

A new configuration system based on a single XML file, MSPConfiguration.xml, is now ported The name of the security configuration file is now called SecurityConfiguration.m

sup-webMathematica 2.3

The main new feature of webMathematica 2.3 is support for Mathematica 5.2 There are also a

number of internal improvements

webMathematica 2.2

Support for Mathematica 5.1

webMathematica 2.2 comes with Mathematica 5.1 Mathematica 5.1 contains many important

new features relevant to web operations, the most important being optimized binary I/O, graphand array plotting, and comprehensive string manipulation, matching, and searchingcapabilities

Database Connectivity

DatabaseLink provides Mathematica with an industrial-strength, ready-made solution for

inte-grating Mathematica with any standard SQL database Integrated with Mathematica 5.1, it provides a convenient bridge between SQL databases and webMathematica One particularly useful feature for webMathematica is that DatabaseLink contains the HSQL Database Engine

(HSQLDB), a lightweight database This means that if you do not already have a database orwant to experiment with using one, you do not have to set one up; instead you can useHSQLDB

Trang 26

Client Web Services

The Mathematica Web Services Package allows Mathematica to call web services across the internet Bundled with Mathematica 5.1, it provides a convenient way for webMathematica to use a web service This is an important way to extend the functionality of a webMathematica

website

webMathematica 2.1

The main new feature of webMathematica 2.1 is support for Mathematica 5.0 There are also a

number of internal improvements and new examples

webMathematica 2.0

webMathematica 2.0 offered a number of new features and improvements These are listed in

this section

Support for Mathematica 4.2

webMathematica 2.0 comes with Mathematica 4.2 Mathematica 4.2 has many features that are

very relevant to web operations, the most important being the XML support There are many

examples in webMathematica 2.0 that use XML features and XML applications such as MathML

Extended Documentation and Examples

The documentation for webMathematica is now shipped in HTML format and accessible from the webMathematica front page In addition many new examples have been added that demon-

strate the new features

12 webMathematica User Guide

Trang 27

New Templating Mechanism Based on JSP Custom Tags

A new HTML templating mechanism based on JSP custom tags has been added This is now the

preferred mechanism for using webMathematica The mechanism is easier to understand, it allows the use of other JSP custom tag libraries, and it facilitates the integration of webMathe-

matica into other server applications.

MathML, SVG, and XML Support

Support for the XML applications, MathML and SVG, is built into webMathematica 2.0 In tion it can make use of the new XML processing tools that are available in Mathematica 4.2.

addi-Support for Catching Message and Print Output

New functions are provided for catching the output of any Mathematica Message or Print

state-ments This can be useful for debugging or developing material

Support for HTTP File Upload

New functions are provided to support HTTP file upload This is an important way to submit

information to a webMathematica web server.

Support for HTTP Session Variables

New functions are provided for saving material in an HTTP session stored in the server This can

be useful for saving results from one computation to another

HTML Formatting Functions

New functions are provided for formatting results into HTML

Incompatibilities

This section lists any changes in webMathematica 2.0 that work differently from 1.0.

Location of Security Configuration File

The mechanism for locating the security configuration file has changed from webMathematica

1.0 Now the security configuration file is named in the pool configuration file and is located in acentral configuration directory in webMathematica/WEB-INF/conf Previously the configuration

file could be loaded from anywhere on the Mathematica path.

Trang 28

This change was made because loading the security configuration from a single central location

is more secure Since the default security system of webMathematica is very conservative, any

sites that do not move their security files will run with a higher level of security than isexpected Security is discussed in a later section

Location of MSP.conf

The default location MSP.conf has been moved into a central configuration directory inwebMathematica/WEB-INF/conf This leads to a great simplification in the setup of your serverbecause it will look automatically in this location

14 webMathematica User Guide

Trang 29

These installation instructions focus on setting up a servlet container and installing

webMathe-matica As explained previously, webMathematica is based on a standard Java technology called

servlets; support for servlets is typically provided by a program called a servlet container You

must set up the servlet container before adding webMathematica.

Installation can take the following steps:

1 Set up a servlet container.

2 Set up Mathematica using the CD-ROM from your distribution or from your download.

3 Install the webMathematica web application into your servlet container using the

webMath-ematica Tools CD-ROM from your distribution or from your download.

4 For Unix, you may need to set up an X server.

5 Finally, you should test your webMathematica site.

More information on installation of webMathematica can be obtained from Wolfram Research at

http://www.wolfram.com/products/webmathematica/install

Setting Up a Servlet Container

Before you start to install webMathematica, you need an installation of Java and a servlet

container If you already have these components, you may skip this section

There are many different servlet containers, but one that is particularly convenient is Tomcat,which can be obtained from http://jakarta.apache.org Since Tomcat is a common way to run

webMathematica, there is information on installing and setting it up on Unix, Windows, and Mac

OS X

webMathematica has been tested with Tomcat as well as other containers listed at

http://www.wolfram.com/products/webmathematica/technology/ If you have a particular

interest or experience in running webMathematica with other containers, please contact

Wolfram Research However, if you do not have expertise with these other containers, usingApache Tomcat is recommended

Trang 30

When your servlet container is functioning correctly, as demonstrated by running its sample

servlets, you are ready to install webMathematica If your servlet container does not work, then webMathematica cannot work The remaining steps in this section show you how to set up Java

and Tomcat If you are not using Tomcat, you should skip this section and study the tion for your servlet container

documenta-Setting Up Java

It is recommended that you use a modern version of Java, such as Java SE 6 For Linux, Linuxx64, Solaris SPARC, Solaris x64, Solaris x86, Windows, and Windows x64, this is available fromthe Sun Java site at http://java.sun.com/javase/downloads/index.jsp The Sun Java site pro-vides detailed installation instructions for the different platforms These are all relatively simple;typically, you download and execute an installer If you are using Java SE 5 or higher, you can

use either a JRE or JDK to run webMathematica If you are using an older version of Java, you

need the JDK For Mac OS X, J2SE 5.0 is already installed For other platforms, modern versions

of Java are available from the appropriate vendors; a list of useful links is maintained in theAppendix: Java

You will also need to set the JAVA_HOME environment variable This is described in the nextsections for Unix and Windows

Unix

The JAVA_HOME environment variable needs to be set for the environment in which Tomcatruns An example of this, suitable for inclusion in bashrc (this is the initialization file for thebash shell), is shown below

Trang 31

If you go to the Control Panel and open the System icon, you will see the System Properties window From this, select the Advanced tab and then the Environment Variables button.

Enter JAVA_HOME as a system variable, setting it to the top-level directory containing your JDK.For example, if your JDK is installed in C:\Program Files\Java\jdk1.6.0_14, this is thesetting for JAVA_HOME

Mac OS X

Mac OS X 10.5 ships with J2SE 5.0 and Java SE 6 Mac OS X 10.4 ships with J2SE 5.0 You mayfind that an updated version can be obtained via the software update mechanism (see alsohttp://www.apple.com/java/) If you update your Java, you can ensure that you are alwaysusing the most recent version of the JDK by setting up the JAVA_HOME environment variableproperly; this is shown below

Trang 32

[server1]$ cd /usr/local

[server1]$ tar xfz jakarta-tomcat-5.5.27.tar.gz

[server1]$ mv jakarta-tomcat-5.5.27 tomcat

On some platforms, such as Solaris, the default tar command does not work to unpackthe Tomcat archive as shown above You need to obtain the GNU tar utility fromhttp://www.gnu.org/directory/GNU/tar.html in order to use the options shown

It is often useful to create a low privilege account, such as tomcat, to run your servlet tainer It is probably helpful if this account has a home directory so that your X server and

con-Mathematica can store preferences information If you create such an account, you may need

to change ownership of the Tomcat layout so it can be run by this account

[server1]$ chown -R tomcat tomcat

The main top-level directory of Tomcat contains some important directories, including:

you will install webMathematica You should be able to launch Tomcat immediately from the

bin directory, making sure to be the tomcat user

[server1]$ su tomcat

[server1]$ cd tomcat/bin

[server1]$ /startup.sh

At this point, you should be able to connect to Tomcat via a URL such as http://localhost:8080

If this does not return the Tomcat front page, then something is wrong with your setup If youlook at the log files, it may help you track down your problem Make sure that you have setyour JAVA_HOME variable as described in the installing Java for Unix section

The bin directory also contains a script, shutdown.sh, used for shutting down Tomcat

Information on launching Tomcat automatically on Unix is given in a later section

18 webMathematica User Guide

Trang 33

After installation is complete, you may wish to inspect the main top-level directory of Tomcat,which contains some important directories, including:

you will install webMathematica.

The installer adds a Start Menu Group from which you can run Tomcat You should test it via aURL such as http://localhost:8080 If Tomcat does not run correctly, you should open a com-mand prompt window, change directories (”cd”) to the bin directory (in the main top-leveldirectory of Tomcat) and try running the tomcat5.exe executable file (this can also be accom-plished by double-clicking on the file via the Windows Explorer) Previous versions of Tomcatused a startup.bat batch file Starting and stopping Tomcat from the Start Menu is veryconvenient (this is also a new feature of Tomcat 4.1), but for running Tomcat as a productionserver under Windows you may wish to run it as a Windows Service This is described in thesection on launching Tomcat automatically on Windows

Mac OS X

Of course, before you run Tomcat, you should first make sure you have set up Java on yourmachine as described in the previous section

Trang 34

It is often useful to create a low privilege account, such as tomcat, to run your servlet tainer You can accomplish this via the System Preferences panel If you create such anaccount, you may need to change ownership of the Tomcat layout so it can be run by thisaccount.

con-[server1]$ sudo chown -R tomcat tomcat

The main top-level directory of Tomcat contains some important directories, including:

you will install webMathematica You should be able to launch Tomcat immediately from the

bin directory, making sure to be the tomcat user

[server1]$ su Tomcat

[server1]$ cd Tomcat/bin

[server1]$ /startup.sh

At this point, you should be able to connect to Tomcat via a URL such as http://localhost:8080

If this does not return the Tomcat front page, then something is wrong with your setup If youlook at the log files, it may help you track down your problem Make sure that you have setyour JAVA_HOME variable as described in the installing Java for Mac OS X section

The bin directory also contains a script, shutdown.sh, used for shutting down Tomcat

Please also note that for webMathematica to fully function, you need to log on via the Mac OS X console This is necessary since the Mathematica front end makes use of the Mac OS X window-

ing environment

Download information for current versions of Tomcat is given at http://www.wolfram.com/products/webmathematica/resources/?tab=Updates A variety of archive formats are available;one of these should be unpacked in some central location, for example, /Library You mayalso wish to change the name of the top-level Tomcat directory The actual location of Tomcat

and the name of the top-level directory are entirely up to you /Library is useful because it

can be viewed via the Finder Other versions of Tomcat are available from the Apache website,http://jakarta.apache.org

Note that the default OS X tar command does not work to unpack the Tomcat archive asshown below You would need to use the GNU tar utility (gnutar), which normally resides in/usr/bin/, to use the options shown You could also use Stuffit Expander (Version 7.0.1 andlater), which uncompresses *.tar.gz archives

20 webMathematica User Guide

Trang 35

Note that the default OS X tar command does not work to unpack the Tomcat archive asshown below You would need to use the GNU tar utility (gnutar), which normally resides in/usr/bin/, to use the options shown You could also use Stuffit Expander (Version 7.0.1 andlater), which uncompresses *.tar.gz archives.

Sample shell instructions for these steps are shown below (note that tar xvfz archive will giveyou more information on what files are being extracted) These instructions assume that youare using the Terminal application found in Applications-> Utilities-> Terminal

[server1]$ cd /Library

[server1]$ sudo /usr/bin/gnutar xfz jakarta-tomcat-5.5.27.tar.gz

[server1]$ sudo mv jakarta-tomcat-5.5.27 tomcat

Installing and Configuring Mathematica

Install the version of Mathematica appropriate for the platform you wish to use for your web

server You should choose a single-machine installation When you have finished, you should be

able to run Mathematica interactively to validate your installation If Mathematica cannot run, then webMathematica cannot run.

If you already have an installation of Mathematica on your server, you do not need to install

Mathematica again, but can proceed with the remaining installation steps With an existing

installation of Mathematica, you may place your webMathematica license information into a

different location, as described in the following section Placing the license information in a

different location will ensure that an interactive usage of Mathematica on your server does not interfere with the operation of your webMathematica site One possible alternative directory is

the webMathematica/WEB-INF/conf directory as demonstrated in the section on installing

webMathematica into Tomcat Note that if you install the license in a special file, you will have

to set the -pwfile option when you run Mathematica outside of webMathematica.

Installing the webMathematica Web Application

This section describes how to install webMathematica components into your servlet container For most servlet containers, this involves deploying the webMathematica web application found

in archived form on the webMathematica Tools CD-ROM or from your download Separate

Trang 36

installation instructions are given for some different servlet containers A web application is acollection of HTML and other web components, which are placed in a specific directory struc-ture Any servlet container that supports web applications will be able to use these files in astandard way Web applications support a special type of archive called a WAR archive, which is

supported by some servlet containers webMathematica provides a WAR archive of the

directory located in the Tomcat webapps directory This is usually found in the top-level

direc-tory of Tomcat You have now created a web application called webMathematica Some of the

contents of the top directory of Tomcat, along with the location of the webapps directory and

webMathematica web application, are shown below.

The most important setting is KernelExecutable, the location of the Mathematica kernel The MSPConfiguration.xml that ships with webMathematica contains settings suitable for a default installation of Mathematica for Windows, Unix, Linux, and Mac OS X However, if you install

Mathematica into a nondefault location, you will need to modify this file For example, if you

installed Mathematica into E:\Mathematica, make the following setting of KernelExecutable in

MSPConfiguration.xml

22 webMathematica User Guide

Trang 37

E:\Mathematica\MathKernel.exe

</KernelExecutable>

Another reason to modify MSPConfiguration.xml is to store your webMathematica license in its

own password file, for example, webMathematica/WEB-INF/conf/mathpass It would then be

necessary to modify KernelLaunchFlags in MSPConfiguration.xml to ensure that Mathematica

uses this location The following shows how this could be done for a typical Windows installation

<FrontEndLaunchFlags>

-display :1 -nogui -geometry 1000x500+10+10

</FrontEndLaunchFlags>

Other Servlet Engines

If you are unfamiliar with servlets, then it is recommended that you use Apache Tomcat Youshould only use another servlet engine if you are already experienced with it

If you have some other servlet engine, follow its instructions for installing a web application,which may be supported by some special tools After installing the web application, you willneed to modify the MSPConfiguration.xml file as described in the section on installing underTomcat It may also be necessary to make various modifications to MSPConfiguration.xml,such as changing the JLinkNativeLibraryDirectory setting

Trang 38

Configuring for the X Window System (Unix only)

There are special problems associated with running the Mathematica front end under X from

within a web server This is because, typically, the web server is run as a special account, such

as tomcat This means that when webMathematica runs the front end, it is running as this

account For the front end to operate, it must connect to an X server; this could be achieved bylogging into the console of the web server machine with this special account running an Xserver There are a few problems with this approach: first, you may not want to leave themachine with an open login on the console; secondly, every time the front end does something,

a window will appear on the screen, which may be distracting for someone using the machine

If a different user logs into the console and runs an X server, the front end (which is run by the

special webMathematica account) will not be able to connect to this server at all under the

standard authentication system of X While it is possible to configure the server to allow these

connections, it is not satisfactory because webMathematica will be displaying windows on the

screen every time it does something with the front end This topic is discussed in greater length

in a later section

These problems are solved by running a virtual X server, such as Xvnc, as described in the

following section Running a virtual server prevents the windows created by the Mathematica front end from displaying on the screen console of the computer running Mathematica

Configuring Xvnc and webMathematica

Xvnc is the Unix VNC server It provides a virtual X server that can be used by applications,

such as the Mathematica front end, when it is running for webMathematica It also provides a

VNC server so that a VNC viewer can connect to view and control any applications running inthe server This can be useful since it can help track down problems in running the front end.Xvnc comes with a number of Unix distributions It can also be ovtained from RealVNC,http://www.realvnc.com/, and TightVNC, http://www.tightvnc.com

24 webMathematica User Guide

Trang 39

Install Xvnc

Installation of Xvnc is quite straightforward; you unpack the archive and then copy the relevantfiles into some local bin directory, for example, /usr/local/bin (Note that some modernLinux distributions already have Xvnc installed.) Copying of the Xvnc binaries is shown below

[server1]$ cp vncviewer vncserver vncpasswd vncconnect Xvnc /usr/local/bin

Launch Xvnc

Launching Xvnc is also quite straightforward; this should be done as the user that will be

run-ning webMathematica, for example, the user tomcat The first time Xvnc is launched, it asks for

a password In the example below, the server is launched as display :1

New'X' desktop is server1:1

Creating default startup script /home/tomcat/.vnc/xstartup

Starting applications specified in /home/tomcat/.vnc/xstartup

Log file is /home/tomcat/.vnc/server1.wolfram.com:1.log

Test Xvnc

Once it is launched, it is a good idea to test the server by running an application to use it, for

example, the Mathematica front end This is shown below.

[server1]$ su tomcat

[server1]$ mathematica -display :1

Of course, when this is done, you do not see an actual window on your screen; this is because

it is a virtual server To see the window from the Mathematica front end, you can run the

vncviewer This can be done as shown below

[server1]$ vncviewer :1

This should show you a screen with the front end window visible You should be able to type

into the front end and see it working At any time webMathematica is running, you can view the

desktop with vncviewer

Trang 40

Configure webMathematica

The final step is to modify your MSPConfiguration.xml file to instruct the front end to use thisserver The setting of FrontEndLaunchFlags is described in the Appendix: Site Configuration.Here is a sample setting that connects to the X server on display :1

<FrontEndLaunchFlags>

-display :1 -nogui -geometry 1000x500+10+10

</FrontEndLaunchFlags>

Now your Unix server should be ready to run webMathematica.

If you find that the front end does not launch correctly, it may help to add the name of theserver in the configuration file An example is shown below; here, myserver is the name of the

machine on which webMathematica and Xvnc are running.

<FrontEndLaunchFlags>

-display myserver:1 -nogui -geometry 1000x500+10+10

</FrontEndLaunchFlags>

Other X Related Issues

The following section describes a number of further issues that relate to using webMathematica

in conjunction with an X server If you have set up an Xvnc server as described above it shouldnot be necessary to study these

Connecting to the X Server

When the Mathematica front end runs, it must connect to an X server If the X server is being

run by a different user than the user running the front end, the X server will reject the tion, as shown below

connec-[root]# su tomcat

bash$ mathematica

Xlib:connection to ":0.0" refused by server

Xlib:Client is not authorized to connect to Server

xset:unable to open display ":0.0"

Xlib:connection to ":0.0" refused by server

Xlib:Client is not authorized to connect to Server

xset:unable to open display ":0.0"

Xlib:connection to ":0.0" refused by server

26 webMathematica User Guide

Ngày đăng: 30/12/2018, 13:09

TỪ KHÓA LIÊN QUAN

w