KEMBAR78
Application Tier Configuration | PDF | Xml | Data Management
100% found this document useful (1 vote)
32 views19 pages

Application Tier Configuration

This document outlines the configuration steps for the JBoss Domain cluster application tier, including setting up environment variables, configuring the domain controller, and defining server groups and data sources. It emphasizes the use of the 'full-ha' profile and provides detailed instructions for modifying the domain.xml file to establish server groups, socket bindings, and data sources. Additionally, it includes guidance for configuring EJB bean pools and global modules for the application environment.

Uploaded by

XIAOSHI LIU
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
32 views19 pages

Application Tier Configuration

This document outlines the configuration steps for the JBoss Domain cluster application tier, including setting up environment variables, configuring the domain controller, and defining server groups and data sources. It emphasizes the use of the 'full-ha' profile and provides detailed instructions for modifying the domain.xml file to establish server groups, socket bindings, and data sources. Additionally, it includes guidance for configuring EJB bean pools and global modules for the application environment.

Uploaded by

XIAOSHI LIU
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

10/7/24, 12:44 AM Application Tier Configuration

 Guides   
 R24 AMR |  Min(s) read  Feedback

Application Tier Configuration


NOTE:
It is assumed that the JBoss Domain cluster is already installed on the application layer.

Domain Master Server Configuration

Setting Up Environment Variables


Set the file.encoding environment variable. For JBoss domain cluster Transact deployment, you need to edit $JBOSS_HOME/bin/domain.conf.

vi $JBOSS_HOME/bin/domain.conf
JAVA_OPTS="$JAVA_OPTS
JAVA_OPTS= "$JAVA_OPTS -Dfile.encoding=UTF-8"

Configuring domain.xml

Domain Controller
A domain controller is the JBoss EAP server instance that acts as a central management point for a domain. The primary responsibilities of the domain controller are to:

Maintain the domain’s central management policy.


Ensure all host controllers are aware of its current contents.
Assist the host controllers in ensuring that all running JBoss EAP server instances are configured in accordance with this policy.

By default, the central management policy is stored in JBOSS_HOME/domain/configuration/domain.xml file.

Domain Profiles
The domain.xml file contains profile configurations to be used by the servers in the domain. A profile contains the detailed settings of the available subsystems defined
within the profile. Because domain.xml is a large xml file, this makes the file hard to read. It contains 4 profiles:

1. “<profile name="default">” … </profile>


2. “<profile name="ha">” … </profile>
3. “<profile name="full">”… </profile>
4. “<profile name="full-ha">”… </profile>

For the application layer, Use the “full-ha” profile only.

vi $JBOSS_HOME/domain/configuration/domain.xml

The required profile is based on the “full-ha” profile.

https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 1/19
10/7/24, 12:44 AM Application Tier Configuration

<profiles>
<profile name="full-ha"
name="full-ha">>
… …
</profile>
</profiles>

Domain Socket Binding Groups


Socket bindings and socket binding groups allow you to define network ports and their relationship to the networking interfaces. The domain.xml contains 4 socket-
binding-groups:

<socket-binding-group name="standard-sockets"
name="standard-sockets" default-interface=
default-interface="public"
"public">
> … </socket-binding-group><socket-binding-group name="ha-sockets
name="ha-sockets

We are using “full-ha-sockets” only, so you are safe to ignore the other 3 socket groups. For simplicity, you can optionally remove the other 3 socket groups.

vi $JBOSS_HOME/domain/configuration/domain.xml

Domain Server Groups


A server group is a collection of server instances that are managed and configured as one. In a managed domain, every application server instance belongs to a server group,
even if it is the only member. The server instances in a group share the same profile configuration and deployed content.

Procedure

1. We will create a new server group "App-Server-Group" which uses “full-ha” profile.
2. Remove the sample server groups in the default domain.xml and replace them with the new server group definition.

vi $JBOSS_HOME/domain/configuration/domain.xml

Old value:

NOTE:
Remove the unused xml block of the server group definition.

<server-groups>
<server-group name="main-server-group"
name="main-server-group" profile="full"
profile="full">>
name="default"
<jvm name= "default">
>
<heap size="1000m"
size="1000m" max-size=
max-size="1000m"
"1000m"/>
/>
<permgen max-size="256m"
max-size="256m"/>
/>
</jvm>
<socket-binding-group ref="full-sockets"
ref="full-sockets"/>
/>
</server-group>
<server-group name="other-server-group"
name="other-server-group" profile=
profile="full-ha"
"full-ha">
>
name="default"
<jvm name= "default">
>
<heap size="1000m"
size="1000m" max-size=
max-size="1000m"
"1000m"/>
/>

https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 2/19
10/7/24, 12:44 AM Application Tier Configuration

<permgen max-size="256m"
max-size="256m"/>
/>
</jvm>
<socket-binding-group ref="full-ha-sockets"
ref="full-ha-sockets"/>
/>
</server-group>
</server-groups>

New Value:

NOTE:
Customize your JVM heap size and permgen space according to your server capacity.

<server-groups>
<server-group name="App-Server-Group"
name="App-Server-Group" profile=
profile="full-ha"
"full-ha">>
name="App-Server-Group"
<jvm name= "App-Server-Group">
>
size="8092m"
<heap size= "8092m" max-size=
max-size="8092m"
"8092m"/>
/>
<permgen max-size="256m"
max-size="256m"/>
/>
</jvm>
<socket-binding-group ref="full-ha-sockets"
ref="full-ha-sockets"/>
/>
</server-group>
</server-groups>

Configuring Datasource
Under <profile name="full-ha">, search for the “urn:jboss:domain:datasources” string. You need to define 3 Transact datasources in this section.

Remove the sample datasource definition in the default domain.xml.

vi $JBOSS_HOME/domain/configuration/domain.xml

Old value:

NOTE:
Replace all the xml content with the new value.

<subsystem xmlns=
xmlns="urn:jboss:domain:datasources:6.0"
"urn:jboss:domain:datasources:6.0">>
<datasources>
jndi-name="java:jboss/datasources/ExampleDS"
<datasource jndi-name= "java:jboss/datasources/ExampleDS" pool-name="ExampleDS"
pool-name="ExampleDS"
enabled="true"
enabled= "true" use-java-context=
use-java-context="true"
"true">
>
<connection-url>jdbc:
<connection-url>jdbc :h2
h2::mem
mem::test;DB_CLOSE_DELAY=
test;DB_CLOSE_DELAY=-1
-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
;DB_CLOSE_ON_EXIT=FALSE</connection-url>
<driver>h2</driver>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</datasource>
<drivers>
<driver name="h2"
name="h2" module=
module="com.h2database.h2"
"com.h2database.h2">
>
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>

https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 3/19
10/7/24, 12:44 AM Application Tier Configuration

</driver>
</drivers>
</datasources>
</subsystem>

New Value:

NOTE:
Replace the connection url, database username and password with your database connection settings.

<subsystem xmlns="urn:jboss:domain:datasources:6.0"
xmlns="urn:jboss:domain:datasources:6.0">>
<datasources>
<datasource jta="true"
jta="true" jndi-name=
jndi-name="java:/jdbc/t24DS"
"java:/jdbc/t24DS" pool-name=
pool-name="t24DS"
"t24DS" enabled=
enabled="true"
"true"
use-java-context="true"
use-java-context= "true" use-ccm=
use-ccm="true"
"true">
>
<connection-url>
jdbc:
jdbc:oracle:
oracle:thin
thin::@<your_DB_IP>
@<your_DB_IP>::1521
1521/<your_DB_service_name>
/<your_DB_service_name>
</connection-url>
<connection-property name=
name="defaultRowPrefetch"
"defaultRowPrefetch"> >
100
</connection-property>
<driver>ora12c</driver>
<pool>
<min-pool-size>5
<min-pool-size> 5</min-pool-size>
<max-pool-size>220
<max-pool-size> 220</max-pool-size>
</max-pool-size>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
<security>
<user-name>your_DB_user</user-name>
<password>your_DB_password</password>
</security>
<!-- Note:
Note: the following “<timeout>” and “<validation>” tags are for High Availability.The validation is used to detect staled connectio
<timeout>
<idle-timeout-minutes>2
<idle-timeout-minutes> 2</idle-timeout-minutes>
</timeout>
<validation>
<check-valid-connection-sql>
select 1 from dual
</check-valid-connection-sql>
<valid-connection-checker class-
Configuring
name= Global Modules
name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"
"org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker">
>
</valid-connection-checker>
Under “<profile name="full-ha">” , search for “urn:jboss:domain:ee”
<stale-connection-checker class- . Add TAFJ and Transact libraries as global modules.
<stale-connection-checker class-
name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"
name= "org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker">
>
</stale-connection-checker>
<exception-sorter class-
vi $JBOSS_HOME/domain/configuration/domain.xml
name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"
name= "org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter">
>
</exception-sorter>
<background-validation>true
<background-validation> true</background-validation>
</background-validation>
Old value: <background-validation-millis>2000
<background-validation-millis> 2000</background-validation-millis>
</background-validation-millis>
</validation>
</datasource>
jta="false"
<datasource jta= "false" jndi-name=
jndi-name="java:/jdbc/t24LockingDS"
"java:/jdbc/t24LockingDS" pool-name=
pool-name="t24LockingDS"
"t24LockingDS"
<subsystem
enabled= xmlns="urn:jboss:domain:ee:5.0"
xmlns=
enabled="true"
"true" "urn:jboss:domain:ee:5.0">
use-java-context="true"
use-java-context= >
"true" use-ccm=
use-ccm="true"
"true">>
<spec-descriptor-property-replacement>false
<connection-url> false</spec-descriptor-property-replacement>
<spec-descriptor-property-replacement> </spec-descriptor-property-replacement>

https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 4/19
10/7/24, 12:44 AM Application Tier Configuration

<jboss-descriptor-property-replacement>true
jdbc:
jdbc:oracle:
oracle:thin:
<jboss-descriptor-property-replacement> true</jboss-descriptor-property-replacement>
thin :@<your_DB_IP>:
</jboss-descriptor-property-replacement>
@<your_DB_IP> :1521/<your_DB_service_name>
1521/<your_DB_service_name>
<annotation-property-replacement>false
<annotation-property-replacement> false</annotation-property-replacement>
</connection-url> </annotation-property-replacement>
</subsystem> <driver>ora12c</driver>
<pool>
<min-pool-size>5
<min-pool-size> 5</min-pool-size>
New value: <max-pool-size>220
<max-pool-size> 220</max-pool-size>
</max-pool-size>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
<security>
<user-name>your_DB_user</user-name>
<subsystem xmlns="urn:jboss:domain:ee:5.0"
xmlns="urn:jboss:domain:ee:5.0">>
<global-modules> <password>your_DB_password</password>
</security>
<module name="com.temenos.tafj"
name="com.temenos.tafj" slot="main"
slot= "main"/>
/>
name=</datasource>
<module name="com.temenos.t24"
"com.temenos.t24" slot="main"
slot="main"/>
/>
<drivers>
<module name="javax.jms.api"
name="javax.jms.api"/>
/>
<drivername="com.temenos.monitor"
<module name="ora12c"
name=
name= "ora12c" module="com.oracle.ora12c"
module="com.oracle.ora12c">
"com.temenos.monitor" slot="main"
slot= /> >
"main"/>
<xa-datasource-class>oracle.jdbc.OracleDriver</xa-datasource-class>
<module name="com.temenos.validation"
name="com.temenos.validation" slot=
slot="main"
"main"/>
/>
</driver>
</global-modules>
</drivers>
<spec-descriptor-property-replacement>false
<spec-descriptor-property-replacement> false</spec-descriptor-property-replacement>
</spec-descriptor-property-replacement>
</datasources>
<jboss-descriptor-property-replacement>true
<jboss-descriptor-property-replacement> true</jboss-descriptor-property-replacement>
</jboss-descriptor-property-replacement>
</subsystem>
<annotation-property-replacement>false
<annotation-property-replacement> false</annotation-property-replacement>
</annotation-property-replacement>
</subsystem>

Configuring EJB Bean Pools


Under “<profile name="full-ha">”, search for “urn:jboss:domain:ejb3”. Add the Transact EJB bean pools definition.

vi $JBOSS_HOME/domain/configuration/domain.xml

Old value:

<pools>
<bean-instance-pools>
<strict-max-pool name="slsb-strict-max-pool"
name="slsb-strict-max-pool" max-pool-size="20"
max-pool-size="20" instance-acquisition-timeout="5"
instance-acquisition-timeout="5" instance-acquisition-timeou
<strict-max-pool name="mdb-strict-max-pool"
name="mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acquisition-timeou
</bean-instance-pools>
</pools>

New value:

<pools>
<bean-instance-pools>
<strict-max-pool name="slsb-strict-max-pool"
name="slsb-strict-max-pool" max-pool-size=
max-pool-size="2000"
"2000" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acquisition-timeo
name="mdb-strict-max-pool"
<strict-max-pool name= "mdb-strict-max-pool" max-pool-size=
max-pool-size="2000"
"2000" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acquisition-timeou
name="ofs-mdb-strict-max-pool"
<strict-max-pool name= "ofs-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acqu
<strict-max-pool name="browser-mdb-strict-max-pool"
name="browser-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-
<strict-max-pool name="arcmob-mdb-strict-max-pool"
name= "arcmob-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-a
<strict-max-pool name="tws-mdb-strict-max-pool"
name="tws-mdb-strict-max-pool" max-pool-size="20"
max-pool-size="20" instance-acquisition-timeout="5"
instance-acquisition-timeout="5" instance-acqu
<strict-max-pool name=
name="tcib-mdb-strict-max-pool"
"tcib-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acq
<strict-max-pool name="tcibcorp-mdb-strict-max-pool"
name="tcibcorp-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance

https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 5/19
10/7/24, 12:44 AM Application Tier Configuration

<strict-max-pool name="tcibwealth-mdb-strict-max-pool"
name="tcibwealth-mdb-strict-max-pool" max-pool-size="20"
max-pool-size="20" instance-acquisition-timeout="5"
instance-acquisition-timeout="5" instan
<strict-max-pool name="callat-mdb-strict-max-pool"
name= "callat-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-a
<strict-max-pool name="aml-mdb-strict-max-pool"
name= "aml-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acqu
<strict-max-pool name=
name="tps-mdb-strict-max-pool"
"tps-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acqu
<strict-max-pool name="seat-mdb-strict-max-pool"
name="seat-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acq
name="phantom-mdb-strict-max-pool"
<strict-max-pool name= "phantom-mdb-strict-max-pool" max-pool-size=
max-pool-size="200"
"200" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance
<strict-max-pool name=
name="swf-mdb-strict-max-pool"
"swf-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acqu
<strict-max-pool name="aaint-mdb-strict-max-pool"
name="aaint-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-ac
name="aaext-mdb-strict-max-pool"
<strict-max-pool name= "aaext-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-ac
name="inst-mdb-strict-max-pool"
<strict-max-pool name= "inst-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acq
<strict-max-pool name=
name="management-mdb-strict-max-pool"
"management-mdb-strict-max-pool" max-pool-size=
max-pool-size="1"
"1" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instanc
<strict-max-pool name="irisint-mdb-strict-max-pool"
name="irisint-mdb-strict-max-pool" max-pool-size=
max-pool-size="20"
"20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-
<strict-max-pool name="irisext-mdb-strict-max-pool"
name="irisext-mdb-strict-max-pool" max-pool-size="20"
max-pool-size="20" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-
name="dsfpackage-mdb-strict-max-pool"
<strict-max-pool name= "dsfpackage-mdb-strict-max-pool" max-pool-size=
max-pool-size="10"
"10" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instan
<strict-max-pool name="irismetadata-mdb-strict-max-pool"
name="irismetadata-mdb-strict-max-pool" max-pool-size="20"
max-pool-size="20" instance-acquisition-timeout="5"
instance-acquisition-timeout="5" inst
<strict-max-pool name="dd-mdb-strict-max-pool"
name="dd-mdb-strict-max-pool" max-pool-size="10"
max-pool-size="10" instance-acquisition-timeout="5"
instance-acquisition-timeout="5" instance-acqui
name="ms-mdb-strict-max-pool"
<strict-max-pool name= "ms-mdb-strict-max-pool" max-pool-size=
max-pool-size="10"
"10" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acqui
<strict-max-pool name="rf-mdb-strict-max-pool"
name="rf-mdb-strict-max-pool" max-pool-size="10"
max-pool-size="10" instance-acquisition-timeout="5"
instance-acquisition-timeout="5" instance-acqui
<strict-max-pool name="tph-mdb-strict-max-pool"
name="tph-mdb-strict-max-pool" max-pool-size="10"
max-pool-size="10" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acqu
Configuring MDB Default Resource
<strict-max-pool Adapter
name="cmbinterface-mdb-strict-max-pool"
name="cmbinterface-mdb-strict-max-pool" max-pool-size="10"
max-pool-size= "10" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" inst
name="tpsstandalone-mdb-strict-max-pool"
<strict-max-pool name= "tpsstandalone-mdb-strict-max-pool" max-pool-size=
max-pool-size="10"
"10" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" ins
The default message bean resource adapter is activemq-ra.rar adapter. Change the adapter to WebSphere MQ.
name="tpsnonsla-mdb-strict-max-pool"
<strict-max-pool name= "tpsnonsla-mdb-strict-max-pool" max-pool-size=
max-pool-size="10"
"10" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acquisit
<strict-max-pool name="xmlofs-mdb-strict-max-pool"
name="xmlofs-mdb-strict-max-pool" max-pool-size=
max-pool-size="10"
"10" instance-acquisition-timeout=
instance-acquisition-timeout="5"
"5" instance-acquisitio
</bean-instance-pools>
</pools>
vi $JBOSS_HOME/domain/configuration/domain.xml

Old value:

<mdb>
<resource-adapter-ref resource-adapter-name="${ejb.resource-adapter-name:activemq-ra.rar}"
resource-adapter-name="${ejb.resource-adapter-name:activemq-ra.rar}"/>
/>
<bean-instance-pool-ref pool-name="mdb-strict-max-pool"
pool-name="mdb-strict-max-pool"/>
/>
</mdb>

New value:

<mdb>
<resource-adapter-ref resource-adapter-name="wmq.jmsra.rar"
resource-adapter-name="wmq.jmsra.rar"/>
/>
<bean-instance-pool-ref pool-name="mdb-strict-max-pool"
pool-name="mdb-strict-max-pool"/>
/>
</mdb>

Domain Slave Server Configuration

TIP:
Repeat the following steps/configuration on each server in the application layer.

Creating TAFJ/Transact(T24) Folders


Execute the below commands to create the Transact and TAFJ folders.

https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 6/19
10/7/24, 12:44 AM Application Tier Configuration

mkdir -p $TEMENOS_HOME/TAFJ
mkdir -p $TEMENOS_HOME/T24

Setting TAFJ/Transact (T24) Environment Variables


Procedure

1. Add $TAFJ_HOME and $T24_HOME to the application server. Log in as temenos, open the file .bash_profile in your text editor.

vi .bash_profile
##############################################
# Temenos Home
#
export TEMENOS_HOME=/Temenos
"TEMENOS_HOME="$TEMENOS_HOME
echo "TEMENOS_HOME=" $TEMENOS_HOME
##############################################
# JAVA Home
export JAVA_HOME=/usr/lib/jvm/java-11
JAVA_HOME=/usr/lib/jvm/java-11-openjdk
-openjdk-11.0
-11.0..23.0
23.0..9-3
-3.el8.x86_64
.el8.x86_64
"JAVA_HOME="$JAVA_HOME
echo "JAVA_HOME=" $JAVA_HOME
export PATH=$JAVA_HOME/bin:
PATH=$JAVA_HOME/bin:$PATH
java -version
##############################################
# TAFJ Home
export TAFJ_HOME=$TEMENOS_HOME/TAFJ
"TAFJ_HOME="$TAFJ_HOME
echo "TAFJ_HOME=" $TAFJ_HOME
export PATH=$TAFJ_HOME/bin:
PATH=$TAFJ_HOME/bin:$PATH
##############################################
# T24 Home
export T24_HOME=$TEMENOS_HOME/T24
"T24_HOME="$T24_HOME
echo "T24_HOME=" $T24_HOME
################################################

2. Close your session and log in again with temenos user. Verify the new environment variables.

echo $TAFJ_HOME
echo $T24_HOME

Installing TAFJ
Procedure

1. Log into the application layer as temenos user.


2. FTP the installation package to $TEMENOS_HOME/Install.
3. In $TEMENOS_HOME/Install, create a folder called tafjinst.

mkdir -p $TEMENOS_HOME/Install/tafjinst

4. Unzip the files.

https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 7/19
10/7/24, 12:44 AM Application Tier Configuration

cd $TEMENOS_HOME/Install/tafjinsttar -xzvf ../TAFJ.R24.AMR.0


../TAFJ.R24.AMR.0.tar.gz

5. Install TAFJ. You can locate TAFJ at $TEMENOS_HOME/TAFJ, which is $TAFJ_HOME.


a. During the installation, change the default installation directory to the full path of $TAFJ_HOME which is “/Temenos/TAFJ”.
b. When message prompts for “directory doesn’t exist, create directory?”, choose “y”.

6. Change the permissions on $TAFJ_HOME\bin to execute.

$TAFJ_HOME/bin/*
chmod 755 $TAFJ_HOME/bin /*

7. Check the TAFJ installation.


a. Close your session and log in again.
b. Run tDiag diagnostic for TAFJ.
c. Run tVersion application. Ensure the version number is correct.

<dependencies><dependency org="Temenos"
org="Temenos" branch=
branch="DEV_202401"
"DEV_202401" name=
name="FJ_TAFJBootstrap"
"FJ_TAFJBootstrap" rev=
rev="0"
"0" /><dependency org="Temenos"
org="Temenos" branch=
branch="D
"D

Now, TAFJ is successfully installed.

Installing Transact
Procedure

1. FTP the installation package MB.R24.ORACLE19c.UNIX.TAFJR24.bnk.tar.gz to $TEMENOS_HOME/Install.


2. Unzip the files.

cd $T24_HOMEtar -xzvf ../Install/MB.R24.ORACLE19c.UNIX.TAFJR24.bnk.tar.gz

3. Check whether the files are extracted to the bnk folder.

Now, Transact is successfully installed.

Configuring Classic Transact


Perform the following tasks to configure the Classic Transact:

Configure tafj.properties
Update Transact libraries
Update UD directory
Define Database Connection Settings
Configure JDBC Drivers
Sanity check Transact

Configuring tafj.properties

Specify values for properties in the tafj.properties file, which is stored in $TAFJ_HOME/conf.

vi $TAFJ_HOME/conf/tafj.properties

https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 8/19
10/7/24, 12:44 AM Application Tier Configuration

Update Transact libraries

Update the temn.tafj.directory.precompile parameter where you store all Transact libraries

Example:

# Specify the Precompile classes directories


# You can specify multiple directory,
directory, separated by
':
# ' :' or ';' (eg /home/t24/lib;/home/t24/FT)
temn.tafj.directory.precompile =/Temenos/T24/bnk/t24lib

UD directory

Update the temn.tafj.runtime.directory.current parameter to what will be considered the 'current' directory.

Example:

# Specify what will be considered as the "current" directory (eg in an OPEN "." ...)temn.tafj.runtime.directory.current = /Temenos/T24/bn

Database Connection Settings

Define the following parameters for the Database Connection:

temn.tafj.jdbc.url - Specify the URL to connect to your RDMS. You can ask your database administrator about this URL.
temn.tafj.jdbc.driver - Specify the driver to connect to your RDMS. You can ask your database adminsitrator about the driver to use.
temn.tafj.jdbc.username and temn.tafj.jdbc.password - Specify the user name and password to connect to the database. Ask your database
administrator for the credentials.

Example:

temn.tafj.jdbc.url = jdbc:
jdbc:oracle:
oracle:thin:
thin:@ip_address:
@ip_address:1521/your_DB_service_nametemn.tafj.jdbc.driver
1521/your_DB_service_nametemn.tafj.jdbc.driver = oracle.jdbc.driver.OracleDrivertemn.ta

Configuring JDBC Drivers

Download and copy the latest JDBC drivers into the $TAFJ_HOME/ext directory. This directory is automatically added to the TAFJ classpath.

JDBC drivers are provided in the $TAFJ_HOME/dbdrivers directory. The jars under dbdrivers folder can be used as reference. Ideally, the JDBC drivers should match
the database version.

Procedure

1. Read the instructions for jdbc jars in the $TAFJ_HOME/dbdrivers/oracle-12c/README.


2. Copy the oracle-12c folder from $TAFJ_HOME/dbdrivers into $TAFJ_HOME/ext.
3. Replace all the jars with the jars copied from the Oracle database server. You might need to find the correct version of the jars from your database administrator. For
example:

ORACLE_HOME}
${ORACLE_HOME }/jdbc/lib/ojdbc8.jar$
/jdbc/lib/ojdbc8.jar${{ORACLE_HOME
ORACLE_HOME}}/rdbms/jlib/xdb6.jar$
/rdbms/jlib/xdb6.jar${{ORACLE_HOME
ORACLE_HOME}}/lib/xmlparserv2_sans_jaxp_services.jar$
/lib/xmlparserv2_sans_jaxp_services.jar${{ORACLE_HOM

Sanity Check Transact

https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 9/19
10/7/24, 12:44 AM Application Tier Configuration

Procedure

1. Login as temenos user on the application server.


2. Execute tRun EX. You can see the below home screen.

3. Log into the application using a valid Transact(T24) username and password.
4. Check the SPF S SYSTEM to confirm the Transact(T24) version.

NOTE:
You should be able to connect to Transact from all the servers in the Application layer.

Configuring JBoss Transact on the Application layer


The following sections describe how to configure Transact on JBoss Domain cluster in the Application tier. We will begin with the Slave Server configuration.

Configuring JBoss modules

Procedure

1. Deploy database driver module:


a. Create Oracle 12c module libraries in JBoss.

cd $JBOSS_HOME/modulesmkdir -p com/oracle/ora12c/main

b. Copy the file module.xml and the corresponding drivers to directory main.

https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 10/19
10/7/24, 12:44 AM Application Tier Configuration

cd $JBOSS_HOME/modules/com/oracle/ora12c/maincp$TAFJ_HOME/appserver/jboss/jboss7eap/modules/com/oracle/ora12c/module.xml .cp $TAF

2. Deploy TAFJ module.


a. Create a global module com/temenos/tafj/main under $JBOSS_HOME/modules.

cd $JBOSS_HOME/modulesmkdir -p com/temenos/tafj/main

b. Create a symbolic link to $TAFJ_HOME/lib:

cd $JBOSS_HOME/modules/com/temenos/tafj/mainln -s $TAFJ_HOME/lib lib

c. Create a symbolic link to $TAFJ_HOME/ext.

cd $JBOSS_HOME/modules/com/temenos/tafj/mainln -s $TAFJ_HOME/ext ext

d. Create a symbolic link to $TAFJ_HOME/RulesEngine.

cd $JBOSS_HOME/modules/com/temenos/tafj/mainln -s $TAFJ_HOME/RulesEngine RulesEngine

e. Edit the file module.xml to add the database dependency. Add “/RulesEngine/RulesEngine.jar” to <resources> section.

vi $JBOSS_HOME/modules/com/temenos/tafj/main/module.xml

Old Value:

<resource-root path="/ext/TAFJBASIC.jar"
path="/ext/TAFJBASIC.jar"/><resource-root
/><resource-root path="/ext/tComponentFramework.jar"
path="/ext/tComponentFramework.jar"/></resources>
/></resources>

New Value:

<resource-root path="/ext/TAFJBASIC.jar"
path="/ext/TAFJBASIC.jar"/><resource-root
/><resource-root path="/ext/tComponentFramework.jar"
path="/ext/tComponentFramework.jar"/><resource-root
/><resource-root path="/RulesEngine/R
path="/RulesEngine/R

f. Edit the module.xml to add the database dependency, add “com.oracle.ora12c” module as dependency.

vi $JBOSS_HOME/modules/com/temenos/tafj/main/module.xml

Old Value:

<dependencies><module name="com.temenos.t24"
name="com.temenos.t24"/><!--<module
/><!--<module name="com.ibm.db2v10"
name="com.ibm.db2v10"/><module
/><module name="com.microsoft.sqlserver"
name="com.microsoft.sqlserver"/>-->
/>-->

https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 11/19
10/7/24, 12:44 AM Application Tier Configuration

New Value:

<dependencies><module name="com.temenos.t24"
name="com.temenos.t24"/><module
/><module name="com.oracle.ora12c"
name="com.oracle.ora12c"/><!--<module
/><!--<module name="com.oracle.ora11g"
name="com.oracle.ora11g"/><module
/><module nam

3. Deploy Transact module.


a. Create a global module com/temenos/t24/main under $JBOSS_HOME/modules.

cd $JBOSS_HOME/modulesmkdir -p com/temenos/t24/main

b. Create a symbolic link to $T24_HOME/Lib.

cd $JBOSS_HOME/modules/com/temenos/t24/mainln -s $T24_HOME/bnk/t24lib lib

c. Generate a module descriptor file. As the generation of module.xml in Transact is long, you can use a TAFJ tool to generate the file quickly. Run module generator
from $TAFJ_HOME/bin.
d. The Command Syntax is

JBossTools module_name path_to_jars dest [root_prefix


root_prefix]] [-tafjdep
-tafjdep]]

Where,
module_name is the name of the JBoss module;
path_to_jars is the list of directories to be parsed (Use operating system path separator between folders);
dest is the directory (or path to the directory) where you want the file module.xmlto be generated;
root_prefix is the name of the link if module.xml is at the same level of the link;
-tafjdep is the option to add TAFJ module dependencies in the dependencies section;

e. Create a TAFJ module.xml file.

$TAFJ_HOME/bin/JBossTools com.temenos.t24 $T24_HOME/bnk/t24lib


$JBOSS_HOME/modules/com/temenos/t24/main lib -tafjdep

f. Open module.xml in your text editor and add TAFJ dependencies.

vi $JBOSS_HOME/modules/com/temenos/t24/main/module.xml</resources><dependencies><!--<module name="Add.your.modules.dependencies.h
name="Add.your.modules.dependencies.h

Configuring App host-slave.xml

For Domain Slave server, you don't need domain.xml, but you need to configure host-slave.xml. In the previous “Domain Server Groups” step, we have defined "App-
Server-Group" in the domain.xml. We need to make the corresponding changes to host-slave.xml.

Procedure

1. Open the host-slave.xml under $JBOSS_HOME/domain/configuration/ on slave application servers.


2. Search for interfaces section and update the ip addresses from 127.0.0.1 to master IP address.
Example:

https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 12/19
10/7/24, 12:44 AM Application Tier Configuration

<interfaces><interface name="management"
name="management"><inet-address
><inet-address value="${jboss.bind.address.management:<master-IP>}"
value="${jboss.bind.address.management:<master-IP>}"/></interface><interface
/></interface><interface n

3. Edit host-slave.xml.

vi $JBOSS_HOME/domain/configuration/host-slave.xml

Old value: (remove the sample server definitions)

<servers><server name="server-one"
name="server-one" group=
group="main-server-group"
"main-server-group"/><server
/><server name="server-two"
name="server-two" group=
group="other-server-group"
"other-server-group"><!--
><!-- server-two av

New Value:

NOTE:
You need to customize your JVM heap size and permgen space according to your server capacity.

For Slave Server 1:

<servers><server name="App-server-one"
name="App-server-one" group="App-Server-Group"
group="App-Server-Group"><jvm
><jvm name="App-server-one"
name="App-server-one"><heap
><heap size=8096m"
size=8096m" max-size="8096m
max-size="8096m"/><jvm-o
"/><jvm-o

For Slave Server 2:

<servers><server name="App-server-two"
name="App-server-two" group=
group="App-Server-Group"
"App-Server-Group"><jvm
><jvm name="App-server-two"
name="App-server-two"><heap
><heap size="8096m"
size="8096m" max-size=
max-size="8096m"
"8096m"/><jvm-
/><jvm-

Verifying JBoss Domain Cluster


Procedure

1. Start JBoss Domain controller.


2. Start JBoss App Slave servers.
3. Navigate to the URL http://domain_server_IP:9990/console in your web browser. Log in with the administrative user and password.
4. Click Domain tab. Server group “App-Server-Group”, server "App-server-one" on Slave server 1 and server "App-server-two" on Slave server 2 appears on the
page.
5. You can see the below screen once you have successfully setup a domain cluster. App-Tier JBoss cluster and Transact classic setup is completed.

Deploying Application Artefacts

https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 13/19
10/7/24, 12:44 AM Application Tier Configuration

Deploy MQ Resource Adapter


JBoss application server connects to WebSphere MQ through a resource adapter. This resource adapter (RA) must match the MQ server version. Get it from your MQ server
installation.

Procedure

1. Open domain.xml file under $JBOSS_HOME/domain/configuration by using the default text editor on master server.

vi $JBOSS_HOME/ domain/configuration

2. Find the urn:jboss:domain:resource-adapters subsystem in the configuration file. Add the below resource adapter if there are no resource adapters defined for
this subsystem.

<subsystem xmlns="urn:jboss:domain:resource-adapters:6.0"
xmlns="urn:jboss:domain:resource-adapters:6.0"><resource-adapters><resource-adapter
><resource-adapters><resource-adapter id="wmq.jmsra"
id="wmq.jmsra"><archive>wmq.jmsra.rar<
><archive>wmq.jmsra.rar<

3. Configure the resource adapter, with transaction support. Define a new connection factory (MQConnectionFactory) within a connection-definition section and
queues mapping within admin-objects section. MQ hostname and port will be substituted dynamically from server start parameters.

<connection-definitions><connection-definition class-name="com.ibm.mq.connector.outbound.ManagedConnectionFactoryImpl"
class-name="com.ibm.mq.connector.outbound.ManagedConnectionFactoryImpl" jndi-name=
jndi-name="jav
"jav

4. Jms objects definition must match the name defined during MQ installation. Change Queue Manager Name as shown below for corresponding admin-objects.

<admin-objects><admin-object class-name="com.ibm.mq.connector.outbound.MQQueueProxy"
class-name="com.ibm.mq.connector.outbound.MQQueueProxy" jndi-name=
jndi-name="java:/queue/TPSReplyQueue"
"java:/queue/TPSReplyQueue" enabled=
enabled="t
"t

5. Deploy the resource adapter from the JBoss admin console.


a. Navigate to Deployments > Server Groups > App-Server-Group and click Upload New Deployment.

b. Browse wmq.jms.rar file and click Next to continue. Then, click Finish to deploy the rar file.

https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 14/19
10/7/24, 12:44 AM Application Tier Configuration

c. MQ rar files are successfully deployed as shown below.

Deploying Temenos Kafka


Procedure

1. Open the domain.xml file under $JBOSS_HOME/domain/configuration by using the default text editor on master server.
2. Find the urn:jboss:domain:resource-adapters subsystem in the configuration file. Add the below kafka resource adapter and new KafkaConnectionFactory
connection factory to support kafka deployment.

<resource-adapter id="TemnKafkaRAR"
id="TemnKafkaRAR"><archive>TemnKafka.rar</archive><transaction-support>XATransaction</transaction-support><connecti
><archive>TemnKafka.rar</archive><transaction-support>XATransaction</transaction-support><connecti

3. Deploy the Kafka resource adapter from the JBoss admin console.
4. Navigate to Deployments > Server Groups > App-Server-Group.
a. Click Upload new Deployment in the browser.

b. Select the TemnKafka.rar file.


c. Click Next to continue. Then, click Finish to deploy rar file.
d. Kafka deployment is successful as shown below.

https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 15/19
10/7/24, 12:44 AM Application Tier Configuration

Deploying Tb-Server
Procedure

1. Open the JBoss admin console with URL - http://<hostname/IP>:9990/console.


2. Click deployments and navigate to Server Groups > App-Server-Group.
3. Click Upload new deployment and select tb-server.war file.
4. Proceed Next with default option and click Finish for deployment.
5. On successful Tb-Server deployment, verify the URL http://<hostname/Ip>:8090/tb-server/api/v1.0.0/meta/apis as shown below.

Deploying TAFJJEE and Tafjspooler Plugin


You need to change JBoss configuration file to switch default Active-MQ JMS provider support to Webpshere MQ JMS provider.

Procedure

1. Open the TAFJJEE_EAR.ear file using 7zip.


2. Navigate to TAFJJEE_EAR.ear\TAFJJEE_MDB.jar\META-INF and open the jboss-ejb3.xml with default text editor.
3. For each MDB section, replace the existing activation-config section as shown below. Update the values according to your MQ configuration.

<activation-config-property-name>hostName</activation-config-property-name><activation-config-property-value><MQhostname/IP></activat

4. Once activation config property is updated for all MDBs, all connection factory mapping should also be updated.

Old Value:

<resource-ref><res-ref-name>jms/TAFJQueueConnectionFactory</res-ref-name><res-type>javax.jms.ConnectionFactory</res-type><jndi-name>j

New Value:

https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 16/19
10/7/24, 12:44 AM Application Tier Configuration

<resource-ref><res-ref-name>jms/TAFJQueueConnectionFactory</res-ref-name><res-type>javax.jms.ConnectionFactory</res-type><jndi-name>j

5. Navigate to assembly-descriptor section on jboss-ejb3.xml file. Add the below for each MDB to ensure that the MDB’s point to the IBM MQ as default.

<mdb:
<mdb :resource-adapter-binding> <jee:
<jee:ejb-name>OFSTransactedMDB</jee
ejb-name>OFSTransactedMDB</jee:
:ejb-name><mdb
ejb-name><mdb:
:resource-adapter-name>wmq.jmsra</mdb
resource-adapter-name>wmq.jmsra</mdb:
:resource-adapte

6. Navigate to TAFJJEE_EAR.ear/TAFJJEE_WAR_TAFJ.war/WEB-INF directory, open the jboss-web.xml on default text editor and replace connection factory name
in resource reference section.

Old Value:

<resource-ref><res-ref-name>jms/TAFJQueueConnectionFactory</res-ref-name><res-type>javax.jms.ConnectionFactory</res-type><jndi-name>j

New Value:

<resource-ref><res-ref-name>jms/TAFJQueueConnectionFactory</res-ref-name><res-type>javax.jms.ConnectionFactory</res-type><jndi-name>j

7. Deploy the TAFJSpoolerPlugins.rar and TAFJJEE_EAR.ear war files using the JBoss console.
8. Navigate to Deployments > Server Groups > App-Server-Group. Click Upload new Deployment and browse the required deployment files
(TAFJJEE_EAR.ear and TAFJSpoolerPlugins.rar) for deployment.

Accessing TAFJJEE

Procedure

1. Go to each application slave server and follow the below steps to setup the tafj console access user credentials.
2. In the Linux shell, navigate to $JBOSS_HOME/bin.
3. Create an application user with the command: add-user.sh.
4. Grant the user TAFJAdmin role.
a. Specify the type of user. In this case, it is Application user.

. /add-user.shWhat type of user do you wish to add?a) Management User (mgmt-users.properties)b) Application User (application-use

b. Provide the preferred username. In this case, the user is "jumpstart".

Enter the details of the new user to add.Using realm ApplicationRealm as discovered from the existing property files.Username:
files.Username: jum

https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 17/19
10/7/24, 12:44 AM Application Tier Configuration

c. Provide the password and re-enter the password. In this case, the password is "Temenos@1234".

Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file.- The pas

d. Specify the groups the user should belong to. In this case, the group is "TAFJAdmin".

What groups do you want this user to belong to? (Please enter a comma separated list,
list, or leave blank for none)[
none)[ ]: TAFJAdmin

e. Enter yes to confirm the addition of the user to the realm "ApplicationRealm".

About to add user 'jumpstart' for realm 'ApplicationRealm'Is this correct yes/no?

f. For the last question about connecting one AS process to another, Enter the response 'no'.

Added user 'jumpstart' to file '/Temenos/jboss-eap-7.4


'/Temenos/jboss-eap-7.4/standalone/configuration/application-users.properties'Added
/standalone/configuration/application-users.properties'Added user 'jumpstar

5. Access the TAFJJEE servlet with the URL http://hostname_or_ip_address:8080/TAFJJEE.


6. Provide the application user credentials and click Sign in (Chromium-based web browsers).

7. Click on tDiag to verify the access.

https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 18/19
10/7/24, 12:44 AM Application Tier Configuration

https://docs.temenos.com/docs/Solutions/Runbooks/R24-S01-Runbook/t_application-tier-configuration2.htm# 19/19

You might also like