Company         Products         Services         Partners         Media      
 
 Empress Extreme

Home

 

Empress Technical Support


Tech Support

Training Courses

Course Description

Consulting

Email: Support

Downloads

Empress Extreme

 

Extreme 3

How to Minimize the Footprint of the
Empress Runtime Configuration

 

Introduction

    Many Empress Users/Distributors/Value Added Resellers (VARs) have a need to deploy the target application to a particular minimal environment where the usage of resources is of the utmost importance. Empress regular distribution installation has many products/features/utilities/demos that could be eliminated from the target deployment configuration.

    This technical note will describe how to create minimal runtime environment for the Empress user application that does not require running any Empress Servers. The user application can be built by choosing one of the following Empress interfaces:

    • Empress C/C++ API Embedded SQL,
    • Empress C/C++ API MR Routines or
    • ODBC API with Empress ODBC Local Access Driver.

    The minimal set of components required for the target deployment (the components that will be copied from the development machine to the target machine) are:

      1. User application

      User application could be built by using different Empress interfaces. It can be either statically or dynamically compiled/linked with Empress libraries.

      2. Database

      We assume that a user application will require one or more databases. Then the database itself (either containing some user data or empty) will have to be copied to the target machine.

      If the database is configured to use shared memory to store locking information, user data or system metadata, in some platforms (e.g. HP-UX, Microsoft Windows), where a shared memory is implemented by a mapped file, the following directory would have to be created on the target platform in advance:

      mkdir -p Empress_runtime_directory/rdbms/spool/shm

      The "shm" directory should be created with the appropriate permissions.

      3. $EMPRESSPATH/common/nls/nlsfile_english

      This is a file which contains Empress message information, such as error messages.

      4. $EMPRESSPATH/config/initfile

      This is a file which contains Empress system variables' default settings and a license key. A license key should be made appropriate for the target machine.

      5. $EMPRESSPATH/shlib (only if shared libraries are required)

      This is a directory that contains Empress shared libraries. This directory is needed only if the user application has to be dynamically compiled/linked with Empress shared libraries. Otherwise, if the user application has to be statically compiled/linked with Empress libraries, Empress static libraries will be contained in the user application executable. If Empress Persistent Stored Modules (PSM) are used in the database shared libraries have to be present.


Example

    In this technical note we present an example of how to make minimal runtime configuration installation using the Empress V8.62 for Intel x86 running on Linux 2.4 in the development and the target machines.

    Take the following steps, in order to make application empApp able to run on the target machine:

    1. On the Development Machine

       empcc -o empApp empApp.c
       mkdir empdir
       cp empApp empdir
       cp -r db empdir/db
       cd empdir
       mkdir -p common/nls
       cp $EMPRESSPATH/common/nls/nlsfile_english common/nls
       mkdir config
       cp $EMPRESSPATH/config/initfile config
      # initfile on the development machine might contain
      # an incorrect license key for the target machine.
      # Hence, a proper target machine initfile license key
      # should replace the existing one in that case.
       cp -r $EMPRESSPATH/shlib shlib
       cd ..
       tar cf empdir.tar empdir
    
     

    2. Copy the Archive File onto the Target Machine

    3. On the Target Machine

    
    
       tar xf empdir.tar
       cd empdir
       setenv EMPRESSPATH `pwd`
       setenv LD_LIBRARY_PATH $EMPRESSPATH/shlib
       ./empApp

Contact Us   Contact Distributors   Company  Products   Services   Partners    Media    Product Profile   Free Trial    Home

    USA: 301-220-1919          Canada & International:    905-513-8888             

          Copyright © 2010               Empress Software Inc.              info@empress.com