R23 Stack1 JBoss External Runbook
R23 Stack1 JBoss External Runbook
7 Sanity check 22
7.1 Accessing Classic 22
7.2 Launching DBTools 23
2
Stack 1 JBoss – Red Hat, version 1.0
When you complete the deployment, you will be able to perform business operations in Transact using Transact Explorer.
Note:
This runbook does not tell you how to install third-party software. For more information, see the relevant vendor's
documentation.
1.2 Scope
This runbook covers:
l Installing TAFJ
l Installing Transact
l Configuring JBoss 7.4 EAP
l Deploying Transact and TAFJ artefacts in JBoss
1.3 Audience
This guide is intended for Temenos consultants, IT professionals and system administrators who support the installation of
Temenos Transact.The following skills are required:
1.4 Legal
© Copyright 2023 Temenos Headquarters SA. All rights reserved.
3
Stack 1 JBoss – Red Hat, version 1.0
The information in this guide relates to TEMENOSTM information, products and services. It also includes information, data and keys
developed by other parties.
While all reasonable attempts have been made to ensure accuracy, currency and reliability of the content in this guide, all
information is provided "as is".
There is no guarantee as to the completeness, accuracy, timeliness or the results obtained from the use of this information. No
warranty of any kind is given, expressed or implied, including, but not limited to warranties of performance, merchantability and
fitness for a particular purpose.
In no event will TEMENOS be liable to you or anyone else for any decision made or action taken in reliance on the information in
this document or for any consequential, special or similar damages, even if advised of the possibility of such damages.
TEMENOS does not accept any responsibility for any errors or omissions, or for the results obtained from the use of this
information. Information obtained from this guide should not be used as a substitute for consultation with TEMENOS.
References and links to external sites and documentation are provided as a service. TEMENOS is not endorsing any provider of
products or services by facilitating access to these sites or documentation from this guide.
The content of this guide is protected by copyright and trademark law. Apart from fair dealing for the purposes of private study,
research, criticism or review, as permitted under copyright law, no part may be reproduced or reused for any commercial purposes
whatsoever without the prior written permission of the copyright owner. All trademarks, logos and other marks shown in this guide
are the property of their respective owners.
1.5 History
1.6 Conventions
Convention Description
Bold typeface Indicates GUI elements that are associated with an action and terms used in the body of the text or
in Glossary (if available).
4
Stack 1 JBoss – Red Hat, version 1.0
Convention Description
l Commands
l Variables
l Code blocks and snippets
l Text that you enter (user input)
l URLs
5
Stack 1 JBoss – Red Hat, version 1.0
2 Introduction
This runbook helps you set up a development or test environment for Transact and TAFJ on Red Hat Linux 8.2. It shows you how to
install and configure TAFJ, Transact, JBoss and ransact Explorer and how to access Transact through Transact Explorer.
Transact Explorer
Transact Explorer is the new browser that has been released as part of R23 AMR and it replaces UXP Browser. Transact
Explorer has a modern layout engine, generates GUI screens faster, and consumes less hardware resources than its
predecessors.
6
Stack 1 JBoss – Red Hat, version 1.0
3 Prerequisites
Ensure that your environment meets the requirements listed in this chapter before you install TAFJ, Transact and Transact
Explorer.
Software Version
OpenJDK 11
PostgreSQL 15
Axis2 1.8.2
You need to obtain the following installation packages from your account manager.
MS SQL Server bak MB.R23.MSSQL_2014.WIN.TAFJR23.30- Contains the Model Bank database records.
file SEP-2024.bak.tar.gz
Transact MB.R23.TAFJR23.bnk.tar.gz Contains the bnk directory that holds the Transact
libraries.
TAFJ TAFJ.R23.AMR.0.tar.gz Contains the TAFJ runtime .jar file, TAFJ patch
script and TAFJ setup script.
7
Stack 1 JBoss – Red Hat, version 1.0
Transact Explorer transact-explorer-wa-23.0.0.war Transact Explorer - the new Transact GUI released
with R23.
8
Stack 1 JBoss – Red Hat, version 1.0
1. Load Transact data from a file into the RDBMS of your choice. Use one of the following files:
l Microsoft SQL Server: MB.R23.MSSQL_2014.WIN.TAFJR23.30-SEP-2024.bak.tar.gz
l Oracle Database: MB.R23.ORACLE19.3.UNIX.TAFJR23.30-SEP-2024.dmp.tar.gz
l PostgreSQL: MB.R23.PostgreSQL_13.9.TAFJR23.30-SEP-2024.sql.tar.gz
2. Load PL SQL functions into the database. For more information, see the database-specific installation document that is
stored in $TAFJ_HOME/doc.
3. Install the required third-party software. For more information about the installation paths, see "Prerequisite directory
structure" on the next page.
4. Copy all Temenos artefacts into the chosen installation directory. For more information about the installation paths, see
"Prerequisite directory structure" on the next page.
5. If you are going to use a non-standard port on the application server, ensure that you open it in the Linux firewall:
a. Add the port by running the following command:
firewall-cmd --zone=public --add-port=9089/tcp –-permanent
b. Reload the new configuration:
firewall-cmd --reload
c. Check that the new rule is enabled:
firewall-cmd --list-all
1. Check the version of the operating system: ensure that your application server operating system is Red Hat Enterprise Linux
version 8.x. At the Linux command-line, execute the following command:
cat /etc/redhat-release
2. Check how much disk space is available. At the Linux command-line, execute the following command:
df -h
9
Stack 1 JBoss – Red Hat, version 1.0
mkdir -p Temenos/TAFJ
mkdir -p Temenos/T24
mkdir -p Temenos/3rdParty/AS
mkdir -p Temenos/inst
mkdir -p Temenos/inst/tafj-inst
mkdir -p Temenos/inst/t24-inst
3rdParty The 3rdParty directory contains all installed third-party software, such as JDK 11
and JBoss.
inst The inst directory contains all installers to set up TAFJ and Transact.
Procedure
10
Stack 1 JBoss – Red Hat, version 1.0
#TEMENOS_HOME
export TEMENOS_HOME=/srv/Temenos
echo $TEMENOS_HOME
#TAFJ_HOME
export TAFJ_HOME=$TEMENOS_HOME/TAFJ
echo $TAFJ_HOME
#T24_HOME
export T24_HOME=$TEMENOS_HOME/T24/bnk/lib
echo $T24_HOME
#JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.19.0.7-4.el8.x86_64
#JBOSS_HOME
export JBOSS_HOME=/srv/Temenos/3rdParty/AS/jboss-eap-7.4
echo $JBOSS_HOME
#PATH
export PATH=$PATH:$JAVA_HOME/bin:$TAFJ_HOME/bin:$JBOSS_HOME/bin
1. Verify that JDK version 11 is installed by executing java –version in the Linux shell.
2. Verify that you have added the JAVA_HOME environment variable and that you have added $JAVA_HOME/bin to the $PATH
variable.
11
Stack 1 JBoss – Red Hat, version 1.0
3. Check that you can connect to your database. You can use one of the following tools to connect to your database:
l Oracle SQL Developer (Oracle Database)
12
Stack 1 JBoss – Red Hat, version 1.0
5 Installing Transact
To install Transact, you need to extract the Transact libraries, install TAFJ and deploy the database driver for your chosen RDBMS
system.
Procedure
13
Stack 1 JBoss – Red Hat, version 1.0
6. When prompted to enter the installation directory, specify the path to $TAFJ_HOME and press Enter.
8. Enter y to confirm the path to the conf directory and press Enter.
14
Stack 1 JBoss – Red Hat, version 1.0
15
Stack 1 JBoss – Red Hat, version 1.0
1. Download the JDBC SQL driver from the https://jdbc.postgresql.org/ web site.
2. Copy the postgresql-42.6.0.jar file to the $TAFJ_HOME/ext directory.
16
Stack 1 JBoss – Red Hat, version 1.0
6 Configuring TAFJ
This chapter shows how to configure TAFJ runtime to set up a standalone Transact instance.
TAFJ does not use environment variables. Instead, it uses a properties file (tafj.properties) for its internal configuration.
Properties files are stored under the $TAFJ_HOME/conf directory. The default property file is tafj.properties.
#********************************************************************
#
# Directories
#
#********************************************************************
tafj.home =/srv/Temenos/TAFJ
MS SQL Server:
In temn.tafj.jdbc.url change integratedSecurity to false.
temn.tafj.jdbc.url=
jdbc:sqlserver://10.23.50.XXX:1433;databaseName=MBR23;integratedSecurity=false;encrypt
=true;trustServerCertificate=true
17
Stack 1 JBoss – Red Hat, version 1.0
temn.tafj.jdbc.username=T24
temn.tafj.jdbc.password=T24
Oracle Database:
temn.tafj.jdbc.url=jdbc:oracle:thin:@10.23.50.149:1521/ORCLPDB3
temn.tafj.jdbc.username=T24
temn.tafj.jdbc.password=T24
PostgreSQL:
temn.tafj.jdbc.url=jdbc:postgresql://10.23.50.XX:5432/R23AMR?idle_in_transaction_
session_timeout=2000&tcpKeepAlive=true&cleanupSavepoints=true
temn.tafj.jdbc.username=T24
temn.tafj.jdbc.password=T24
# Specify what will be considered as the "current" directory (eg in an OPEN "." ...)
#
temn.tafj.runtime.directory.current=/srv/Temenos/T24/bnk/UD
18
Stack 1 JBoss – Red Hat, version 1.0
#********************************************************************
#
# Database Specific setup
#
#********************************************************************
# Use the MERGE statement instead of UPDATE/INSERT for NO XML Schema and NO XML Schema work
#
temn.tafj.jdbc.write.use.merge.no.xml=false
#********************************************************************
#
# TAFJ Locking mechanism
#
#********************************************************************
Note:
DATABASE locking mode is recommended for releases 201809 and higher. TAFJ locks records using native database
locks when this locking mode is used. There are two supported modes:
l Mode 1 (default) uses an internal technical number table TAFJ_NONEXISTING_ROWS for handling the locks of
non-existing records from the application. This table is created on the fly in the runtime environment when the
DATABASE locking mode is set.
l Mode 2 uses an internal technical number table TAFJ_HASHLOCKS which contains values ranging from 0 to
2147483647 (maximum integer value).
19
Stack 1 JBoss – Red Hat, version 1.0
For more information, see the TAFJ Lock Manager guide (TAFJ-Lock Manager.pdf) that is in $TAFJ_HOME/doc.
9. To enable SAMPLE to work with PostgreSQL, set the temn.tafj.jdbc.use.rownum.at.end property to true.
temn.tafj.jdbc.use.rownum.at.end=true
20
Stack 1 JBoss – Red Hat, version 1.0
21
Stack 1 JBoss – Red Hat, version 1.0
7 Sanity check
Verify that your Transact standalone installation is successful before you proceed to deploy the application server.
Procedure
22
Stack 1 JBoss – Red Hat, version 1.0
5. To exit the SPF application, press the CTRL and U buttons and press Enter.
6. To exit the Classic command line interface, press the Shift, B and K buttons and press Enter.
Procedure
23
Stack 1 JBoss – Red Hat, version 1.0
24
Stack 1 JBoss – Red Hat, version 1.0
To install a module on JBoss EAP 7.4, create a path under the $JBOSS_HOME/modules directory. Under this path, install the JAR
libraries that are part of the module and the module.xml file that describes the module and the dependencies on other modules.
You need to create five modules on your application server.
<resources>
<resource-root path="mssql-jdbc-12.2.0.jre11.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
25
Stack 1 JBoss – Red Hat, version 1.0
<module name="javax.transaction.api"/>
<module name="javax.servlet.api" optional="true"/>
<module name="javax.xml.bind.api"/>
</dependencies>
</module>
26
Stack 1 JBoss – Red Hat, version 1.0
3. Copy module.xml from a directory under $TAFJ_HOME to the new main directory.
cp $TAFJ_HOME/appserver/jboss/jboss7eap/modules/com/postgres/jdbc/main/module.xml $JBOSS_
HOME/modules/com/postgres/jdbc/main
4. Copy the corresponding PostgreSQL driver from $TAFJ_HOME/ext to the $JBOSS_
HOME/modules/com/postgres/jdbc/main directory.
5. Check whether the copy was successful.
6. Open the copied module.xml file and ensure the module name is set to com.postgres.jdbc.
<resources>
<resource-root path="postgresql-42.5.1.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
<module name="javax.servlet.api" optional="true"/>
<module name="javax.xml.bind.api"/>
</dependencies>
</module>
Procedure
27
Stack 1 JBoss – Red Hat, version 1.0
6. Open the copied module.xml file in a text editor, uncomment the database driver module dependency under the
<dependencies> section according to the database used.
l If you are using Microsoft SQL Server, uncomment the following dependency:
<dependencies>
<module name="com.temenos.monitor" />
<module name="com.temenos.t24" />
<module name="com.microsoft.sqlserver"/>
<module name="com.temenos.validation"/>
<module name="javax.api" />
...
(shortened for brevity)
<dependencies>
<module name="com.temenos.monitor" />
<module name="com.temenos.t24" />
<module name="com.oracle.ora19c" />
<module name="com.temenos.validation"/>
<module name="javax.api" />
...
(shortened for brevity)
<dependencies>
<module name="com.temenos.monitor" />
<module name="com.temenos.t24" />
<module name="com.postgres.jdbc"/>
<module name="com.temenos.validation"/>
<module name="javax.api" />
...
(shortened for brevity)
7. In the same module.xml file, add the following line as the last element under <resources>.
28
Stack 1 JBoss – Red Hat, version 1.0
You can use the JBossTools utility to generate the module.xml file. This utility is provided by Temenos and it is available in the
$TAFJ_HOME/bin directory.
Procedure
The following screen capture shows the successful completion of the above command.
3. Open module.xml and add the TAFJ module as a dependency in the <dependencies> section.
29
Stack 1 JBoss – Red Hat, version 1.0
Options Description
module_name Name of the JBoss module. It must be the same as the directory path created for the module.
root_prefix Name of the link if module.xml is at the same level as the link.
30
Stack 1 JBoss – Red Hat, version 1.0
This definition adds mandatory system properties tafj.home and file.encoding. TAFJ uses UTF-8 encoding.
Example:
5. Refine your maximum heap size (-mx) based on your expected load on the application server.
Example:
31
Stack 1 JBoss – Red Hat, version 1.0
Note:
When setting up the max heap size (-mx), set the initial heap size (-ms) to the same value as the maximum heap size.
This prevents the JVM from consuming cycles to expand the heap since Transact starts with a large memory footprint.
6. Start JBoss using the following command. To use the configuration in Transact.xml, you must amend the JBoss startup
command and explicitly refer to this configuration file using the option --server-config.
standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0 --server-config=Transact.xml
You can launch JBoss CLI from the $JBOSS_HOME/bin directory by running the jboss-cli.sh script. It takes the following two
arguments: --file and --properties
The --file argument enables CLI commands to be provided from a text file. The $TAFJ_
HOME/appserver/jboss/jboss7eap/jboss-cli directory has a CLI script file T24Setup.cli. This script has commands to
update the profiles specific for Transact deployment.
Procedure
#Drivers
#define the driver corresponding to your database - H2 driver is already existing by
default - uncomment one of the following to create the driver corresponding to your
database
#please note that you have to create the module for the driver first
/subsystem=datasources/jdbc-driver=ora12c:add(driver-name=ora12c,driver-module-
name=com.oracle.ora12c,driver-xa-datasource-class-
name=oracle.jdbc.xa.client.OracleXADataSource)
/subsystem=datasources/jdbc-driver=sqljdbc:add(driver-name=sqljdbc,driver-module-
name=com.microsoft.sqlserver,driver-xa-datasource-class-
name=com.microsoft.sqlserver.jdbc.SQLServerXADataSource)
#/subsystem=datasources/jdbc-driver=db2jdbc:add(driver-name=db2jdbc,driver-module-
name=com.ibm.db2v11,driver-xa-datasource-class-name=com.ibm.db2.jcc.DB2XADataSource)
Oracle Database:
32
Stack 1 JBoss – Red Hat, version 1.0
#Drivers
#define the driver corresponding to your database - H2 driver is already existing by
default - uncomment one of the following to create the driver corresponding to your
database
#please note that you have to create the module for the driver first
/subsystem=datasources/jdbc-driver=ora19c:add(driver-name=ora19c,driver-module-
name=com.oracle.ora19c,driver-xa-datasource-class-
name=oracle.jdbc.xa.client.OracleXADataSource)
#/subsystem=datasources/jdbc-driver=sqljdbc:add(driver-name=sqljdbc,driver-module-
name=com.microsoft.sqlserver,driver-xa-datasource-class-
name=com.microsoft.sqlserver.jdbc.SQLServerXADataSource)
PostgreSQL:
/subsystem=datasources/jdbc-driver=postgres-jdbc:add(driver-name=postgres-jdbc,driver-
module-name=com.postgres.jdbc,driver-xa-datasource-class-
name=org.postgresql.xa.PGXADataSource)
#/subsystem=datasources/jdbc-driver=jdbc-yugabytedb:add(driver-name=jdbc-
yugabytedb,driver-module-name=com.yugabyte.Driver,driver-xa-datasource-class-
name=com.yugabyte.xa.PGXADataSource)
Note:
The --properties argument allows to pass user-specific properties to the script file from a property file. You will find
tafj.properties in the same location.
############################################################
# Path details
#
# For windows use C:/
#
TAFJ_HOME=/srv/Temenos/TAFJ
############################################################
# database details
#
#DB_URL doesn't apply for DB2 XA DRIVER
jdbc:sqlserver://10.23.50.XXX:1433;databaseName=MBR23;integratedSecurity=false;encrypt=tru
e;trustServerCertificate=true
DB_DRIVER=sqljdbc
DB_DRIVER_XA=[h2,ora12cXA,db2jdbc,sqljdbc,nuodb-jdbc,postgres-jdbc]
DB_USER=T24
33
Stack 1 JBoss – Red Hat, version 1.0
DB_PWD=T24
#DB2 XA DRIVER in replacement of DB_URL
DB_HOST=[hostname]
DB_NAME=[instance name]
DB_PORT=[port]
Oracle Database:
############################################################
# Path details
#
# For windows use C:/
#
TAFJ_HOME=/srv/Temenos/TAFJ
############################################################
# database details
#
#DB_URL doesn't apply for DB2 XA DRIVER
DB_URL=jdbc:oracle:thin:@10.23.50.149:1521/ORCLPDB3
DB_DRIVER=ora19c
DB_DRIVER_XA=[h2,ora12cXA,db2jdbc,sqljdbc,nuodb-jdbc,postgres-jdbc]
DB_USER=T24
DB_PWD=T24
#DB2 XA DRIVER in replacement of DB_URL
DB_HOST=[hostname]
DB_NAME=[instance name]
DB_PORT=[port]
PostgreSQL:
############################################################
# Path details
#
# For windows use C:/
#
TAFJ_HOME=/srv/Temenos/TAFJ
############################################################
# database details
#
#DB_URL doesn't apply for DB2 XA DRIVER
jdbc:postgresql://10.23.50.XX:5432/R23AMR?idle_in_transaction_session_
timeout=2000&tcpKeepAlive=true&cleanupSavepoints=true
DB_DRIVER=org.postgresql.Driver
DB_DRIVER_XA=[h2,ora12cXA,db2jdbc,sqljdbc,nuodb-jdbc,postgres-jdbc]
DB_USER=T24
DB_PWD=T24
34
Stack 1 JBoss – Red Hat, version 1.0
5. To resolve the user-specific system properties in tafj.properties that will be passed as command argument to JBoss
CLI command, set the value of resolve-parameter-values to true in $JBOSS_HOME/bin/jboss-cli.xml. Check
whether validate-operation-requests is set to true.
<validate-operation-requests>true</validate-operation-requests>
6. In the Linux shell, navigate to $JBOSS_HOME/bin and run the jboss-cli command.
jboss-cli.sh --connect --file=$TAFJ_HOME/appserver/jboss/jboss7eap/jboss-cli/T24Setup.cli
--properties=$TAFJ_HOME/appserver/jboss/jboss7eap/jboss-cli/tafj.properties
On successful execution, the command updates the required subsystems in Transact.xml which start up JBoss. The
following message shows the successful execution of the jboss-cli command.
The scripts adds the following to the standalone configuration file. (Transact.xml)
l "System properties" on the next page
l "Data sources and drivers" on the next page
l "Global modules" on page 38
l "JMS pools" on page 38
l "JMS queues" on page 39
l "Temenos Kafka" on page 43
l "HTTP listener" on page 43
7. Stop the JBoss instance as the configuration of JBoss with Transact and TAFJ is now complete. The next step is to deploy
the artefacts.
35
Stack 1 JBoss – Red Hat, version 1.0
This topic shows the selected snippets from the JBoss standalone configuration file, which means that a lot of contents have been
omitted for brevity. The content highlighted with bold font has been generated during during the running of the jboss-cli.sh
script.
System properties
<extension module="org.wildfly.extension.undertow"/>
<extension module="org.wildfly.iiop-openjdk"/>
</extensions>
system-properties
<property name="tafj.home" value="/srv/Temenos/TAFJ"/>
<property name="file.encoding" value="UTF-8"/>
</system-properties>
<management>
<security-realms>
36
Stack 1 JBoss – Red Hat, version 1.0
</pool>
<security>
<user-name>T24</user-name>
<password>T24</password>
</security>
</datasource>
<datasource jta="false" jndi-name="java:/jdbc/t24LockingDS" pool-name="t24LockingDS"
enabled="true" use-java-context="true" use-ccm="true">
<connection-url>jdbc:oracle:thin:@10.23.50.149:1521/ORCLPDB3</connection-url>
<driver>ora19c</driver>
<pool>
<min-pool-size>5</min-pool-size>
<max-pool-size>220</max-pool-size>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
<security>
<user-name>T24</user-name>
<password>T24</password>
</security>
</datasource>
<datasource jta="false" jndi-name="java:/jdbc/t24RODS" pool-name="t24RODS"
enabled="true" use-java-context="true" use-ccm="true">
<connection-url>jdbc:oracle:thin:@10.23.50.149:1521/ORCLPDB3</connection-url>
<driver>ora19c</driver>
<pool>
<min-pool-size>5</min-pool-size>
<max-pool-size>220</max-pool-size>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
<security>
<user-name>T24</user-name>
<password>T24</password>
</security>
</datasource>
<drivers>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
<driver name="ora19c" module="com.oracle.ora19c">
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-
datasource-class>
</driver>
</drivers>
</datasources>
37
Stack 1 JBoss – Red Hat, version 1.0
Global modules
<subsystem xmlns="urn:jboss:domain:ee:6.0">
<global-modules>
<module name="com.temenos.tafj" slot="main"/>
<module name="com.temenos.t24" slot="main"/>
<module name="com.temenos.monitor" slot="main"/>
<module name="com.temenos.validation" slot="main"/>
</global-modules>
<spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
JMS pools
<pools>
<bean-instance-pools>
<strict-max-pool name="mdb-strict-max-pool" derive-size="from-cpu-count"
instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
<strict-max-pool name="slsb-strict-max-pool" derive-size="from-worker-pools"
instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
<strict-max-pool name="ofs-mdb-strict-max-pool" max-pool-size="10" instance-
acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
<strict-max-pool name="browser-mdb-strict-max-pool" max-pool-size="10" instance-
acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
<strict-max-pool name="arcmob-mdb-strict-max-pool" max-pool-size="10" instance-
acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
<strict-max-pool name="tws-mdb-strict-max-pool" max-pool-size="10" instance-
acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
<strict-max-pool name="tcib-mdb-strict-max-pool" max-pool-size="10" instance-
acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
<strict-max-pool name="tcibcorp-mdb-strict-max-pool" max-pool-size="10"
instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
<strict-max-pool name="tcibwealth-mdb-strict-max-pool" max-pool-size="10"
instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
<strict-max-pool name="callat-mdb-strict-max-pool" max-pool-size="10" instance-
acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
<strict-max-pool name="aml-mdb-strict-max-pool" max-pool-size="10" instance-
acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
<strict-max-pool name="tps-mdb-strict-max-pool" max-pool-size="10" instance-
acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
<strict-max-pool name="seat-mdb-strict-max-pool" max-pool-size="10" instance-
acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
<strict-max-pool name="phantom-mdb-strict-max-pool" max-pool-size="20" instance-
acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
<strict-max-pool name="swf-mdb-strict-max-pool" max-pool-size="10" instance-
acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
<strict-max-pool name="aaint-mdb-strict-max-pool" max-pool-size="10" instance-
acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
38
Stack 1 JBoss – Red Hat, version 1.0
JMS queues
<subsystem xmlns="urn:jboss:domain:messaging-activemq:13.0">
<server name="default">
<statistics enabled="${wildfly.messaging-activemq.statistics-
enabled:${wildfly.statistics-enabled:false}}"/>
<security-setting name="#">
<role name="guest" send="true" consume="true" create-non-durable-queue="true"
delete-non-durable-queue="true"/>
</security-setting>
<address-setting name="#" dead-letter-address="jms.queue.DLQ" expiry-
address="jms.queue.ExpiryQueue" max-size-bytes="10485760" page-size-bytes="2097152" message-counter-
history-day-limit="10"/>
<http-connector name="http-connector" socket-binding="http" endpoint="http-
39
Stack 1 JBoss – Red Hat, version 1.0
acceptor"/>
<http-connector name="http-connector-throughput" socket-binding="http"
endpoint="http-acceptor-throughput">
<param name="batch-delay" value="50"/>
</http-connector>
<in-vm-connector name="in-vm" server-id="0">
<param name="buffer-pooling" value="false"/>
</in-vm-connector>
<http-acceptor name="http-acceptor" http-listener="default"/>
<http-acceptor name="http-acceptor-throughput" http-listener="default">
<param name="batch-delay" value="50"/>
<param name="direct-deliver" value="false"/>
</http-acceptor>
<in-vm-acceptor name="in-vm" server-id="0">
<param name="buffer-pooling" value="false"/>
</in-vm-acceptor>
<jms-queue name="ExpiryQueue" entries="java:/jms/queue/ExpiryQueue"/>
<jms-queue name="DLQ" entries="java:/jms/queue/DLQ"/>
<jms-queue name="t24OFSQueue" entries="queue/t24OFSQueue
java:jboss/exported/jms/queue/t24OFSQueue"/>
<jms-queue name="t24OFSReplyQueue" entries="queue/t24OFSReplyQueue
java:jboss/exported/jms/queue/t24OFSReplyQueue"/>
<jms-queue name="t24BROWSERQueue" entries="queue/t24BROWSERQueue
java:jboss/exported/jms/queue/t24BROWSERQueue"/>
<jms-queue name="t24BROWSERReplyQueue" entries="queue/t24BROWSERReplyQueue
java:jboss/exported/jms/queue/t24BROWSERReplyQueue"/>
<jms-queue name="t24ARCMOBQueue" entries="queue/t24ARCMOBQueue
java:jboss/exported/jms/queue/t24ARCMOBQueue"/>
<jms-queue name="t24ARCMOBReplyQueue" entries="queue/t24ARCMOBReplyQueue
java:jboss/exported/jms/queue/t24ARCMOBReplyQueue"/>
<jms-queue name="t24TWSQueue" entries="queue/t24TWSQueue
java:jboss/exported/jms/queue/t24TWSQueue"/>
<jms-queue name="t24TWSReplyQueue" entries="queue/t24TWSReplyQueue
java:jboss/exported/jms/queue/t24TWSReplyQueue"/>
<jms-queue name="t24TCIBQueue" entries="queue/t24TCIBQueue
java:jboss/exported/jms/queue/t24TCIBQueue"/>
<jms-queue name="t24TCIBReplyQueue" entries="queue/t24TCIBReplyQueue
java:jboss/exported/jms/queue/t24TCIBReplyQueue"/>
<jms-queue name="t24TCIBCORPQueue" entries="queue/t24TCIBCORPQueue
java:jboss/exported/jms/queue/t24TCIBCORPQueue"/>
<jms-queue name="t24TCIBCORPReplyQueue" entries="queue/t24TCIBCORPReplyQueue
java:jboss/exported/jms/queue/t24TCIBCORPReplyQueue"/>
<jms-queue name="t24TCIBWEALTHQueue" entries="queue/t24TCIBWEALTHQueue
java:jboss/exported/jms/queue/t24TCIBWEALTHQueue"/>
<jms-queue name="t24TCIBWEALTHReplyQueue" entries="queue/t24TCIBWEALTHReplyQueue
java:jboss/exported/jms/queue/t24TCIBWEALTHReplyQueue"/>
<jms-queue name="t24CALLATQueue" entries="queue/t24CALLATQueue
40
Stack 1 JBoss – Red Hat, version 1.0
java:jboss/exported/jms/queue/t24CALLATQueue"/>
<jms-queue name="t24CALLATReplyQueue" entries="queue/t24CALLATReplyQueue
java:jboss/exported/jms/queue/t24CALLATReplyQueue"/>
<jms-queue name="t24AMLQueue" entries="queue/t24AMLQueue
java:jboss/exported/jms/queue/t24AMLQueue"/>
<jms-queue name="t24AMLReplyQueue" entries="queue/t24AMLReplyQueue
java:jboss/exported/jms/queue/t24AMLReplyQueue"/>
<jms-queue name="t24TPSQueue" entries="queue/t24TPSQueue
java:jboss/exported/jms/queue/t24TPSQueue"/>
<jms-queue name="t24TPSReplyQueue" entries="queue/t24TPSReplyQueue
java:jboss/exported/jms/queue/t24TPSReplyQueue"/>
<jms-queue name="t24TPSInstInQueue" entries="queue/t24TPSInstInQueue
java:jboss/exported/jms/queue/t24TPSInstInQueue"/>
<jms-queue name="t24TPSInstInReplyQueue" entries="queue/t24TPSInstInReplyQueue
java:jboss/exported/jms/queue/t24TPSInstInReplyQueue"/>
<jms-queue name="t24SEATQueue" entries="queue/t24SEATQueue
java:jboss/exported/jms/queue/t24SEATQueue"/>
<jms-queue name="t24SEATReplyQueue" entries="queue/t24SEATReplyQueue
java:jboss/exported/jms/queue/t24SEATReplyQueue"/>
<jms-queue name="t24IFInboundQueue" entries="queue/t24IFInboundQueue
java:jboss/exported/jms/queue/t24IFInboundQueue"/>
<jms-queue name="t24IFOutboundQueue" entries="queue/t24IFOutboundQueue
java:jboss/exported/jms/queue/t24IFOutboundQueue"/>
<jms-queue name="t24SWFQueue" entries="queue/t24SWFQueue
java:jboss/exported/jms/queue/t24SWFQueue"/>
<jms-queue name="t24SWFReplyQueue" entries="queue/t24SWFReplyQueue
java:jboss/exported/jms/queue/t24SWFReplyQueue"/>
<jms-queue name="t24AAIntQueue" entries="queue/t24AAIntQueue
java:jboss/exported/jms/queue/t24AAIntQueue"/>
<jms-queue name="t24AAIntReplyQueue" entries="queue/t24AAIntReplyQueue
java:jboss/exported/jms/queue/t24AAIntReplyQueue"/>
<jms-queue name="t24AAExtQueue" entries="queue/t24AAExtQueue
java:jboss/exported/jms/queue/t24AAExtQueue"/>
<jms-queue name="t24AAExtReplyQueue" entries="queue/t24AAExtReplyQueue
java:jboss/exported/jms/queue/t24AAExtReplyQueue"/>
<jms-queue name="t24IRISIntQueue" entries="queue/t24IRISIntQueue
java:jboss/exported/jms/queue/t24IRISIntQueue"/>
<jms-queue name="t24IRISIntReplyQueue" entries="queue/t24IRISIntReplyQueue
java:jboss/exported/jms/queue/t24IRISIntReplyQueue"/>
<jms-queue name="t24IRISExtQueue" entries="queue/t24IRISExtQueue
java:jboss/exported/jms/queue/t24IRISExtQueue"/>
<jms-queue name="t24IRISExtReplyQueue" entries="queue/t24IRISExtReplyQueue
java:jboss/exported/jms/queue/t24IRISExtReplyQueue"/>
<jms-queue name="t24DSFPACKAGERQueue" entries="queue/t24DSFPACKAGERQueue
java:jboss/exported/jms/queue/t24DSFPACKAGERQueue"/>
<jms-queue name="t24DSFPACKAGERReplyQueue" entries="queue/t24DSFPACKAGERReplyQueue
java:jboss/exported/jms/queue/t24DSFPACKAGERReplyQueue"/>
41
Stack 1 JBoss – Red Hat, version 1.0
42
Stack 1 JBoss – Red Hat, version 1.0
java:jboss/exported/jms/topic/t24ManagementTopic"/>
<connection-factory name="InVmConnectionFactory" entries="java:/ConnectionFactory"
connectors="in-vm"/>
<connection-factory name="RemoteConnectionFactory"
entries="java:jboss/exported/jms/RemoteConnectionFactory" connectors="http-connector"/>
<pooled-connection-factory name="activemq-ra" entries="java:/JmsXA
java:jboss/DefaultJMSConnectionFactory" connectors="in-vm" transaction="xa"/>
</server>
</subsystem>
Temenos Kafka
<subsystem xmlns="urn:jboss:domain:remoting:4.0">
<http-connector name="http-remoting-connector" connector-ref="default" security-
realm="ApplicationRealm"/>
</subsystem>
<subsystem xmlns="urn:jboss:domain:request-controller:1.0"/>
<subsystem xmlns="urn:jboss:domain:resource-adapters:6.0">
<resource-adapters>
<resource-adapter id="TemnKafkaRAR">
<archive>
TemnKafka.rar
</archive>
<transaction-support>XATransaction</transaction-support>
<connection-definitions>
<connection-definition class-
name="com.temenos.technology.kafka.outbound.TemnKafkaManagedConnectionFactory" jndi-
name="java:/eis/KafkaConnectionFactory" enabled="true" pool-name="ConnectionFactory">
<xa-pool>
<min-pool-size>1</min-pool-size>
<max-pool-size>20</max-pool-size>
<prefill>false</prefill>
<is-same-rm-override>false</is-same-rm-override>
</xa-pool>
</connection-definition>
</connection-definitions>
</resource-adapter>
</resource-adapters>
</subsystem>
<subsystem xmlns="urn:jboss:domain:sar:1.0"/>
HTTP listener
<subsystem xmlns="urn:jboss:domain:undertow:12.0" default-server="default-server" default-
virtual-host="default-host" default-servlet-container="default" default-security-domain="other"
statistics-enabled="${wildfly.undertow.statistics-enabled:${wildfly.statistics-enabled:false}}">
43
Stack 1 JBoss – Red Hat, version 1.0
<buffer-cache name="default"/>
<server name="default-server">
<http-listener name="default" socket-binding="http" max-parameters="5000" redirect-
socket="https" enable-http2="true"/>
<https-listener name="https" socket-binding="https" security-
realm="ApplicationRealm" enable-http2="true"/>
<host name="default-host" alias="localhost">
<location name="/" handler="welcome-content"/>
<http-invoker security-realm="ApplicationRealm"/>
</host>
</server>
44
Stack 1 JBoss – Red Hat, version 1.0
45
Stack 1 JBoss – Red Hat, version 1.0
46
Stack 1 JBoss – Red Hat, version 1.0
cp $TEMENOS_HOME/T24/bnk/Extensions/EB_CatalogService/t24ws/t24-EB_CatalogService-tafj-
jws.aar WEB-INF/services
cp $TEMENOS_HOME/T24/bnk/Extensions/EB_OFSConnectorService/t24ws/t24-EB_
OFSConnectorService-tafj-jws.aar WEB-INF/services
cp $TEMENOS_HOME/T24/bnk/Extensions/EB_ResourceProviderService/t24ws/t24-EB_
ResourceProviderService-tafj-jws.aar WEB-INF/services
cp $TEMENOS_HOME/T24/bnk/Extensions/IF_InflowService/t24ws/t24-IF_InflowService-tafj-
jws.aar WEB-INF/services
cp $TEMENOS_HOME/T24/bnk/Extensions/IF_IntegrationFlowService/t24ws/t24-IF_
IntegrationFlowService-tafj-jws.aar WEB-INF/services
cp $TEMENOS_HOME/T24/bnk/Extensions/IF_IntegrationFrameworkService/t24ws/t24-IF_
IntegrationFrameworkService-tafj-jws.aar WEB-INF/services
cp $TEMENOS_HOME/T24/bnk/Extensions/IF_IntegrationLandscapeService/t24ws/t24-IF_
IntegrationLandscapeService-tafj-jws.aar WEB-INF/services
7. Open the /WEB-INF/services/services.list file in a text editor of your choice and add the names of the component
service archives that you have copied to the services directory.
t24-EB_CatalogService-tafj-jws.aar
t24-IF_IntegrationLandscapeService-tafj-jws.aar
t24-DS_DesignStudioInstallerService-tafj-jws.aar
t24-EB_OFSConnectorService-tafj-jws.aar
t24-EB_ResourceProviderService-tafj-jws.aar
t24-IF_IntegrationFlowService-tafj-jws.aar
t24-IF_IntegrationFrameworkService-tafj-jws.aar
t24-IF_InflowService-tafj-jws.aar
version-1.8.2.aar
8. Open /WEB-INF/web.xml in an editor and configure database connectivity by adding the Transact data sources at the end
of the web.xml file.
<error-page>
<error-code>500</error-code>
<location>/axis2-web/Error/error500.jsp</location>
</error-page>
<resource-ref id="ResourceRef_t24LockingDataSource">
47
Stack 1 JBoss – Red Hat, version 1.0
9. Add the JBoss-specific deployment descriptor jboss-web.xml under the WEB-INF directory and configure database
connectivity by adding the required data sources:
10. Delete the previous axis2.war file and create the new version of it.
rm –rf axis2.war
jar cf axis2.war *
48
Stack 1 JBoss – Red Hat, version 1.0
jdbc:sqlserver://10.23.50.XXX:1433;databaseName=MBR23;integratedSecurity=false;encrypt=tru
e;trustServerCertificate=true</connection-url>
<connection-property name="defaultRowPrefetch">
100
</connection-property>
<driver>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver>
<pool>
<min-pool-size>5</min-pool-size>
<max-pool-size>220</max-pool-size>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
<security>
<user-name>T24</user-name>
<password>T24</password>
</security>
</datasource>
Oracle Database:
PostgreSQL:
49
Stack 1 JBoss – Red Hat, version 1.0
<driver>org.postgresql.Driver</driver>
<pool>
<min-pool-size>5</min-pool-size>
<max-pool-size>220</max-pool-size>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
<security>
<user-name>T24</user-name>
<password>T24</password>
</security>
</datasource>
50
Stack 1 JBoss – Red Hat, version 1.0
To start JBoss with all the artefacts deployed, run the following command:
./standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0 --server-config=Transact.xml -
Djboss.http.port=9089
Procedure
./add-user.sh
What type of user do you wish to add?
a) Management User (mgmt-users.properties)
b) Application User (application-users.properties)
(a): b
Password recommendations are listed below. To modify these restrictions edit the add-
user.properties configuration file.
- The password should be different from the username
- The password should not be one of the following restricted values {root, admin,
administrator}
51
Stack 1 JBoss – Red Hat, version 1.0
d. Specify the groups the user should belong to; here TAFJAdmin.
What groups do you want this user to belong to? (Please enter a comma separated list, or
leave blank for none)[ ]: TAFJAdmin
e. Confirm the addition of the user to the realm ApplicationRealm by providing the answer yes.
52
Stack 1 JBoss – Red Hat, version 1.0
Note:
Some of the tools are protected and require TAFJ user credentials.
6. To perform a quick test, click the tShow servlet and in the Routine name field, enter EX to view the compilation details of a
Transact routine on the application server.
53
Stack 1 JBoss – Red Hat, version 1.0
54
Stack 1 JBoss – Red Hat, version 1.0
2. Click Validate.
A page is displayed that confirms whether the web services are working properly.
55
Stack 1 JBoss – Red Hat, version 1.0
56
Stack 1 JBoss – Red Hat, version 1.0
1. In Axis2 servlet, go to Services and click the chosen service to get the WSDL file. For example, here the WSDL is of
IntegrationFlowService.
2. Create a new SOAP project using WSDL in a third-party tool such as SOAPUI: Click File > New SOAP Project. The initial
window opens.
3. Specify the project name and the URL of the initial WSDL file, for example
http://10.23.50.153:9089/axis2/services/IntegrationFlowServiceWS?wsdl, and then click OK.
4. Issue a flow request passing the necessary parameters: In the first binding, expand readFlow and double click Request 1.
57
Stack 1 JBoss – Red Hat, version 1.0
5. Enter the requested parameter values for <xsd:password>, <xsd:user> and <int:flowName>.
Tip: The flowName value can be any of the flows you see in IF.INTEGRATION.FLOW.CATALOG.
58
Stack 1 JBoss – Red Hat, version 1.0
6. In the upper-left corner of the request window, click the green triangle button to execute the query.
The SOAP response indicates that IntegrationFlowService of Axis2 can communicate with Transact.
Results:You have now completed the deployment of TAFJ, Transact and Transact Explorer on JBoss EAP 7.4 with a supported
database (MS SQL Server 2019, Oracle 19c or PostgreSQL 15). You are now able to perform business operations in Transact
using Transact Explorer.
59