Company

Products

Services

Partners

Media

 

 

 

Home

Consulting

Mobile Solutions


Tech Support

Training Courses

Course Description

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

       

                       
                             
                         

Company
Information
GSA Contracts
Careers
Privacy Policy 
Contact US

Products
Empress RDBMS
Empress Servers
Empress API
Free Trial
 
Empress iPad Apps
 

Services
Consulting
Mobile Apps Development
Technical Support

Training Courses
Empress Extreme  

Partners
Distributors
Business Alliances
Partner Programs  
GSA Program
Distributors Program

Media 
Empress Markets
News and Events
Press releases
Technical News
Success Stories

        USA: 301-220-1919                 Canada & International:       905-513-8888         
Copyright 2014           Empress Software Inc.           info@empress.com           Join Empress Mailing List