Note: This topic does not apply to
XDB
or
WebSphere MQ.
For a great majority of the applications that use XARs, the process of implementing an XAR is simple and straightforward, requiring only that you define the XAR inEnterprise Server. For more information about defining an XAR, see
To define an XAR for an
enterprise server region.
However, for a more complicated application, you need to plan ahead and design the required XAR(s) to accommodate the complexity of such an application.
After building a
Micro Focus RM switch module, you can include it in an XAR definition in
Enterprise Server. An XAR definition includes an xa_open string, which is where you include specific RM syntax for the underlying RM.
In addition to the RM-specific xa_open string syntax, we provide several options that enable you to fine-tune your XAR definitions to yield maximum efficiency when running applications on
Enterprise Server.
XARs support the following RM switch module types:
- SQL Server
- IBM DB2
- Oracle
- Generic one-phase commit for ODBC
- EDB PostgreSQL
(technology preview)
Before configuring an XAR for an
enterprise server region, we suggest that you consider the following:
- Does the application require more than one XAR?
- This depends on what database(es) the application accesses, and how the application interacts with it.
- Do any applications require more than one XAR of the same RM switch module type?
- If your application does not require more than one XAR of the same RM switch module type, then you are ready to define your XAR(s) in your
enterprise server region
without having to recompile your source code with the XAID compiler directive.
However, in some scenarios, more than one XAR of the same type might be required for a
CICS or
Web services application.
In this case, you must compile your code using the XAID compiler directive, in addition to providing multiple XAR definitions.
See
Working with Multiple XARs
for more information.
- Is the application coded to use distinct XARs?
- Typically, the SQL code of
CICS transaction or
Web Services requests are stored in distinct source code modules – some modules used with only one database, and others used with another. Code constructed in this fashion can be compiled for each program module using the XAID compiler directive option set to the value of the appropriate XAR ID. This eliminates the need to change code.
- Is it best to use a static or dynamic RM switch module in an XAR?
- This depends on how the XAR is accessed by the application(s). See
RM Switch Module Registration for more information.
- Should transactions be run locally or globally?
- This depends on the types of transactions executed. See the
LocalTX=(T|F) section in
SQL xa_open string Configuration Options for more information.
- When and how should user credentials be obtained and applied?
- You can configure an XAR to use xa_open-supplied user credentials, or to determine user credentials based on the current user. For more information, see
User Impersonation for CICS and JCL and the
UserP=(T|F) section in
SQL xa_open string Configuration Options.
- Are any of the required XARs used in batch jobs only?
- If so, consider identifying these XARs as batch-only resources, which can save considerable overhead, and eliminate the need recompile using the XAID compiler directive option. For more information, see the
BatchOnly=(T|F) section in
SQL xa_open string Configuration Options.
For more information about configuring an XAR, see
To configure an XAR for an
enterprise server region.
Important: If you are using a dynamically registered RM switch module for either IBM DB2 or Oracle, and you plan to use User Impersonation, you must recompile your application source code with the XAID compiler directive option before deploying the application to
Enterprise Server. See
XAID for more information.
Note: The
WebSphere MQ module provided is a built module, not a source code file. It is available in both your development and deployment environments. See the
WebSphere MQ topic for more information.