BEA Logo BEA eLink Adapter into WebLogic Enterprise CORBA 1.0

  Corporate Info  |  News  |  Solutions  |  Products  |  Partners  |  Services  |  Events  |  Download  |  How To Buy

 

   eLink Adapter into WebLogic Enterprise CORBA Doc Home   |   BEA eLink Adapter into WebLogic Enterprise CORBA User Guide   |   Previous Topic   |   Next Topic   |   Contents   |   Index

eLink Adapter for CORBA Configuration

 

This section contains instructions and information for configuring the eLink Adapter for CORBA to run in the WLE environment.

This section contains the following topics:

 


eLink Adapter for CORBA Configuration Components

Configuring the eLink Adapter for CORBA is a central task of the administrator. In configuring the adapter, you are defining the services to be made available by the adapter. In addition to adapter specific configuration, you must configure the FML32 fields to be used in a specific domain, define information necessary to boot the application you use, and describe the relationship between the local and remote domains being utilized. All this configuration is accomplished through the use of configuration files you will create, edit and compile. These configuration files work together to configure the eLink Adapter for CORBA. The following architectural diagram provides an overview of the configuration components for the eLink Adapter for CORBA and illustrates how they work together.

Figure 4-1 eLink Adapter for CORBA Configuration Components

The following files must be modified to configure the eLink Adapter into WebLogic Enterprise CORBA for use with the WebLogic Enterprise product. The order in which each component is described is the same order in which you should configure the eLink Adapter for CORBA.

 


eLink Adapter for CORBA Configuration Prerequisites

The following configuration prerequisites must be met prior to beginning the eLink Adapter for CORBA configuration.

Setting Application Environment Variables

In order to function properly, the various eLink Adapter into WebLogic Enterprise CORBA components require certain environment variables concerning the operating system environment in which the servers reside. The setenv file that installs with your eLink Adapter into WebLogic Enterprise CORBA software is a sample script that sets environment variables.

For multiple-domain configurations, these environment variables must be set for both the local and remote domains. Additionally, if you modify the configuration of your eLink Adapter for CORBA system or the supporting software, you must also update the setenv.sh file to reflect those changes. The setenv.sh file is located in the samples directory, $TUXDIR/eLink/elcorba/samples.

You must set the following environment variables for the application to be configured successfully:

The following listing provides an example of the environment variables.

Listing 4-1 Local Environment Variable Example


#!/bin/ksh
export TUXDIR="/opt/tuxedo"
export PATH=$PATH:$TUXDIR/bin
export SHLIB_PATH=$TUXDIR/lib
export TOBJADDR="//dalhp5:2468"
export APPDIR="/work/test/testcorba"
export TUXCONFIG="$APPDIR/tuxconfig"
export FLDTBLDIR32=$APPDIR:$TUXDIR/udataobj
export FIELDTBLS32=adapter.flds,Usysflds


Note: The TUXDIR, APPDIR, and TUXCONFIG variables must agree with their counterpart variables in the MACHINES section of the UBBCONFIG configuration file.

Understanding the Interface Repository

The BEA WebLogic Enterprise Interface Repository contains the interface descriptions of the CORBA objects. The CFGEN and FTGEN configuration tools that install as part of the eLink Adapter for CORBA access the Interface Repository to assist you in configuring the adapter. The Interface Repository also assists in runtime conversion of service calls to CORBA object invocations.

The BEA WebLogic Enterprise Interface Repository is based on the CORBA definition of an Interface Repository. It offers a proper subset of the interfaces defined by CORBA; that is, the APIs that are exposed to programmers are implemented as defined by the Common Object Request Broker: Architecture and Specification Revision 2.2. However, not all interfaces are supported. In general, the interfaces required to read from the Interface Repository are supported, but the interfaces required to write to the Interface Repository are not. Additionally, not all TypeCode interfaces are supported.

The Interface Repository consists of two distinct components; the database and the server. The (TMIFRSVR) server performs operations on the database. The Interface Repository database is created and populated using the idl2ir administrative command. You must use the idl2ir administrative command to populate the Interface Repository database with any objects you plan to utilize using the eLink Adapter into WebLogic Enterprise CORBA. This administrative program is distributed with WLE.

Loading the Interface Repository

To create the Interface Repository and load it with interface definitions, you must use the idl2ir administrative program. If no repository file exists, this command creates it. If a repository file does exist, this command loads the specified interface definitions into it and, in effect, updates the file. When the file is updated, a new Interface Repository database file is created.

The Interface Repository server (TMIFRSVR) must be running in order for the eLink Adapter into WebLogic Enterprise CORBA to work properly. The TMIFRSVR server is included with WLE for accessing the Interface Repository. You can verify TMIFRSVR is running by using the psr command of the tmadmin utility.

The following provides an example of using the idl2ir command to load the Interface Repository.

Listing 4-2 Sample idl2ir Load Command


idl2ir -f e2aclient.ifr simple.idl


Verifying Interface Repository Load

To verify that the Interface Repository correctly loaded the objects you want, run the ir2idl program to populate your console window with a list of the objects loaded into the Interface Repository. You may optionally direct the outputto a file.

Listing 4-3 Sample ir2idl Command


ir2idl -f (filename)


For a description of the idl2ir and ir2idl programs and a listing of the TMIFRSVR server parameters, see the Commands, System Processes, and MIB Reference section of the BEA WebLogic Enterprise information set or Managing Repositories in the T-Engine CORBA Administration guide.

 


Generating the Adapter Configuration File

The eLink Adapter for CORBA configuration file defines each service that will be supported by an instance of the adapter. Each service is advertised by the adapter server so that it may be accessed from the eLink Platform. The CFGEN configuration tool generates an eLink Adapter configuration file. The generated file contains information on services available to the eLink Adapter for CORBA. However, some modifications are necessary prior to using the configuration. Registry and Factory parameters specify how objects are created and accessed by the adapter. Your CORBA administrator can provide this information to you. If you do not have a CORBA administrator that has this information, the application developer must provide you with the proper registry information on how the application object was registered within CORBA.

The CFGEN configuration tool runs against the CORBA Interface Repository and generates configuration parameters based upon the Interface Definition Language (IDL) interface information. The CFGEN configuration tool generates a new configuration or adds new services to an existing configuration. Service definitions are generated for CORBA object methods that accept or return data items that are compatible with the basic data types supported by FML32 (string, double, float, char, short, and long).

Refer to Generating an FML32 Field Table File for a list of data types supported by FML32.

The CFGEN configuration tool populates the following configuration parameters within the adapter configuration file:

Other parameters dealing with NameServices or Factories that are not available in the Interface Repository must be manually populated by you or a system administrator within the generated adapter configuration file. Refer to the Editing the Adapter Configuration File topic for instructions on editing this configuration file.

Invoking the CFGEN Configuration Tool

In order for the CFGEN configuration tool to execute properly, the TUXDIR and PATH environment variables must be set correctly. The $TUXDIR environment variable needs to point to the WLE installation. The PATH variable needs to include the directory where the CFGEN tool is installed ($TUXDIR/bin) along with the java runtime environment (JRE) bin directory.

Note: The CFGEN configuration utility must run while the WLE domain and TMIFRSVR server are booted in order to access CORBA and the Interface Repository.

Prior to running the CFGEN configuration tool, you need the following information:

Once the CFGEN tool is started, it prompts the user for information needed to run successfully. Optional parameters can be bypassed by pressing the Enter key at the prompt for the parameter without entering any data.

  1. Start the CFGEN configuration tool by typing CFGEN at the command prompt.

  2. Enter the Host name where WLE is executing: You are required to enter the Host name where WLE and its ISL server are executing.

  3. Enter the port WLE is using: This is the port number specified for the ISL server. The Port number is required.

  4. Enter a new configuration file name: A file name for the resulting adapter configuration file needs to be entered at this prompt. Enter the fully qualified file name to create a file in a directory other than the current working directory.

  5. To merge with an existing configuration, enter the existing configuration filename or Press Enter to continue: If new service information needs to be added to information in an existing configuration file, enter the existing configuration file name at this prompt. Enter the fully-qualified file name to use a file located in a directory other than the current working directory.

  6. Enter a full or partial interface name to add a specific interface to the configuration or press enter to continue: To add services for specific interfaces in the Interface Repository, enter a full or partial interface name at this prompt. (For example: to add services for an interface Customer, enter Customer at the prompt. To add services for interfaces beginning or ending with the word customer, enter Customer* or *Customer respectively). Multiple full or partial interface names may be entered. CFGEN will continue to prompt you until Enter is pressed with no interface name entered. If no full or partial interface name is entered, the CFGEN will browse the entire Interface Repository and generate service definitions for each eligible CORBA object method. This parameter is optional.

  7. Once generation of the file is complete, the CFGEN configuration tool quits automatically.

The following listing is the console output of a CFGEN sample execution.

Listing 4-4 Sample CFGEN Execution


$CFGEN
Copyright (c) 2000 BEA Systems, Inc.
All Rights Reserved.
Distributed under license by BEA Systems, Inc.

	- BEA eLink Adapter into WebLogic Enterprise CORBA 1.0 -
- - - Configuration Generator - - -

Enter the Host name where WLE is executing:
DALHP5

Enter the port WLE is using:
2468

Enter a new configuration file name:
config.txt

To merge with an existing configuration, enter the existing configuration file name or press Enter to continue:
oldConfig.txt

Enter a full or partial interface name to add a specific interface to the configuration or press Enter to continue:
Simp*

Enter a full or partial interface name to add a specific interface
to the configuration or press Enter to continue:

Loading existing configuration...

Adding services to configuration...

Configuration generation complete.

$


This sample execution of CFGEN executes against the Interface Repository located on DALHP5, port 2468. It will create a new configuration file (Config.txt) containing information from the existing configuration file (OldConfig.txt) and add new services for any interfaces starting with Simp. Error and Informational messages will be written to CFGEN.log in the current working directory.

Listing 4-5 Sample CFGEN Output


*SERVER
MINMSGLEVEL=
MAXMSGLEVEL=

*SERVICE
SERVICENAME=Simpleto_lower
REGISTERED=
REGISTRYTYPE=
FACTORYOBJECT=
FACTORYMETHOD=
FACTORYPARAMS=
OBJECTNAME=Simple
METHOD=to_lower
PARAMS=inVal
RETURN=Simpleto_lower_RTN

*SERVICE
SERVICENAME=Simpleto_upper
REGISTERED=
REGISTRYTYPE=
FACTORYOBJECT=
FACTORYMETHOD=
FACTORYPARAMS=
OBJECTNAME=Simple
METHOD=to_upper
PARAMS=inVal,outVal
RETURN=void


Editing the Adapter Configuration File

The file generated by the CFGEN configuration tool is the eLink Adapter for CORBA configuration file. During initialization, each server reads the configuration file specified in the command line option (CLOPT) line in the UBBCONFIG file. If no file is specified, the e2a server fails to boot.

Once you have created a configuration file, place a working copy of it in the eLink Platform application directory, APPDIR. Any changes to a configuration file require that the server(s) using that file be shutdown and restarted for the changes to take effect.

The adapter configuration file consists of a SERVER section that contains trace parameters and passwords and a SERVICE section for each service the eLink Adapter into WebLogic Enterprise CORBA wants to advertise to the eLink Platform environment. Each service maps to a CORBA method.

Each SERVER section requires the following parameters:

MINMSGLEVEL = int

Indicates the minimum level of tracing messages the adapter is to log. Valid values are 0 - 9.

MAXMSGLEVEL = int

Indicates the maximum level of tracing messages the adapter is to log. Valid values are 0 - 9.

Each SERVICE section requires the following parameters:

SERVICENAME = name

Identifies the name of the eLink Platform service to be advertised. The SERVICENAME created by CFGEN may be modified, but it must meet the following requirements. The SERVICENAME must not exceed 15 characters in length, cannot contain blank characters, and cannot be NULL or the NULL string (""). Service names beginning with the `.' character are reserved for system servers. Servers specifying such services will fail to boot.

REGISTRYTYPE = FactoryFinder | NameService

Specifies the Registry location to be used for obtaining an object reference. Valid values are FactoryFinder and NameService. Using the FactoryFinder setting will cause the adapter to attempt to locate the value specified in the REGISTERED parameter using the FactoryFinder in WLE. Using the NameService setting will cause the adapter to attempt to locate the value specified in the REGISTERED parameter using the NameService in WLE.

REGISTERED = registered name

Identifies the registered name of the Object or Factory registered in WLE. Objects can be registered in the NameService, but Factories may be registered in either the NameService or FactoryFinder.

The registration location is specified in the REGISTRYTYPE parameter. If the REGISTERED name is a Factory, you must specify the method within the Factory to be used to retrieve the final Object.

FACTORYOBJECT = object name

The factory interface that contains FACTORYMETHOD (for example, SimpleFactory).

FACTORYMETHOD = method name

Specifies the CORBA method to be invoked on REGISTERED, if REGISTERED is a Factory. This method must return an OBJECTNAME object type. If REGISTERED is not a Factory object, this parameter must be left blank.

FACTORYPARAMS = Factory method parameters

A comma-separated FML32 Field list to match the invoked Factory method argument list. This list must include all of the method's arguments (types: in, out, and inout). Field names should not exceed the C preprocessor identifer restrictions (that is, it should contain only alphanumeric characters and the underscore character). Internally, the name is truncated to 30 characters, so names must be unique within the first 30 characters. If the method takes no arguments, the PARAMS parameter should be populated with the word "void".

OBJECTNAME = object name

Identifies the name of the CORBA Object containing the METHOD to be invoked.

METHOD = method name

Specifies the CORBA method to be invoked when this eLink Platform service is accepted by eLink Adapter into WebLogic Enterprise CORBA.

PARAMS = method parameters

A comma-separated FML32 Field list to match the invoked method argument list. This list must include all of the method's arguments (types: in, out, and inout). Field names should not exceed the C preprocessor identifer restrictions (that is, it should contain only alphanumeric characters and the underscore character). Internally, the name is truncated to 30 characters, so names must be unique within the first 30 characters. If the method takes no arguments, the PARAMS parameter should be populated with the word "void".

RETURN = method return

After creating or modifying the configuration file, the RETURN parameter specifies the FML32 Field name in which to return the invoked method's response. If the response type is a void type, the RETURN parameter should be populated with the word "void".

Note: FML32 values must be updated in the FML32 Field Table file using the FTGEN tool after all configuration file modifications are complete.

 


Generating an FML32 Field Table File

FML32 Field Tables are used by the eLink Adapter for CORBA and WLE to manage FML32 field definitions. The field table contains definitions of fields that will be used in a specific domain.

Field definitions include the name of the FML32 field, a field identifier, and the data type of the field. Following is a list of the CORBA data types, with the data types supported by eLink Adapter for CORBA indicated.

Data Type

Supported

FML32 Field Type

tk_abstract_interface

No


tk_alias

No


tk_any

No


tk_array

No


tk_boolean

Yes

FLD_CHAR

tk_char

Yes

FLD_CHAR

tk_double

Yes

FLS_DOUBLE

tk_enum

No


tk_except,

No


tk_fixed

No


tk_float

Yes

FLD_FLOAT

tk_long

Yes

FLD_LONG

tk_longdouble

No


tk_longlong

No


tk_native

No


tk_objref

No


tk_octet

No


tk_Principal

No


tk_sequence

No


tk_short

Yes

FLD_SHORT

tk_string

Yes

FLD_STRING

tk_string

No


tk_struct

No


tk_TypeCode

No


tk_ulong

Yes

FLD_LONG

tk_ulonglong

No


tk_union

No


tk_ushort

Yes

FLD_SHORT

tk_value

No


tk_value_box

No


tk_void

Yes

-

tk_wchar

No


tk_wstring

No


The FTGEN configuration tool is a convenient way to generate FML32 field tables using the FML32 field names listed in the eLink Adapter for CORBA configuration file. It is not necessary to use this tool if FML32 fields are managed in another way. The FTGEN configuration tool also compiles a list of services contained in the configuration file and outputs them in a file named tdomsvcs.txt.

The FTGEN configuration tool accepts as input an eLink Adapter into WebLogic Enterprise CORBA configuration file and the Interface Repository. The FTGEN tool reads through the configuration file and extracts FML32 field names from the FACTORYPARAMS, PARAMS, and RETURN parameters. It creates an FML32 field table containing these fields and associated type information. FML32 fields may exist multiple times in a configuration as long as the data types for all occurrences of the field have the same data type. This field name will only be defined once in the field table. Duplicate field names with different data types will be logged as an error and the second occurrence of the field will not be added to the generated field table.

Note: The eLink Platform allows the use of multiple Field Table files and the FTGEN command line tool can only ensure that FML32 field names are unique within the generated FML32 field table. If you experience conflicts, you may be able to resolve them by modifying the base value in the generated Field Table file.

In order for an eLink or WLE domain to use a new FML32 field table, environment variables must be updated to reference this table. The FLDTBLDIR32 environment variable must be updated to include the path of the new FML32 field table. The file name of the new field table must be included in the FIELDTBLS32 environment variable. The FML32 Field Table must be present in both environments and the environment variables must also be updated in both environments.

A list of services is also created by the FTGEN configuration tool in a file named tdomsvcs.txt. This list of services contains all services that are listed in the adapter configuration file. These service names should be added to domain definitions for the WLE and eLink environments that are utilizing the eLink Adapter for CORBA. The services should be included in the DM_LOCAL_SERVICES section of the WLE DMCONFIG file where the eLink Adapter into WebLogic Enterprise CORBA server component is executing and in the DM_REMOTE_SERVICES section of the eLink Adapter into WebLogic Enterprise CORBA DMCONFIG file that will be calling these adapter services.

Invoking the FTGEN Configuration Tool

In order for the FTGEN configuration tool to execute properly, the TUXDIR and PATH environment variables must be set correctly. The $TUXDIR environment variable needs to point to the WLE installation. The PATH variable needs to include the directory where the FTGEN tool is installed ($TUXDIR/bin) along with the java runtime environment (JRE) bin directory.

Prior to running the FTGEN configuration tool, you need the following information:

Once the FTGEN tool is started, it will prompt you for information needed to run successfully.

  1. Start the FTGEN configuration tool by typing FTGEN at the command prompt.

  2. Enter the Host name where WLE is executing: Enter the Host name where WLE and its ISL server are executing. This name can be located in the ISL server definition in the UBBCONFIG file.

  3. Enter the port WLE is using: This is the port number specified for the ISL server. The port number can be located in the ISL server definition in the UBBCONFIG file.

  4. Enter the configuration file name: A file name for the adapter configuration file that contains the FML32 field names needs to be entered at this prompt. You may enter the fully-qualified file name to use a file located in a directory other than the current working directory.

  5. Enter a file name for the new FML Field Table File: Enter a new file name for the FML32 Field Table that is generated by FTGEN.

  6. Once generation of the file is complete, the FTGEN configuration tool quits automatically.

The following listing is the console output of a FTGEN sample execution.

Listing 4-6 Sample FTGEN Execution


$FTGEN
Copyright (c) 2000 BEA Systems, Inc.
All Rights Reserved
Distributed under license by BEA Systems, Inc.

	- BEA eLink Adapter into WebLogic Enterprise CORBA 1.0 - 
- - - FML32 Field Table Generator - - -

Enter the hostname where WLE is executing:
DALHP5

Enter the port WLE is using:
2468

Enter the configuration file name:
config.txt

Enter a file name for the new FML Field Table File...
fmlFields.txt

Loading existing configuration...

Generating new FML Field Table file...

Generating Service List file...

FML Field Table generation complete.

$


This sample execution of FTGEN executes using the Interface Repository associated with the WLE ISL server executing on machine DALHP5, port 2468. It will input FML32 file names found in configuration file (Config.txt) and create FML32 Field Table file (fmlFields.txt) using this input. It also creates a tdomsvcs.txt file containing a list of services contained in the adapter configuration file. Informational and error messages will be written to FTGEN.log in the current working directory.

Listing 4-7 Sample FTGEN Field Table


#
# fml field table for eLink Adapter into WebLogic Enterprise CORBA
#
*base 1000
# Name FldID Type Flags Comments
outVal 1 string - -
inVal 2 string - -
Simpleto_lower_RTN 3 string - -


The resulting FML32 Field Table contains relative field numbers starting at 1001. If this conflicts with existing field definitions, the Field Table should be edited to point to an unused range of field IDs. Modifying the base value will often be enough to eliminate conflicts. Base can be any value and ranges from 100 to 33554000.

The following listing is an example of the tdomsvcs.txt file containing a list of services contained in the adapter configuration file.

Listing 4-8 Sample FTGEN Service List (tdomsvcs.txt)


#
# List of services configured for eLink Adapter for CORBA
#
# Add these services to the *DM_LOCAL_SERVICES section of the
# WLE DMCONFIG file and to the *DM_REMOTE_SERVICES section of
# the eLink Platform DMCONFIG file.
#
Simpleto_upper
Simpleto_lower


Understanding FML32 Error Codes

The eLink Adapter for CORBA uses FML32 buffers to transport messages in the eLink Platform environment. The error code fields used by the eLink Adapter for CORBA must be installed in your environment to allow the eLink Adapter for CORBA to return error codes and messages.

If the eLink Adapter for CORBA is your first eLink Adapter, or you are not sharing Field Table Files between WLE and Tuxedo, you need to add the following two FML string fields to your FML32 field tables.

You must define the FML32 fields for the e2a server. The syntax for defining the response buffer fields is as follows.

Table 4-1 Syntax for Field Definition Table for eLink Adapter for CORBA

# Name

Number

Type

Flags

Comments

ELINK_ADAPTER_ERR

`n'

string

-

-

ELINK_ADAPTER_ERR_CODE

`n'

string

-

-

In order for eLink Adapter for CORBA to exchange data, identical field names must exist in both environments. The field names used to define a CORBA service or process that will be made available to eLink must be defined in the eLink environment.

Note: The actual field IDs are customer-defined; only the field names are reserved

Several examples of FML field tables can be found in the FML Programmer's Guide. Refer to this guide for more detailed instructions on transferring these environment variables into your environment.

Note: The environment variable FIELDTBLS32 contains a list of table files required by eLink FML32 data handling.

The environment variable FLDTBLDIR32 contains a list of directories to search when trying to locate FIELDTBLS32 files.

Buffer Handling

All communication in the BEA eLink Platform system is transmitted through typed buffers. All buffers passed through the eLink Platform system have special headers, and must be allocated and freed through the eLink Platform ATMI (tpalloc(), tprealloc(), and tpfree()).

 


Adding the e2a Server to the UBBCONFIG File

In order for the eLink Platform to recognize and start the eLink Adapter for CORBA, it must be added to the UBBCONFIG file. The UBBCONFIG file is an ASCII text version of the binary data file TUXCONFIG. This UBBCONFIG file contains the information necessary to boot the eLink Adapter into WebLogic Enterprise CORBA. You can create and edit the UBBCONFIG with any text editor. You must create a UBBCONFIG file server entry for each new application. You can use the sample UBBCONFIG file as a starting point and edit it to meet the requirements of your particular application. Once you have updated the UBBCONFIG file, you must compile it into the TUXCONFIG file by running the tmloadcf command.

The TUXCONFIG file contains information used by tmboot to start services and initialize the Bulletin Board of a BEA WLE application in an orderly sequence. The tmadmin command line utility uses the configuration file (or a copy of it) to carry out monitoring activities. The tmshutdown command references the configuration file for information needed to shut the application down.

Note: When tmloadcf is executed, the TUXCONFIG environment variable must be set to the full pathname of the device or system file where TUXCONFIG is to be loaded.

Before running the eLink Adapter for CORBA, you must identify and add the e2a server entry to the UBBCONFIG file so that it is part of your WLE application. The e2a server advertises the services that represent CORBA methods. A sample UBBCONFIG file (named e2alocal.ubb) is provided on the installation CD-ROM. You can use this sample file as a base for creating your own UBBCONFIG file or edit an existing file.

Perform the following steps to edit your UBBCONFIG file.

  1. Open the UBBCONFIG file.

  2. In the SERVERS section, add an entry for the e2a server.

The following listing shows the syntax for the server definition in the UBBCONFIG file.

Listing 4-9 Syntax for the e2a Server Definition in the UBBCONFIG File


*SERVERS
e2a SRVGRP=APP_GRP
RESTART=N
SRVID=10
CLOPT="-- -C e2aclient.txt"


  1. Specify the command line option (CLOPT) parameter to indicate the name of the eLink Adapter for CORBA configuration file the adapter will use at runtime. See Generating an Adapter Configuration File for instructions on creating this configuration file.

  2. Save and close the UBBCONFIG file.

  3. Once all configuration files are created, compile the UBBCONFIG file to a TUXCONFIG file using the tmloadcf command.

    The following listing provides an example of the commands and parameters necessary to compile the UBBCONFIG file.

    Listing 4-10 Compile Session Example


    $ /work/testcorba
    $ TUXCONFIG=/work/testcorba/tuxconfig; export TUXCONFIG
    $ tmloadcf -y ubb.txt


The following SERVER section parameters are defined as follows:

SRVGRP = string_value

Specifies the name for the group in which the server is to run. The string_value must be the logical name associated with a server group in the Groups section. The string_value must be 30 characters or less. The GROUPS section also specifies the GRPNO for the server group and parameters to pass when the associated resource manager is opened. All server entries must have a server group parameter specified.

SRVID = number

Specifies an integer that uniquely identifies a server within a group. Identifiers must be between 1 and 30,000 inclusive. This parameter must be present on every server entry.

CLOPT = "servopts -- application_opts"

Specifies servopts options to be passed to the server when booted. "--" marks the end of system-recognized arguments and the start of arguments to be passed to a subroutine within the server. All eLink adapters will have exactly one argument after the --, the -C option followed by the name of the adapter-specific configuration file. All other configuration parameters specific to the adapter should appear in the adapter-specific configuration file.

RESTART = Y | N

Specifies whether or not to restart the server upon abnormal termination.

For additional information about the SRVGRP, SRVID, CLOPT, and RESTART parameter syntax and definitions, refer to the BEA Tuxedo Reference Manual.

The following listing is a sample UBBCONFIG file. In this sample, the e2a server is defined in the SERVERS section with the required CLOPT parameter specified.

Note: If you have not already configured your TDomain, refer to the Configuring the DMCONFIG File topic for instructions on how to do so.

Listing 4-11 Sample UBBCONFIG File for the eLink Adapter for CORBA


*RESOURCES
IPCKEY 55432
DOMAINID simpapp
MASTER SITE1
MODEL SHM
LDBAL N
*MACHINES
"dalhp5"
LMID = SITE1
APPDIR = "/work/testcorba"
TUXCONFIG = "/work/testcorba/tuxconfig"
TUXDIR = "/work/wle51"
MAXWSCLIENTS = 10
*GROUPS
SYS_GRP
LMID = SITE1
GRPNO = 1
APP_GRP
LMID = SITE1
GRPNO = 2
*SERVERS
DEFAULT:
RESTART = Y
MAXGEN = 5
TMSYSEVT
SRVGRP = SYS_GRP
SRVID = 1
TMFFNAME
SRVGRP = SYS_GRP
SRVID = 2
CLOPT = "-A -- -N -M"
TMFFNAME
SRVGRP = SYS_GRP
SRVID = 3
CLOPT = "-A -- -N"
TMFFNAME
SRVGRP = SYS_GRP
SRVID = 4
CLOPT = "-A -- -F"
TMIFRSVR
SRVGRP = SYS_GRP
SRVID = 5
CLOPT = "-A -- -f repository.ifr"
simple_server
SRVGRP = APP_GRP
SRVID = 1
RESTART = N
cns
SRVGRP = SYS_GRP
SRVID = 6
CLOPT = "-A -- "
ISL
SRVGRP = SYS_GRP
SRVID = 10
CLOPT = "-A -- -n//localhost:2468 -d/dev/tcp"
e2a
SRVGRP = APP_GRP
RESTART = Y
SRVID = 10
CLOPT = "-- -C config.txt"

*SERVICES


 


Creating the DMCONFIG File

Many legacy applications, as well as various BEA software application adapters exist in the eLink environment. To provide a complete integration of eLink Platform and WebLogic Enterprise, you must provide the eLink Platform access to the ATMI service advertised by the eLink Adapter for CORBA. The ATMI services advertised by each eLink Adapter for CORBA e2a server can be exported to other domains including the eLink Platform domains using the TDOMAIN feature of WLE and eLink Platform.

Creating a DMCONFIG file is the first step to utilizing the eLink Platform and WLE TDOMAINS feature. A Domains configuration is a set of two or more domains (or applications) that can communicate and share services with the help of the BEA eLink Platform Domains feature. How multiple domains are connected and which services they make accessible to each other are defined in a Domains configuration (DMCONFIG) file on each domain. In a multi-domain application, a separate DMCONFIG file must be created for each participating domain. For your eLink Adapter into WebLogic Enterprise CORBA configuration to be successful, you must configure a new or existing DMCONFIG file for both the eLink Platform Domain and the WLE Domain. You must also define the Domains environment in the eLink UBBCONFIG file and the WLE UBBCONFIG file.

A DMCONFIG file defines the following:

System access to the BDMCONFIG file is provided through the Domains administrative server, DMADM. When a gateway group is booted, the gateway administrative server, GWADM, requests from the DMADM server, a copy of the configuration file required by that group. The GWADM and DMADM servers also ensure that run-time changes to the configuration are reflected in the corresponding domain gateway group.

A BEA eLink Platform system domain application is defined as the environment described in a single TUXCONFIG file. A BEA eLink Platform system application can communicate with another BEA eLink Platform system or another TP application via a domain gateway group. In BEA eLink Platform system domain terms, an application is the same as a TP Domain.

A Gateway Group is a collection of domain gateway processes that provide communication services with a specific type of TP Domain.

A Domain Gateway is a BEA eLink Platform system domain process that relays requests to another TP Domain and receives replies.

A Local Domain is a part of the application (set or subset of services) that is made available to other domains. A Local Domain is always represented by a Domain Gateway Group, and both terms are used synonymously.

A Remote Domain is a remote application that is accessed through a Gateway Group. The remote application may be another BEA eLink Platform system domain application or an application running under another TP system.

A Remote Service is a service provided by a remote domain that is made available to the application through a Gateway Group.

A Local Service is a service of a local domain that is made available to remote domains through a Gateway group.

Accessing the DMCONFIG File

All domains configuration is stored in a binary file called BDMCONFIG. You can create and edit a text version of this file, DMCONFIG, with any text editor. You can update the compiled BDMCONFIG file while the system is running by using the dmadmin command when using Domains.

Perform the following steps to access, edit, save, and exit the DMCONFIG file.

Note: Because BEA eLink Adapter for CORBA may be installed on a variety of platforms, the procedures in this section make only general references to command entries. Many steps show UNIX command examples. Be sure to use proper syntax for your platform when making command line entries.

  1. Enter the platform command to gain access to the install directory.

    cd install

  2. Gain access to the examples subdirectory.

    cd examples

  3. Enter the command to invoke the text editor and gain access to the DMCONFIG file.

    edit DMCONFIG

  4. Edit the DMCONFIG file as necessary. Refer to the following section's parameter description for details about defining your BEA eLink Adapter for CORBA configuration.

  5. When editing is complete, save and exit the DMCONFIG file.

    $exit

Defining Domain Parameters for the eLink Domain

For the eLink Domain gateway configuration file, only the required parameters are defined. Default settings are used for optional parameters. The following sections explain each DMCONFIG file section required for the eLink Domain configuration and the parameters associated with each.

Editing the DM_LOCAL_DOMAINS Section

The DM_LOCAL_DOMAINS section identifies the local domains and their associated gateway groups. This section must have an entry for each gateway group (Local Domain). Each entry specifies the parameters required for the domain gateway processes running in that group. The following are required parameters:

GWGRP = identifier

specifies the name of the gateway server group (the name provided in the TUXCONFIG file) representing this local domain. There is a one-to-one relationship between a DOMAINID and the name of the gateway server group.

TYPE = identifier

is used for grouping local domains into classes. TYPE can be set to one of the following values: TDOMAIN, SNAX, OSITP, OR TOPEND. The TDOMAIN value indicates that this local domain can only communicate with another BEA eLink Platform system.

DOMAINID = string

is used to identify the local domain. DOMAINID must be unique across both local and remote domains.

Editing the DM_REMOTE_DOMAINS Section

The DM_REMOTE_DOMAINS section identifies the known set of remote domains and their characteristics. This section has one entry that takes the following form:

RDOM required_parameters [optional_parameters]

where RDOM is an identifier value used to identify each remote domain known to this configuration. RDOM must be unique within the configuration. TYPE is used to classify the type of domains. DOMAINSID is a unique domain identifier.

Editing the DM_TDOMAIN Section

The DM_TDOMAIN section defines the addressing information required by domains of type TDOMAIN. This section should have one entry per local domain if requests from remote domains to local services are accepted on that local domain (gateway group), and one entry per remote domain accessible by the defined local domains. This section entry has the following form:

DOM required_parameters [optional_parameters]

where DOM is an identifier value is used to identify either a local domain (LDOM) or a remote domain (RDOM) in the DM_LOCAL_DOMAINS section or in the DM_REMOTE_DOMAINS section. The DOM identifier must match a previously defined LDOM in the DM_LOCAL_DOMAINS section or RDOM in the DM_REMOTE_DOMAINS section. The following parameter is required:

NWADDR = string

specifies the network address associated with a local domain or a remote domain. If the association is with a local domain, the NWADDR is used to accept connections from other BEA eLink Platform system domains. If the association is with a remote domain, the NWADDR is used to initiate a connection on the remote domain.

Editing the DM_REMOTE_SERVICES Section

The DM_REMOTE_SERVICES section provides information about the services that are imported. These services are imported from the eLink Adapter for CORBA so that they can be accessed by clients in the local eLink domain. All services that are loaded in the adapter configuration file should be in this remote section. The tdomsvcs.txt file produced by the FTGEN utility contains all of these service names. Copy and paste them into this section of the DMCONFIG file.

Editing the DM_LOCAL_SERVICES Section

The DM_LOCAL_SERVICES section provides information about the services that are exported. This section of our sample file has no entries because no services are being exported.

Listing 4-12 eLink Domain DMCONFIG File Example


#
# lapp.dom
#
*DM_LOCAL_DOMAINS

ELINKDOM		GWGRP=LGWGRP
TYPE=TDOMAIN
DOMAINID="111111"

*DM_REMOTE_DOMAINS

WLEDOM		TYPE=TDOMAIN
DOMAINID="222222"

*DM_TDOMAIN

ELINKDOM		NWADDR="//mach1:5000"

WLEDOM		NWADDR="//mach2:5000"

*DM_LOCAL_SERVICES

*DM_REMOTE_SERVICES

Simpleto_upper
Simpleto_lower


Defining Domain Parameters for the WLE Domain

For the WLE Domain gateway configuration file, only the required parameters are defined. Default settings are used for optional parameters. The following sections explain each DMCONFIG file section required for the WLE Domain configuration and the parameters associated with each.

Editing the DM_LOCAL_DOMAIN Section

The DM_LOCAL_DOMAIN section identifies the local domains and their associated gateway groups. This section must have an entry for each gateway group (Local Domain). Each entry specifies the parameters required for the domain gateway processes running in that group. The following are required parameters:

GWGRP = identifier

specifies the name of the gateway server group (the name provided in the TUXCONFIG file) representing this local domain. There is a one-to-one relationship between a DOMAINID and the name of the gateway server group.

TYPE = identifier

is used for grouping local domains into classes. TYPE can be set to one of the following values: TDOMAIN, SNAX, OSITP, OR TOPEND. The TDOMAIN value indicates that this local domain can only communicate with another BEA eLink Platform system.

DOMAINID = string

is used to identify the local domain. DOMAINID must be unique across both local and remote domains.

Editing the DM_REMOTE_DOMAINS Section

The DM_REMOTE_DOMAINS section identifies the known set of remote domains and their characteristics. This section has one entry that takes the following form:

RDOM required_parameters [optional_parameters]

where RDOM is an identifier value used to identify each remote domain known to this configuration. RDOM must be unique within the configuration. TYPE is used to classify the type of domains. DOMAINSID is a unique domain identifier.

Editing the DM_TDOMAIN Section

The DM_TDOMAIN section defines the addressing information required by domains of type TDOMAIN. This section should have one entry per local domain if requests from remote domains to local services are accepted on that local domain (gateway group), and one entry per remote domain accessible by the defined local domains. This section entry has the following form:

DOM required_parameters [optional_parameters]

where DOM is an identifier value is used to identify either a local domain (LDOM) or a remote domain (RDOM) in the DM_LOCAL_DOMAINS section or in the DM_REMOTE_DOMAINS section. The DOM identifier must match a previously defined LDOM in the DM_LOCAL_DOMAINS section or RDOM in the DM_REMOTE_DOMAINS section. The following parameter is required:

NWADDR = string

specifies the network address associated with a local domain or a remote domain. If the association is with a local domain, the NWADDR is used to accept connections from other BEA eLink Platform system domains. If the association is with a remote domain, the NWADDR is used to initiate a connection on the remote domain.

Editing the DM_LOCAL_SERVICES Section

The DM_LOCAL_SERVICES section provides information about the services that are exported. These service are exported so that it can be accessed by clients in the remote domains. All services that are loaded in the adapter configuration file should be in this local section. The tdomsvcs.txt file produced by the FTGEN utility contains all of these service names. Copy and paste them into this section of the DMCONFIG file.

Editing the DM_REMOTE_SERVICES Section

The DM_REMOTE_SERVICES section provides information about the services that are imported. This section of our sample file has no entries because no services are being imported.

Listing 4-13 WLE Domain DMCONFIG File Example


#
# lapp.dom
#
*DM_LOCAL_DOMAINS

WLEDOM		GWGRP=LGWGRP
TYPE=TDOMAIN
DOMAINID="111111"

*DM_REMOTE_DOMAINS

ELINKDOM		TYPE=TDOMAIN
DOMAINID="222222"

*DM_TDOMAIN

WLEDOM		NWADDR="//mach1:5000"

ELINKDOM		NWADDR="//mach2:5000"

*DM_LOCAL_SERVICES

Simpleto_upper
Simpleto_lower

*DM_REMOTE_SERVICES


Defining the Domains Environment in the eLink and WLE UBBCONFIG Files

In both the eLink and WLE UBBCONFIG files, you must define the following three servers.

Compiling the UBBCONFIG and DMCONFIG Files

The local application configuration file (UBBCONFIG) contains the information necessary to boot the local application. Once you have updated this file, you must compile it into a binary data file by running the tmloadcf command.

The local domain gateway configuration file (DMCONFIG)contains the information used by the domain gateway for one domain for communication with other domains. You must compile this file into a binary data file by running the dmloadcf command.

To compile both configuration files, complete the procedure shown in the following sample session.

Listing 4-14 Compile Session Example


$ cd /home/lapp
$ TUXCONFIG=/home/lapp/lapp.tux; export TUXCONFIG
$ tmloadcf -y lapp.ubb
$ BDMCONFIG=/home/lapp/lapp.dom; export BDMCONFIG
$ dmloadcf -y lapp.dom


Once you create both the local and remote domains, you can then boot the WLE or eLink application using tmboot. The order in which two domains are booted does not matter. Monitor the applications with dmadmin. Once both applications are booted, a client in the local application can call the required service residing in the remote application.

Listing 4-15 Boot Command Example


$ tmboot -y


 


Creating the FactoryFinder Configuration File

A Remote Factory is a factory object that exists in a remote ORB that can be made available to the local system through a WebLogic Enterprise ORB.

Administrators are required to identify any factory objects that can be used in the current (local) /Domain, but that are resident in a different (remote) /Domain. You identify these factories in a FactoryFinder domain configuration file, also referred to as the factory_finder.ini file. This is an ASCII file that can be created and updated using a text editor.

The factory_finder.ini file can be used to identify remote CORBA factories and remote EJB Home interfaces that can be used in the local domain.

The factory_finder.ini file, installed as part of the WLE software, is the FactoryFinder configuration file for domains. This file is parsed by the WLE TMFFNAME service when it is started as a Master NameManager. The factory_finder.ini file contains information used by NameManagers to control the import and the export of object references for factory objects with other domains. To use the information in the factory_finder.ini file, you must specify the factory_finder.ini filename in the -f option of the TMFFNAME server process.

The format of the factory_finder.ini file is modeled after the syntax used to describe Domains, and is shown in the following sample.

Listing 4-16 Sample factory_finder.ini File


*DM_REMOTE_FACTORIES
"local_factory_id.factory_kind"
DOMAINID="domain_id"
RNAME="remote_factory_id.factory_kind"
...

[*DM_LOCAL_FACTORIES]
["factory_id.factory_kind"]


A factory_finder.ini file applies to the domain in which it resides. It contains two sections: the DM_REMOTE_FACTORIES section and the DM_LOCAL_FACTORIES section. Either section can be absent or contain nothing.

The following sections provide more information on how to use the DM_REMOTE_FACTORIES section and the DM_LOCAL_FACTORIES section.

Note: The factory_finder.ini and DMCONFIG files must be coordinated, that is, if the factory_finder.ini file declares another domain to have accessible factories, there must be a way in DMCONFIG to get to that domain.

Editing the DM_REMOTE_FACTORIES Section

The DM_REMOTE_FACTORIES section provides information about the factory objects or EJB Home interfaces that are available in remote domains and that are imported so that applications in the local domain can use them. Identifiers for remote factory objects or EJB Home interfaces are listed in this section. The identifier, under which the object is registered, including a kind value of "FactoryInterface", must be listed in this section.

If the RNAME is not specified, the factory_kind must be specified in the factory name and the factory name must be enclosed in quotation marks; otherwise, the NameManager is not able to locate the appropriate factory. An entry that does not contain a factory_kind value is not defaulted with a value of "FactoryInterface".

Because the identifiers of factories in a multi-domain configuration may collide, the factory identifier and the RNAME parameters allow you to specify alternative identities, or "aliases," in the local domain for remote factories. You can also assign multiple aliases to the same remote factory.

In a multi domain configuration, two different domains must not have a factory object or EJB Home interfaces with the same factory_id.factory_kind identifier.

If the same identifier, or name, is used in two domains, the software behavior varies according to the version of the BEA WebLogic Enterprise software.

Editing the DM_LOCAL_FACTORIES Section

The DM_LOCAL_FACTORIES section specified factory objects or EJB Home interfaces in the local domain that are available to be exported to other domains. This section can be used in the following ways:

The identifier, or name, under which the factory object or EJB Home interface is registered, including a kind value of "FactoryInterface", must be listed in this section.

The factory_kind must be specified for the Namemanager to locate the appropriate factory object or EJB Home interface. An entry that does not contain a factory_kind value is not defaulted with a value of "FactoryInterface". This allows for the use of the CORBA NamingService.

The factory_finder.ini file specifies that the process of finding a factory can be exported to a remote domain by including a section beginning with "*DM_REMOTE_FACTORIES". In other words, including this section means that the local domain can find factories in a remote domain.