Content
- TSIMMIS - Source Installation
- TSIMMIS - Setting up Wrappers and Clients
- TSIMMIS - Source Structure
TSIMMIS - Source Installation
Please follow these steps to install the TSIMMIS source:
- After getting the gzip'ed tar'ed file of TSIMMIS, extract the files using
gunzip Tsimmis.tar.gz
tar xvf Tsimmis.tar
- Change your working directory to Tsimmis and set the following environment
variables to build the executables on a UNIX platform:
cd Tsimmis
setenv OSTYPE `uname -s | tr "[A-Z]" "[a-z]"`
setenv TSIMMIS_HOME `pwd`
setenv TM_DIST $TSIMMIS_HOME/tmdist.$OSTYPE
Customize the UNIX environment by modifying the files in the directory
src/setup. The platform specific makefile is _$OSTYPEmk.m
- Run the make command in the source directory to build the executables:
cd src
make install >& ${OSTYPE}1.install
All the files required for running the TSIMMIS wrappers and clients are
copied into the TM_DIST area.
TSIMMIS - Setting up Wrappers and Clients
The TSIMMIS wrappers (servers) and clients use IONA Technologies' Orbix, an
implementation of the CORBA standard, to communicate with each other.
For Orbix, $OSTYPE has to be set to 'sunoscc', because it
requires Solaris' native C, C++ compilers. The client/server interface is
based on the I3 protocol developed at Stanford.
The Orbix daemon needs to be brought up with the -u option. For example the
relevant line in /etc/rc2.d/S99orbixd should read
...
IT_DEFAULT_COMMS=tcp
IT_DEFAULT_CODE=xdr
export IT_DEFAULT_COMMS
export IT_DEFAULT_CODE
/opt/Orbix_2.2MT/corba2/bin/orbixd -u > /tmp/Orbix_Daemon_Output 2>&1 &
...
instead of
...
/opt/Orbix_2.2MT/corba2/bin/orbixd > /tmp/Orbix_Daemon_Output 2>&1 &
...
A wrapper object (e.g., biblio) can be registered with Orbix using the
following commands:
putit biblio /u/tsimmis/bin/biblio_orbix
chmodit biblio i+all
chmodit biblio l+all
The shell script /u/tsimmis/bin/biblio_orbix looks like:
#! /bin/sh
rm -f /tmp/mbiblio_out /tmp/mbiblio_err
TM_DIST=/u/tsimmis/Tsimmis/tmdist.$OSTYPE
export TM_DIST
$TM_DIST/bin/biblio_wrap 1> /tmp/mbiblio_out 2> /tmp/mbiblio_err
Once a wrapper is registered with Orbix, Orbix automatically starts the
wrapper (if the wrapper is not already running) when a client program is
executed.
The clients can talk to a TSIMMIS wrapper in two ways:
- Using the text based client
A module called 'tmclient', available in the $TM_DIST/bin area, can be used to
talk to a TSIMMIS wrapper. It is invoked by:
$TM_DIST/bin/tmclient -s
where server_name
is the name of the wrapper, e.g., biblio.
- Using the web browser
This method makes use of Mobie, the web-based interface to TSIMMIS.
The following links need to be setup in the cgi-bin directory
(e.g., in /u/tsimmis/public_html/cgi-bin):
cd /u/tsimmis/public_html/cgi-bin
ln -s $TM_DIST/bin/mobie_client mobie_client
ln -s $TM_DIST/bin/mobie_server mobie_server
ln -s $TM_DIST/support_files support_files
ln -s $TM_DIST/etc/.mobieconfig .mobieconfig
One may also need to create a link in the /httpd/cgi-bin area.
cd /httpd/cgi-bin
ln -s /u/tsimmis/public_html/cgi-bin tsimmis
The file .mobieconfig
contains the configuration information for
Mobie, details about the supported wrappers, and sample queries for
various wrappers.
This file may need to be modified to suit the environment and requirements.
Make sure that $TM_DIST/support_files and $TM_DIST/files is writable by all.
chmod 777 $TM_DIST/support_files $TM_DIST/files
Mobie can be invoked in a html page as
a cgi command (.../cgi-bin/USERNAME/mobie_server
).
TSIMMIS - Source Structure
src - contains all the TSIMMIS source files
src/clients - contains simple client, mobie client and other
mobie support files
src/common - contains client/server common files, OEM_Object files
src/files - contains data files such as bibliographic files
src/mediators - contains engine, mediator-kernel components
src/orbix - contains Orbix interface files
src/setup - contains platform specific, common makefile
components
src/tests - contains test driver, sample queries for
various components
src/wrappers - contains various wrappers, matcher, parser and
driver components