Created On:  17 November 2010

Problem:

How do I use the XA switch modules on a deployment server? What is the process for building XA switch modules for use on a deployment system?
Can I re-use the XA switch modules from a Development system on the Deployment system?

Note, this applies to both Net Express (Windows) and Server Express (UNIX) environments.

Resolution:

If you are deploying container-managed services under Enterprise Server which require database access, you will additionally need to deploy the XA switch module which provides that access. As the Micro Focus Server product family does not include support for the compilation of COBOL application, you won't be able to rebuild the modules under that product.

However, you will be able to use the same modules as tested on your Development/Test machines, but only if the criteria cited below is true.

For any reference to "extn" , read DLL (Windows), sl (HP/UX PA-RISC) or so (other supported flavors of UNIX)

1. The Micro Focus Server product must be at the exact same Product and WrapPack level as the Development product with which the modules were originally built.

For example, if your development machine has Net Express 5.1 WrapPack 3 installed, then your deployment machine should have Micro Focus Server 5.1 WrapPack 3 installed.

2. If using the DB2 switch module, ESDB2XA."extn", you need to have the same version - and ideally, FixPak level - of the DB2 Application Development Client installed on your deployment machine as on the development machine where the modules were built. To determine the DB2 installation level, invoke the "db2level" command.

You will also need to have cataloged the target server from the DB2 client software on the deployment machine.

3. If using the Oracle switch module, ESORA*XA."extn", you need to have the same version - and ideally, patch level - of the Oracle Client installed on your deployment machine as on the development machine where the modules were built. To determine the Oracle installation level, view the list of installed products through the Oracle installer.

You will also need to have cataloged the target server from the Oracle client software on the deployment machine.

4. Under Net Express only, if you use the SQL Server XA (ESMSSQL.DLL) module, you should copy the built module from the Net Express BASE\SOURCE\ENTERPRISESERVER\XA directory on your Development/Test machine to your deployment machine. This module also requires that the Distributed Transaction Coordinator
service (MSDTC) is running on the deployment machine.

You will also need to create an ODBC Data Source Name (DSN) for the target server.

5. Under Net Express only, if you use the ODBC one-phase commit (ESODBCXA.DLL) module, you should copy the built module from the Net Express BASE\SOURCE\ENTERPRISESERVER\XA directory on your Development/Test machine to your deployment machine.

You will also need to create an ODBC Data Source Name (DSN) for the target server.

6. If you plan to execute JES-initiated transactions, you will need to additionally copy :
a. DB2 - ESDB2OPC.extn
b. Oracle - ESORAOPC.extn
c. SQL Server XA/ODBC - ESODBCXA.DLL (Net Express only)

from your development machine into a directory which is on :

Windows - PATH
HP/UX PA-RISC - SHLIB_PATH
Other UNIX flavors - LD_LIBRARY_PATH

When Enterprise Server is started. For example, on Windows, it is suggested that you copy the modules to the Micro Focus Server "BIN" directory, or on UNIX platforms, to $COBDIR/lib.