|
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.
|