|
  |
  |
  |
    |
|
  |
|
           
Extreme 3   How to Minimize the Footprint of the 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:
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: 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   |