Now that you have successfully installed BEA TUXEDO, you must set up your system and parts of the BEA TUXEDO software to prepare for developing or installing your application. This chapter describes the required set-up tasks in the following sections:
Before you can invoke BEA TUXEDO System commands
you need to set several environment variables.
This section describes the environment variables
that you must set and export on a UNIX system.
If you are using an NT platform,
see "Setting Environment Variables"
in the BEA TUXEDO for Windows NT User's Guide
for instructions.
On a UNIX system
you need to set and export several environment variables.
The Bourne shell script
tux.env,
located in the base directory you specified at installation time,
serves as a model for setting these variables.
All examples below assume that you are using the Bourne shell.
Each BEA TUXEDO application has a configuration file,
commonly called the
UBBCONFIG
file,
which specifies the application parameters that are installation dependent.
Typically, the configuration file has a name that begins with
ubb
and ends with something mnemonic,
such as
ubbsimple.
If you are not using the Web-based GUI,
you will probably have to edit this file before you can boot the application.
As an example, we show the configuration file from the Simple Application,
found in
$TUXDIR/apps/simpapp.
The configuration file is called
ubbsimple.
Figure 1 shows
ubbsimple
the way it is delivered.
If you need to look up other values
when editing your configuration file,
the complete syntax can be found on the
ubbconfig(5)
man page.
Note: The configuration file must be edited before you use
tmloadcf(1)
to verify the
IPC
requirements (see the next section), or
tmloadcf
will fail with syntax errors.
The BEA TUXEDO System uses UNIX system Interprocess Communications (IPC)
resources heavily.
On many UNIX system platforms the default values for
the parameters that control the size and quantity of the various
IPC
resources are below the minimums needed to run even a modest
BEA TUXEDO System application, so it becomes necessary to reset some of
the parameters.
After editing your configuration file, the next step
in determining how things stand with your application
is to determine if the
IPC
resources suffice for the application.
To do this, invoke the
tmloadcf(1)
command, specifying your edited configuration file as input:
An example of the output is shown in Figure 2,
which is based on the values in
ubbsimple.
Fixed Minimums Per Processor
SHMMIN: 1
SHMALL: 1
SEMMAP: SEMMNI
Variable Minimums Per Processor
SEMUME, A SHMMAX
SEMMNU, * *
Node SEMMNS SEMMSL SEMMSL SEMMNI MSGMNI MSGMAP SHMSEG
------ ------ ------ ------ ------ ------ ------ ------
sftuxe 17 5 12 A + 1 13 26 75K
where 1 = A = 8.
The number of expected application clients per processor should
be added to each MSGMNI value.
This output indicates that
to run the Simple Application,
your UNIX system must have
SEMUME,
SEMMNU,
and
SEMMNS
set to no less than 17.
SEMMSL
must be at least 5, and
SEMMNI
and
SEMMAP
at least 4
(assuming
A
is 3).
MSGMNI
must be at least 13, and
MSGMAP
at least 26.
Finally, the product of
SHMMAX
and
SHMSEG
must be at least 75K bytes.
Of course, the
IPC
values are application dependent,
and the numbers in this example reflect a very small configuration.
If other applications that use
IPC
resources are running on the same system with a BEA TUXEDO application,
then the requirements of both applications must be satisfied.
Keep in mind also that every node participating in an application
must have sufficient
IPC
resources available.
If the current IPC resources are inadequate,
you must increase
the values of the associated IPC parameters.
For instructions on determining and changing
the current IPC values for your platform,
see the data sheet for your platform in Appendix A.
The Universal Device List (UDL) is like
a map of the BEA TUXEDO System file system.
It gets loaded into shared memory when the application
is booted.
The
TLOG
refers to a log in which information on transactions is
kept until the transaction is completed.
To create the
UDL,
execute the following command before the application has been booted:
Several
parameters in the *MACHINES section of the
UBBCONFIG
file are used to define
a global transaction log (TLOG).
The BEA TUXEDO administrator must manually create the device
list entry for the
TLOGDEVICE
on each machine where a
TLOG
is needed.
This can be done either before or
after
TUXCONFIG
has been loaded, but it must be done before the system is booted.
To create an entry in the
UDL
for the
TLOG
device,
create the
UDL
as described above on each node that will be involved with global transactions.
If the
TLOGDEVICE
is mirrored between two machines,
it is not necessary to do this on the paired machine.
The
BBL
then initializes and opens the
TLOG
during the boot process.
When used in a distributed environment,
BEA TUXEDO requires the capability
to start, shut down, and administer processes on remote nodes
running BEA TUXEDO servers.
The
tlisten(1)
process provides this facility.
Once
tlisten
is running,
tmboot(1),
for example,
can start BEA TUXEDO servers on remote nodes.
tlisten
is a generic listener
process that operates with either of the two network
interfaces: Sockets or
TLI.
It runs as a daemon process,
and there are several ways it can be started:
In all cases the same basic invocation syntax is used:
Note: If your system uses an environment variable other than
LD_LIBRARY_PATH
for the shared library path,
specify that variable, instead.
The -d and -l options are required.
The value for -d represents the network provider.
The correct values for various platforms are shown in Figure 3.
The value for -l should be the same as that specified for the
NLSADDR
parameter in the *NETWORK
section of the configuration file.
For information on determining the value of
NLSADDR,
see the
ubbconfig(5)
or
tlisten(1)
man page, or the
BEA TUXEDO Administrator's Guide.
Use the -u appuid option when the command is
part of an installation script run by root.
The value of appuid is the UID or login
name of the BEA TUXEDO administrator;
the numeric version is the same as the value of the UID
parameter in the *RESOURCES section of the configuration file.
This means that even though the tlisten
process is started by root, it runs with the
effective UID of the owner of the BEA TUXEDO installation.
If
tlisten
is started by the BEA TUXEDO
administrator either manually or as a cron job,
the -u option is unnecessary, since the job is already
owned by the right account.
The
TYPE
parameter in the *MACHINES section of
a configuration file specifies the invocation of the
XDR
(EXternal Data Representation)
encode/decode routines
when messages are passed between unlike machines.
The term ``unlike'' applies even to machines
of the same type if the compiler on each machine is different.
In such a case, give each machine a unique
TYPE
string to force the message to go through the
encode/decode
routines.
Now that you have successfully installed the BEA TUXEDO System,
you need to rebuild
all application clients and servers that will execute
on systems upgraded to Release 6.4.
You should also remove the old
TUXCONFIG
files and reload them using the newly installed
tmloadcf(1).
If your BEA TUXEDO applications are distributed,
then the master and backup master nodes must run the highest release
of BEA TUXEDO in the configuration.
Other nodes, including workstation clients,
may continue to use executables from the previous release.
For example, if your master and backup master are running Release 6.4,
then Release 4.2.2 or later may still be used on other nodes.
There is one important exception to the ``highest release'' rule.
If you wish to install Release 6.4 only
on workstation clients, but you do not want to upgrade any of your
BEA TUXEDO server nodes to Release 6.4, you may do so.
In other words, workstation clients at any release level
beginning with 4.2.2
may be intermixed freely in a configuration whose master
is running Release 4.2.2 or later.
The BEA TUXEDO libraries are not thread-safe.
This means that either
applications should not use threads, or
applications must serialize threaded access
through all BEA TUXEDO calls
(such as ATMI, FML, \f4userlog\f1( ), and so on).
Setting Up Your Environment
TUXDIR=/var/opt/tuxedo; export TUXDIR
PATH=$PATH:$TUXDIR/bin; export PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TUXDIR/lib; export LD_LIBRARY_PATH
TUXCONFIG=/var/opt/tuxapp1/tuxconfig; export TUXCONFIG
Editing a UBBCONFIG File
Fig. 1: The ubbsimple configuration file
#ident "@(#)apps:simpapp/ubbsimple 60.3"
#Skeleton UBBCONFIG file for the TUXEDO Simple Application.
#Replace the
Edit the configuration file for your application
to replace the strings enclosed in angle brackets
with values specific to your installation.
Here is a description of the kinds of values you need to provide:
Verifying IPC Requirements
tmloadcf -c ubbconfig
Fig. 2: Output produced by tmloadcf -c
Ipc sizing (minimum /T values only) ...
Creating the Universal Device List and TLOG
Creating the UDL
tmadmin -c
crdl -z config -b blocks
where
-z config
specifies the full pathname for the device where
the
UDL
should be created
and
-b
specifies the number of blocks to be allocated on the device.
config
should match the value of the
TLOGDEVICE
parameter in the *MACHINES section of the
UBBCONFIG
file.
Creating the TLOG
Starting the Listener Process
TUXDIR=tuxdir; export TUXDIR
LD_LIBRARY_PATH=libpath:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH
$TUXDIR/bin/tlisten -d devname -l nlsaddr -u appuid
Fig. 3: Network devices for tlisten
Platform
Device Name
AIX 4.1.4
/dev/null
AIX 4.2
/dev/null
DG-UX 4.11
/dev/tcp
Digital UNIX 4.0
/dev/streams/xtiso/tcp
Dynix/ptx 4.2
/dev/tcp
HP-UX 10.10
/dev/null
HP-UX 10.20
/dev/null
NCR SVR4 3.00
/dev/tcp
SCO 5.0
/dev/inet/tcp
SGI IRIX 6.2
/dev/tcp
SINIX 5.43
/dev/tcp
Solaris 2.5.1
/dev/tcp
Tandem NonStop-UX C21
/dev/tcp
Unisys SVR4 V1.4
/dev/tcp
UnixWare 2.1
/dev/tcp
Using the TYPE Parameter in UBBCONFIG
Rebuilding Applications
Threaded Access to Libraries