INTRODUCTION

Sesame Home Disclaimer Feature Tour Release Notes Bug Reports

USERS GUIDE

Help Pages How To Videos

ADMINS GUIDE

Installing Sesame Upgrading Sesame Source Code

CREDITS

People Funds History References Acknowledgments

OTHER

Publications Links NY Instance Site Search Open Positions Contact Us

Installing Sesame

Sesame is a three-tier Java/Corba distributed application. The light clients (1st tier) are written in Java, and can be started from a browser, or directly, using the Java Web Start technology, preferably using a desktop icon. The second tier is also written in Java. The third tier is a commercial relational database management system, and a file server. It is scalable, the clients are implicitly deployed, the maintenance of the 2nd and 3rd tier is hidden from users, and fault-tolerance is easily implemented (redundant hardware, load balancing, etc.). To use it, network access is required.

To install a Sesame instance, for server side, tier2 and tier3, one has to have a computer with

If the above 3 items will be on the same server, pick an OS, for which a combination is available. If multiple machines will be used on the server side, e.g. one or more for tier2, one or more for the RDBMS, one or more for the fileserver, and finally one or more for the webserver, the operating systems on them can be different. However, the less the variety, the easier to maintain.

To run the Sesame client, tier1, the only requirement is to have a JRE 7 or preferably a JRE 8 installed. No browser is required.

Download the three archives below, and unpack them.

The archives were created with 7-Zip.

To guarantee authenticity, all the jars are signed by a 'University of Wisconsin-Madison' certificate issued by 'InCommon Code Signing CA.'

Configuring tier3

Oracle 10g, 11g

PostgreSQL 8+

MySQL 5.7+

The sesame_init_*.sql script will create a locked Sesame user, Alibaba. There are no super powers associated with this user. Alibaba is the labmaster of the World lab. It is unlikely that one will have to ever log in as Alibaba.

Configuring tier2

Create a home directory for sesame tier2, and put the content of tier2.7z into it.

Download the jdbc driver for your db of choice, and put it into the same directory. The jdbc driver for Oracle 11g is for example, ojdbc6.jar, for PostgreSQL is for example, postgresql-9.4.1208.jar, and for MySQL is for example mysql-connector-java-5.1.41-bin.jar.

Edit SesameMain.properties to match your configuration.

Edit RunOrbd.bat or RunOrbd.sh, depending on your OS of choice, to match your configuration. The number after -ORBInitialPort is the org.omg.CORBA.ORBInitialPort number from the SesameMain.properties file, e.g. 6666

Edit RunServer.bat or RunServer.sh, depending on your OS of choice, to match your configuration.

Edit RunWebServer.bat or RunWebServer.sh, depending on your OS of choice, to match your configuration.

Specify the path to java in your installation, and substitute for the second jar the jdbc driver for your db.

Running tier2

Start orbd executing RunOrbd.bat or RunOrbd.sh

Start the server executing RunServer.bat or RunServer.sh

Start the web server executing RunWebServer.bat or RunWebServer.sh

From the message in the console, it will be clear, if the server and the web server started ok or not.

No need to start the web server if Sundial is not used or there is no need to view the Schedules in browsers.

Configuring tier1

Create a sesame directory in the webserver's document root, and copy all the files from tier1.7z archive to it.

Make sure that the webserver knows how to handle the jnlp MIME type

If you are running Apache, make sure that in httpd.conf you have

Timeout 300
KeepAlive On

Edit the jnlp files to match your configuration. The lines to be edited are:

Running a Sesame client application

In a browser open http://your_website/sesame then click on, say, Sheherazade button.

To start Sheherazade from a console:

full_path/bin/javaws http://your_website/sesame/sheherazade.jnlp

Install an icon for the client application, e.g. Sheherazade, on the desktop, and use it to start it later on. See Create a Sesame Application Desktop Icon for details.

Viewing Schedules in a browser

The Sesame Web Server responds only to specific HTTP requests, hence the URLs have to be well formed. For a spectrometer, the schedule for the current open period, the one that contains today, is:

http://machine:port/sk?sp=db_no&op=this

where machine is the computer where RunWebServer was started, port is the web server port from SesameMain.properties, and db_no is the database number of the spectrometer in the Spectrometers Lab Resource. The schedule is only generated if the open period exists and for a spectrometer that is public and operational.

For a spectrometer, the schedule for the next open period, the one after the current one, is:

http://machine:port/sk?sp=db_no&op=next

where machine is the computer where RunWebServer was started, port is the web server port from SesameMain.properties, and db_no is the database number of the spectrometer in the Spectrometers Lab Resource. The schedule is only generated if the open period exists and for a spectrometer that is public and operational.

For multiple spectrometers, today's schedules are:

http://machine:port/sk?sp=db_no_1&sp=db_no_2&sp=db_no_3&dy=this

where machine is the computer where RunWebServer was started, port is the web server port from SesameMain.properties, and db_no_1, db_no_2, db_no_3, etc., are the database numbers of the spectrometers in the Spectrometers Lab Resource. The schedules are only generated if today is in an open period exists and for spectrometers that are public and operational.

For multiple spectrometers, tomorrow's schedules are:

http://machine:port/sk?sp=db_no_1&sp=db_no_2&sp=db_no_3&dy=next

where machine is the computer where RunWebServer was started, port is the web server port from SesameMain.properties, and db_no_1, db_no_2, db_no_3, etc., are the database numbers of the spectrometers in the Spectrometers Lab Resource. The schedules are only generated if tomorrow is in an open period exists and for spectrometers that are public and operational.

For example, see the Live Schedules at NMRFAM.

The schedules in a browser are view only; to manipulate them, use Sundial.