Content

  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

  In the following discussion TM_DIST is assumed to be set to /u/tsimmis/tmdist.public

  Make sure that $TM_DIST/tmp exists and is writable by all.
  ( mkdir $TM_DIST/tmp; chmod 777 $TM_DIST/tmp )

  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/tmdist.public/bin/biblio_wrap -s biblio -o TM_DIST:/u/tsimmis/tmdist.public"
    chmodit i+all biblio
    chmodit l+all biblio
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 server_name
    
    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 /u/tsimmis/tmdist.public tmdist
    
    
    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 $TM_DIST/mobie/stk_mediator.demo 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. Mobie can be invoked in a html page as a cgi command:

    "http://herring.stanford.edu/cgi-bin/tsimmis/tmdist/mobie/mobie_server?-c+stk_mediator.demo+-v1"

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