Skip navigation.

Administration Console Online Help

  Previous Next vertical dots separating previous/next from contents/index/pdf Contents Index View as PDF   Get Adobe Reader

Architecture and Implementation

This appendix is a guide to the architecture and implementation of the BEA Tuxedo Administration Console. It is meant for advanced users and developers who are familiar with the concepts and protocols of the World Wide Web and Java programs.

 


Architecture Overview

The BEA Tuxedo Administration Console applet is an advanced client-server application, written in Java on the client side, and C on the server side. The client (user) machine runs a Java applet, and the BEA Tuxedo server machine runs a gateway program that interfaces with the BEA Tuxedo MIB (Management Information Base) via a custom protocol.

A Web (HTTP) server is not needed for the actual operation of the GUI, but is necessary for delivering the applet code to the Web browser, and for displaying the online help and snapshots. If you do not already have a Web server on your system, you can use tuxwsvr, which is delivered with the BEA Tuxedo software.

The Web server does two things:

The gateway program run on the server machine (as mentioned previously) is called wgated. It is not run directly, but is kicked off by the BEA Tuxedo Administration Console listener, wlisten. If you run the ps command while the GUI is running, you will see one or more wgated processes.

Both tuxwsvr and wlisten listen on distinct network ports waiting for requests to arrive. They know nothing about each other. Therefore, the GUI needs two network ports to operate. These are different from the network ports that are configured in the UBBCONFIG file for the Bridges and tlisten processes.

In order for a Web browser to run a Java applet, the browser must load an HTML file containing an <APPLET> element. The applet element contains the name of the program, and the parameters to it. It is similar to a command line in an ordinary program.

You could certainly hard-code the applet element for a particular invocation of the GUI, and then retrieve that HTML page with your Web browser. However, the flexibility of the BEA Tuxedo Administration Console architecture makes it unnecessary for you to do so. An initialization file (or .ini file) controls the operation of the GUI. Some of the parameters in the ini file control the applet, some control the server gateway, and some are used by both.

The tuxadm CGI program mentioned above reads the ini file, and merges it with an HTML template file, generating the applet HTML on the fly. The template file, delivered with the BEA Tuxedo software, resides in:

$TUXDIR/udataobj/webgui/webgui.html

This is a bare bones template; customers are expected to add their corporate style to it. All that tuxadm does is replace the keyword %APPLET% with the actual applet element. You can specify an alternate location for the template by setting the TEMPLATE parameter in the server's initialization file (see the following instructions).

If you use the "View Source" feature of your Web browser while the GUI is running, you can see this expanded HTML page that is used to deliver the applet.

Before continuing, look at the following example of HTML code generated by tuxadm:

Listing A-1 Sample HTML Code

<HTML>
<HEAD>
<TITLE>BEA Administrator Console Applet Screen</TITLE>
</HEAD>
<BODY>
<CENTER>
<H1>The Applet is Loading</H1>
<APPLET ARCHIVE="bea/tuxadm/TuxApplet.jar"
CODE="bea/tuxadm/TuxApplet.class"
WIDTH="400" HEIGHT="150" CODEBASE="/java">
<PARAM NAME="TUXDIR" VALUE="/usr/tuxedo">
<PARAM NAME="PORT" VALUE="4009">
<PARAM NAME="WIDTH" VALUE="400">
<PARAM NAME="HEIGHT" VALUE="150">
<PARAM NAME="ENCRYPTBITS" VALUE="0">
<PARAM NAME="DOCBASE" VALUE="/docs">
<PARAM NAME="SNAPBASE" VALUE="/java/snapshot">
<PARAM NAME="TOTALDOMAINS" VALUE="2">
<PARAM NAME="DOMAINNAME0" VALUE="simpapp">
<PARAM NAME="TUXCONFIG0" VALUE="/home/sdo/simpapp/tuxconfig">
<PARAM NAME="DOMAINNAME1" VALUE="bankapp">
<PARAM NAME="TUXCONFIG1" VALUE="/home/sdo/bankapp/tuxconfig">
<B>Your browser does not appear to support JAVA.
Administration Console must be run on a JAVA capable browser.CCheck your browser's options to see if JAVA processing has been disabled.</B>
</APPLET>
</CENTER>
</BODY>

</HTML>

Note: If you are using encryption for communication between the Administration Console applet and server, the HTML code generated by tuxadm contains some Javascript code. To see this generated code, use "View Source."

Now you can see why you do not want to create this by hand.

 


Running the Web Server

To deliver the above HTML and the applet to the Web browser, a Web server must be running.

To run tuxwsvr, use the following command line:

tuxwsvr -l //machine:port -i ini-file

You may have to replace /dev/tcp with the pathname of the correct device name for the network device. This device will be the same one that you used for tlisten, and that you specify for the BRIDGE parameter in the UBBCONFIG file. The string machine:port is based on the standard DNS naming convention used by BEA Tuxedo. Web servers usually run at port 80. However, because you must be root in order to use that port, we recommend selecting a different one, for example:

//lcuw99:8080

Note: This is not the port number that you saw in the applet element shown previously. That port number was the one given to WLISTEN, not TUXWSVR. We haven't discussed WLISTEN yet.

The ini-file contains the directory mappings for the Web server.

No administrator wants to open up the entire file system to outsiders. Therefore, several aliases are provided for the directory names used by the BEA Tuxedo Administration Console:

If you do not want the ULOG and Event snapshot files to be written in your Java directory, you may need another alias for a replacement snapshot directory.

When you installed BEA Tuxedo software from CD, you created a Web server ini file automatically. However, if you do not care for the default values in that file, you will need to create your own ini file.

Add the following to your ini file for the Web server:

CGI      /cgi-bin   TUXDIR/bin
HTML     /java TUXDIR/udataobj/webgui/java
HTML     /TUXDIR/udataobj/webgui

Note: TUXDIR should be replaced by the full path to the BEA Tuxedo root directory, e.g., /usr/tuxedo. Do not put the word TUXDIR in the ini file.

What does this mean? Well, when the Web server gets the initial request to run the CGI program, it will look like /cgi-bin/tuxadm.

The above file maps this to the BEA Tuxedo bin directory, where tuxadm resides. In a secure environment, you would not do this; you would copy tuxadm somewhere else (or you might need it to be a shell script that sets LD_LIBRARY_PATH and executes the real tuxadm). It also helps to have TUXDIR set in the environment before running tuxwsvr.

The APPLET element has an attribute called CODEBASE which, as you can see from above, is /java. When the Web browser attempts to retrieve the applet from the Web server using the path /java/bea/tuxadm/TuxApplet.class, the above ini file remaps that to the following:

$TUXDIR/udataobj/webgui/java/bea/tuxadm/TuxApplet.class 

The mapping of / to udataobj/webgui is used to map the top-level Web page, webguitop.html. (Because the java directory is right under the webgui directory, the mapping of /java in the tuxwsvr.ini file is not strictly needed. We have put it there for illustration purposes, in case you want to move your Java files elsewhere.)

If you have installed the BEA Tuxedo online documentation, you will probably also have a mapping for the documentation.

The Web server's ini file can contain multiple CGI and HTML lines, and they are processed in sequential order until a match is reached.

This is a good place to describe the difference between the webgui.ini parameters that end in DIR and BASE. DIR means a directory on the server, where wlisten was run. The server programs use files there.

BASE means the URL prefix that a Web browser uses to retrieve a document. The CODEBASE for the Java code is /java, but the server directory for the Java code is /usr/tuxedo/udataobj/webgui/java.

 


Configuring the BEA Tuxedo Administration Console

The next step is to set up the webgui.ini file, which is used by tuxadm and wlisten. tuxadm will look in $TUXDIR/udataobj/webgui/webgui.ini if it is not given the INIFILE parameter (more on this later). wlisten requires the ini file path on the command line (more later). (If you have installed BEA Tuxedo using the installation utility, you probably have a usable webgui.ini file already.)

Note: This is a different ini file from the one described for the Web Server. Listing A-2 shows what your ini file might look like:

Listing A-2 Sample webgui.ini File

TUXDIR=/usr/tuxedo
INIFILE=/home/sdo/gui/webgui.ini
NADDR=//lcuw99:4009
DEVICE=/dev/tcp
ENCRYPTBITS=128
DOCBASE=/tuxdocs
CODEBASE=/java
WIDTH=400 (optional)
HEIGHT=150 (optional)
FRAMEWIDTH=800
FRAMEHEIGHT=450
TEMPLATE=/usr/tuxedo/udataobj/webgui/webgui.html (optional)
DOMAIN=simpapp;/home/sdo/simpapp/tuxconfig
DOMAIN=bankapp;/home/sdo/bankapp/tuxconfig
DOMAIN=...

The DOMAIN list is optional, especially if you are using the GUI to create your domains from scratch.

For each domain in the domain list (up to 64), include a DOMAIN line that looks like:

DOMAIN=domain_name;tuxconfig-path

The value of tuxconfig-path is the real path, not the aliased path.

Now you can see how the APPLET HTML code is generated by tuxadm.

Once you start using the GUI, it will add some lines to the ini file to store such information as your folder selection lists, and the options you set from the options button.

 


Running wlisten

Before running wlisten, you need to set the FML32 environment variables so that the programs can find the BEA Tuxedo MIB field tables. Set the following variables as shown:

FLDTBLDIR32=$TUXDIR/udataobj
FIELDTBLS32=tpadm,evt_mib

The command line for wlisten is:

wlisten -i ini-file

wlisten can operate in either of two security modes:

These modes can be used together or authentication can be used by itself.

Authentication is done based on the tlisten password file. If there is a file of passwords called tlisten.pw, in either $TUXDIR/udataobj or $APPDIR/.adm, then the user is required to enter a username and password when the applet starts. The password must match one of the passwords in the password file, or authentication fails. The username is passed to tpinit when the GUI gateway program, wgated, connects to BEA Tuxedo.

If encryption is also being used, then the communications that occur from then on, between the applet and the server, are encrypted using RSA encryption.

 


Starting the BEA Tuxedo Administration Console (for Nonexpert Users)

Now that you have a Web server and a wlisten running, it is time to run the BEA Tuxedo Administration Console.

The installation script places a file called webguitop.html in the directory used by the Web Server for its general HTML files. The bottom of this file has a Submit FORM, which generates the URL to run tuxadm (the CGI program).

You would normally bring up this Web page by entering the following URL:

http://lcuw99:8080/webguitop.html

and clicking the button at the bottom.

If you want to edit the default webguitop.html file, you should go to the very bottom, where you will see:

<FORM ACTION="http://HOST/CGI-BIN/tuxadm">
<INPUT TYPE=HIDDEN NAME="TUXDIR" VALUE="TUXDIRVALUE">

You should edit it to something like:

<FORM ACTION="/cgi-bin/tuxadm">
<INPUT TYPE=HIDDEN NAME="INIFILE" VALUE="/home/sdo/gui/webgui.ini">

where INIFILE is set to the place where you have put your GUI ini file.

 


Starting the BEA Tuxedo Administration Console (for Developers)

If you have previously agreed to the software license on the webguitop.html page, you can proceed directly into the GUI by using the special URL:

http://machine:port/cgi-bin/tuxadm?TUXDIR=tuxdir-path&INIFILE=inifile-path

The port is the port at which you ran the Web server (tuxwsvr), not the wlisten. You will get strange results if you use the wlisten port by mistake.

The tuxdir-path is the absolute path of the BEA Tuxedo root directory on the server machine. The inifile-path is the absolute path of the ini file for the wlisten (not the Web server). INIFILE should match the INIFILE parameter within the ini file. You can leave out the entire &INIFILE= . . . if the INIFILE is in the default location of $TUXDIR/udataobj/webgui/webgui.ini.

The URL that would be used in our example is:

http://lcuw99:8080/cgi-bin/tuxadm?TUXDIR=/home/units/
r63&INIFILE=/home/sdo/gui/webgui.ini

 


Using Appletviewer

This is an advanced topic not needed by most Administration Console users. However, if you are a Java programmer, you might want to know how to run the Administration Console using the Appletviewer (the standalone program for running a Java applet).

Note: BEA has not tested, nor does it support using Appletviewer, but in special circumstances, (for example, if your Web Server is not working properly), you might want to run the console using the Appletviewer.

The applet code and images can be installed on a machine where the Java Appletviewer program will be run.

The HTML containing the APPLET element needs to be modified in two ways: the CODEBASE needs to point to a local directory on the machine, and you need to add a HOST parameter to give the DNS name of the machine on which wlisten is running.

In our example from above, your APPLET element would have a new PARAM tag that looks like:

<PARAM NAME="HOST" VALUE="lcuw99">

This HOST parameter is undocumented, so do not look for it anywhere.

The Web server is not used in this configuration. However, since you are not using a browser, you will not be able to use the Help system, nor see the ULOG and Event snapshots. The BEA Administration Console has not been tested on and therefore does not support Java version 1.1.

 

Back to Top Previous Next