Sesame Laboratory Information Management System
INTRODUCTION
Sesame Home
Disclaimer
Quick Start
Feature Tour
Release Notes
Bug Reports

USERS GUIDE
Help Pages
How To

ADMINS GUIDE
License
Installing Sesame
Upgrading Sesame
Configurations
Hardware
Schema
Source Code
Distributions

CREDITS
People
Funds
History
References
Acknowledgments

OTHER
Publications
Random Notes
Links
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. 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

  • JRE 1.6 (aka 6) installed, (JRE 1.5 aka 5 will also suffice)
  • a RDBMS, Oracle 10g, PostgreSQL 8+ or SQL Server 2005 installed, and the jdbc driver for it
  • an installed webserver

If the above 3 items will be on the same computer, pick an OS, for which a combination is available. If multiple machines will be used on the server side, e.g. one for tier2, another one for the RDBMS, and a third one for the webserver, the operating systems on them can be different.

To run the Sesame client, (tier1,) the only requirement is to have JRE 1.6 or JRE 1.5 installed. No browser is required.

Download the three archives below, and unpack them.

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

Configuring tier3

Oracle 10g

  • create tablespace sesame
  • create user Alibaba, with default tablespace sesame
  • grant roles query rewrite, unlimited tablespace, connect and resource to user Alibaba
  • connect to the db as user Alibaba, and run sesame_init_oracle.sql
  • make sure TCP/IP connection is enabled

PostgreSQL 8+

  • create user Alibaba
  • create tablespace sesame, owner Alibaba
  • create database sesame, owner Alibaba, tablespace sesame
  • connect to the db as user Alibaba, and run sesame_init_postgres.sql
  • make sure TCP/IP connection is enabled

SQL Server 2005

  • create database sesame
  • create user Alibaba, with default database sesame and default schema sesame
  • grant roles db_owner and public to user Alibaba
  • connect to the db as user Alibaba, and run sesame_init_sqlserver.sql
  • make sure TCP/IP connection is enabled
  • make sure mixed authentication is enabled

The sesame_init_*.sql script will create a sesame user "Alibaba" with "password" password. There are no super powers associated with this user. Alibaba is the labmaster of the World lab. Once Sesame is up and running, start one of the client applications, log in as Alibaba, and change the password. It is unlikely that one will have to log in as "Alibaba" ever again.

Configuring tier2

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

Download the jdbc driver for your db of choice, and put it into the same directory. The jdbc driver for Oracle 10g is called ojdbc14.jar, for SQL Server sqljdbc.jar, and for PostgreSQL, for example, postgresql-8.2-504.jdbc2.jar, depending on the version.

Edit SesameMain.properties to match your configuration.

  • sesame.numberofdbconnections - number of maximum simultaneous Sesame connections (users), e.g. 120. Make sure that the db is configured to handle at least the same number of connections.
  • sesame.namecomponent1 - one word, e.g. MyDispenser
  • sesame.namecomponent2 - one word, e.g. MyVault
  • sesame.dbtype - one of: Oracle, PostgreSQL or SQLServer
  • sesame.dbhost - localhost if the Sesame server is running on the same computer as the db, the ip name, or the ip number, of the computer running the db otherwise.
  • sesame.dbport - the port the db listens to. depends on the db and on the installation.
  • sesame.dbname - sesame (the name of the db created above)
  • sesame.dbusername - Alibaba (the user that was created while configuring the db above)
  • sesame.dbpasswrod - the password for the Alibaba (db)user
  • sesame.nmrfilefolder - where all the nmr experiment related files and images will be stored. has to be accessible by tier2.
  • sesame.xrayfilefolder - where all the screen related files and images will be stored. has to be accessible by tier2.
  • sesame.imagefilefolder - where the images attached to items (sans the above ones) will be stored. has to be accessible by tier2.
  • sesame.atchfilefolder - where all the files attached ot items (sans the above) will be stored. has to be accessible by tier2.
  • sesame.mailserver - a mailserver used by sesame to send out emails, or leave it empty if you don't want Sesame to send emails to users.
  • sesame.mailfrom - the email address of sesame, used by sesame when sending out emails, or the email address of the sesame administrator.
  • sesame.home - your sesame home page (our is http://www.sesame.wisc.edu). part of the welcome message for newly registered users.
  • sesame.dumpsleep - number of milliseconds to sleep between item dumps
  • sesame.logclientinfo = true or false, to log laboratory wide xml dumps
  • org.omg.CORBA.ORBInitialHost - the ip of the computer the orbd is running on
  • org.omg.CORBA.ORBInitialPort - the orbd port, e.g. 6666

Edit RunServer.bat or RunServer.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

For Example:

C:\Program Files\Java\jre1.6.0_01\bin\orbd -ORBInitialPort 6666

or,

/usr/java/jre1.5.0_06/bin/orbd -ORBInitialPort 6666 &

where 6666 is the org.omg.CORBA.ORBInitialPort value from SesameMain.properties

Start RunServer.bat or RunServer.sh

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

Configuring tier1

Create a sesame direcotry in the webserver's document root, and copy all the files from tier1.zip 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:

  • codebase="http://your_website/sesame" - is the URL to the directory that contains the tier1 files
  • property name="org.omg.CORBA.ORBInitialHost" value="ip_of_the_machine_that_runs_the_orbd" - the ip number of the computer that runs orbd
  • property name="org.omg.CORBA.ORBInitialPort" value="6666" - the port for orbd, same like in SesameMain.properties
  • property name="sesame.NameComponent1" value="MyDispenser" - same like in SesameMain.properties
  • property name="sesame.NameComponent2" value="MyVault" - same like in SesameMain.properties

Contact us if you want a sesame_header.jpg that has your instituiton's name and logo in it.

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 e.g. the Sheherazade icon on the desktop, and use it to start the application later on. See the Java Web Start documentation for details.


Feedback, Questions, or Bugs
Copyright © 1999-2008 Zsolt Zolnai, and the University of Wisconsin - Madison