1. TSIMMIS - Source Installation
  2. TSIMMIS - Setting up Wrappers and Clients
  3. TSIMMIS - Source Structure

TSIMMIS - Source Installation

Please follow these steps to install the TSIMMIS source:
  1. After getting the gzip'ed tar'ed file of TSIMMIS, extract the files using
       gunzip Tsimmis.tar.gz
       tar xvf Tsimmis.tar
  2. 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
  3. 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
     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
    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:
  1. 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.
  2. 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
  src/tests     - contains test driver, sample queries for
                  various components
  src/wrappers  - contains various wrappers, matcher, parser and
                  driver components