|
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
-
a JRE 6 or a JRE 7 installed,
-
an RDBMS, in partucilar, Oracle 10g, 11g, PostgreSQL 8+, or, SQL Server 2005 installed, and the jdbc driver for it, and,
-
a webserver installed.
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 6 or
a JRE 7 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
-
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 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.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 well related files and images
will be stored. has to be accessible by tier2.
-
sesame.emfilefolder - where all the EM Screen related files and images
will be stored. has to be accessible by tier2.
-
sesame.orffilefolder - where all the ORF related files and images
will be stored. has to be accessible by tier2.
-
sesame.vsfilefolder - where all the V Screen well 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.logclientinfo - true or false, to log the tier1 'info' messages.
-
sesame.dumpsleep - number of milliseconds to sleep between item dumps
-
sesame.reaperdelay - if a client connection is idle for this number of hours,
the user will be logged out, and the connection will be reclaimed.
The default value is 24.
-
org.omg.CORBA.ORBInitialHost - the ip of the computer the orbd is running on
-
org.omg.CORBA.ORBInitialPort - the orbd port, e.g. 6666
-
com.sun.CORBA.transport.ORBTCPReadTimeouts - improves the robustness of the connection.
Unless you are very familiar with these parameters, do not change these values.
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\jre6\bin>orbd -ORBInitialPort 6666
or,
/usr/bin/orbd -ORBInitialPort 6666 &
where 6666 is the org.omg.CORBA.ORBInitialPort value from SesameMain.properties
Start the server executing RunServer.bat or RunServer.sh
From the message in the console, it will be clear, if the server started ok or not.
Configuring tier1
Create a sesame directory 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
-
property name="com.sun.CORBA.transport.ORBTCPReadTimeouts" value="1:15000:5000:1"
- same like in SesameMain.properties
-
property name="sesame.InstanceName" value="MyInstanceName" - the name of your Sesame instance, that will be shown in the title bar of the client applications' window.
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.
|