TAFJ Setup
TAFJ Setup
R22
TAFJ-S e t u p
Amendment History:
Revisio
Date Amended Name Description
n
4th September
11 JN Charpin COMO logger
2017
14th December
12 JN Charpin Properties in DB
2017
Page 2
TAFJ-S e t u p
2017
Vinod
15 13th April 2018 Log redirect to Splunk
Shunmugavel
Preethi
19 25th March 2022 R22 AMR Review
Evangelin
Page 3
TAFJ-S e t u p
Copyri g h t
Copyright © Temenos Headquarters SA 2009-2022. All rights reserved.
This document contains proprietary information that is protected by copyright. No part of this document may
be reproduced, transmitted, or made available directly or indirectly to a third party without the express
written agreement of TEMENOS UK Limited. Receipt of this material directly TEMENOS UK Limited
constitutes its express permission to copy. Permission to use or copy this document expressly excludes
modifying it for any purpose, or using it to create a derivative therefrom.
Temenos Headquarters SA
2 Rue de l’Ecole-de-Chimie,
CH - 1205 Geneva,
Switzerland
Please include your name, company, address, and telephone and fax numbers, and email
address if applicable. [email protected]
Page 4
TAFJ-S e t u p
Table of Contents
Copyright................................................................................................................................................ 4
Errata and Comments............................................................................................................................ 4
What is TAFJ.......................................................................................................................................... 6
Overview................................................................................................................................................ 6
Install guide............................................................................................................................................ 7
Prerequisites....................................................................................................................... 7
Java JDK......................................................................................................................... 7
Setup TAFJ............................................................................................................................................ 8
A Step by Step TAFJ Installation.........................................................................................9
Exploring the Setup result..................................................................................................10
Setup Eclipse Plug-ins.......................................................................................................12
Setup project........................................................................................................................................ 13
How it works with properties file and .default........................................................................................ 14
Logging................................................................................................................................................. 15
Properties............................................................................................................................................. 15
File configuration............................................................................................................... 15
Database configuration......................................................................................................15
Properties.......................................................................................................................... 16
Configuration override – multi-configuration......................................................................17
Printer................................................................................................................................................... 19
Check TAFJ Installation........................................................................................................................ 20
EarFilebuilder....................................................................................................................................... 21
Commit Capture................................................................................................................................... 23
Property Setup...............................................................................................................23
Configuration.................................................................................................................. 23
Events table................................................................................................................... 23
Outbox Events...................................................................................................................................... 24
Property Setup...............................................................................................................25
Page 5
TAFJ-S e t u p
What is TAFJ
TAFJ (Temenos Application Framework Java) is a Pick BASIC runtime and compiler, written
in 100% java. It allows compiling and running Pick BASIC programs. TAFJ has been written
specifically for T24 needs, and all tests and proof of concepts have been done using T24.
TAFJ also manage the connectivity on JDBC compliant databases like jBASE, Oracle,
Microsoft SQL Server, DB2, derby, derby (Embedded). It comes with an embedded
exporting tool for migrate your Pick data to Oracle.
Overvi e w
Page 6
TAFJ-S e t u p
Inst a l l gui d e
Prer e q u i s i t e s
Java JDK
To install TAFJ, the only prerequisite is having a Java Development Kit (JDK) version 1.8.x
installed. To check what version of java you have, type in a console:
>java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121- b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed
mode)
If the version reported is not 1.8.x, you should install it. Java JDK can be downloaded here:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
NOTE: If you have installed java 1.8 but the command java -version doesn't report the
correct version, this is certainly because your PATH environment variable points to another
version. This is a bad practice to have your java virtual machine (VM) in the PATH. We highly
recommend removing it. The best practice is to set-up an environment variable called
JAVA_HOME pointing to the root directory of your Java Development Kit (JDK) installation.
Then, you could reference JAVA_HOME/bin in your PATH environment variable.
On Unix/Linux/:
export JAVA_HOME=<path_to_your_jdk>
Page 7
TAFJ-S e t u p
On Windows:
START Menu -> Settings -> Control Panel -> System -> Advanced -> Environment
Variables
You could use System variables (Preferred) OR User variables to set the JAVA_HOME.
set JAVA_HOME=<path_to_your_jdk>
Se t u p TAFJ
The installation comes as a single .tar file. On Unix/Linux, run the “tar -xf <filename>”
command. On Windows, you can use 7zip® to extract the zip Contents.
Then run the script .sh on UNIX or .bat on Windows operating system.
Note: That the JAVA_HOME environment variable must be set before running the scripts.
The following section will show a typical install procedure on a UNIX platform. The procedure
will be exactly the same on Windows®. The user input is in [blue]. If you have values in
brackets, these are the default values (typing <ENTER> is accepting the default).
Note: If you do not have the T24 sources you will need to give any existing directory in order
to continue the setup. The insert directory is optional.
Page 8
TAFJ-S e t u p
On UNIX:
$ . ./Setup_TAFJ.<version>.sh
On Windows:
> Setup_TAFJ.<version>.bat
Page 9
TAFJ-S e t u p
YAJI v R18
WARNING : JDK 1.8 or above required
Starting setup...
========================================================
. Welcome to the Installation program of TAFJ .
. This setup will install the necessary libraries to .
. compile and run BASIC programs as well as some .
. additional tools and Eclipse plug-ins. .
. Note that nothing will be modified outside of the .
. directory you will specify for the installation. .
. To fully uninstall it, just delete the directory. .
========================================================
========================================================
Please enter the install Directory.
default : 'C:\Temenos\Development\TAFJ_SOURCES\TAFJ_DEV\TAFJReleases/TAFJ'
'C:\Temenos\Development\TAFJ_SOURCES\TAFJ_DEV\TAFJReleases\TAFJ' doesn't
exist. Create (y/n) ?
y
========================================================
Please enter the eclipse home directory (Optional).
When provided, a tafj.link, used to resolve tafj eclipse
plugins will be created under ECLIPSE_HOME/dropins
If this file already exist it will be replaced
default :
'C:\Temenos\Development\TAFJ_SOURCES\TAFJ_DEV\TAFJReleases/TAFJ/conf'
'C:\Temenos\Development\TAFJ_SOURCES\TAFJ_DEV\TAFJReleases\TAFJ\conf'
doesn't exist. Create (y/n) ?
y
Extracting META-INF/META- INF/MANIFEST.MF3rdParty/ (dir)
3rdParty/jackson/ (dir)
3rdParty/logging/ (dir)
Page 10
TAFJ-S e t u p
Updating : 'C:\TAFJ_GA\conf\tafj.properties'.
Updating : 'C:\TAFJ_GA\conf\.properties'.
Updating : 'C:\TAFJ_GA\conf\.data'.
Updating : 'C:\TAFJ_GA\dbscripts\oracle\javaload'.
Updating : 'C:\TAFJ_GA\dbscripts\oracle\javaload.bat'.
Updating : 'C:\TAFJ_GA\dbscripts\oracle\javaunload'.
Updating : 'C:\TAFJ_GA\dbscripts\oracle\javaunload.bat'.
===========================================================
. Thank you for having installed TAFJ .
. *** IMPORTANT *** .
. Please make sure that you have the environment variable .
. JAVA_HOME set to a JDK 8 or above. .
===========================================================
Press ENTER to terminate.
Explori n g th e Se t u p res u l t
<TAFJ_HOME>/
3rdParty/ The directory contains specific 3rd party Libraries. These libraries are not loaded by
default in the Classpath of TAFJ. Refer to the documentation when and where you
have to deploy these libraries
appserver/ The directory contains the different application server configuration like jboss,
Websphere application server etc.
bin/ The directory contains the different executable scripts (tRun, tCompile, ...).
data/ This directory contains classes and java folder. classes folder holds the all the
compiled class files (.class) and java folder holds .java files
dbdrivers/ The directory contains the drivers needed to different database communication.
Page 11
TAFJ-S e t u p
eclipse/plugins/ The directory contains all the plugins to enable the TAFJ perspective in eclipse
IDE.
JarSigner/ The directory contains the standalone tools to sign and verify a jars
MessageIntegrity/ This directory contains the standalone tools and jars for MessageIntegrity.
RulesEngine/ The directory contains some Rules Engine jars to be used by T24 runtime.
T24Email/ The directory contains some T24 Email jars to be used by T24 runtime.
T24Sms/ The directory contains some T24 Sms jars to be used by T24 runtime.
Tafc_components
TAFJSessionMonitor/ The directory contains some TAFJ MV42 Monitor tar.gz file.
<TAFJ_HOME>/data/
/tafj/ The default project directory
/tafj/classes/ The default directory where the compiled BASIC goes (like globuslib).
Page 12
TAFJ-S e t u p
/tafj/jars/ The default directory containing jar files produced during compilation when generate jar
option is made true in properties file.
Page 13
TAFJ-S e t u p
Once the setup of TAFJ is completed and if you have eclipse v.3.7.x or above installed, you
can simply link the contents of the directory <TAFJ_HOME>/eclipse/plugins in your
directory <ECLIPSE_HOME>/dropins.
3. Set the path with the relative path from <ECLIPSE_HOME> to <TAFJ_HOME>
i.e
+---3rdParty
| +---eclipse
+---TAFJ
path=../../TAFJ
Depending on the TAFJ version you are using you could generate this tafj.link
automatically when running TAFJ Setup and providing your ECLIPSE_HOME path.
When using am automated setup (no prompt), tafj.link will be generated under
TAFJ_HOME/conf.
Once done, in order to verify that all TAFJ Plug-ins are loaded with eclipse, you can go in the
Eclipse menu:
Help -> About Eclipse SDK, press on “Installation Details”, and Tab: “Plug-ins”
Page 14
TAFJ-S e t u p
Se t u p proje c t .
A project is a specific setting of properties. All properties of a project are in file properties in
<TAFJ_HOME>\conf. the name of the project is given by the name of the properties file.
i.e
T24.properties
MYPROJECT.properties
All scripts in <TAFJ_HOME>\bin need a project (properties) to work. To specify the project
to use with a script, pass the argument: -cf ProjectName
i.e
tRun –cf T24.properties EX
You can omit the -cf argument to use the default project. The default project is specified in
the file <TAFJ_HOME>\conf\.default. After a setup of TAFJ the default project in
tafj.properties.
By conventions, the java and class path for TAFJ of a project have to be set under:
Page 15
TAFJ-S e t u p
i.e
for myProject.properties :
# Specify where the java files will be generated
# by the compiler
#
temn.tafj.directory.java = <tafj.home>\data/myProject/java
Page 16
TAFJ-S e t u p
Start script
-cf ? .default ?
yes yes
Read
.default
Exist
?
yes
Exist
?
yes
Use .default
Use -cf Error
Page 17
TAFJ-S e t u p
Log g i n g
See TAFJ-Logging.pdf.
Prop e r t i e s
File co nf i g u r a t i o n
TAFJ doesn’t use environment variables but properties for its internal configuration.
Properties can be either stored in a properties file or at database level for application
server deployments.
e.g.
- production-system.properties
- l3-dev.properties
To make use of a specific properties file in an application server environment, set the
following system property at JVM startup.
-Dtafj.properties=production-system
Or
-Dtafj.properties=production-system.properties
Dat a b a s e co n f i g u r a t i o n
When using the database to store properties, the main T24 data source is used and must be
available for the configuration service to work.
Then this table is used to store configurations, a configuration being identified by a unique
configuration id.
Page 18
TAFJ-S e t u p
e.g.
- production-system
- l3-dev
-Dtafj.configuration=production-system
- LAST_MODIFIED: the timestamp when the properties has been lastly modified
- USER_NAME: the user name responsible for the modification (default values are
created by user ‘system’).
Prop e r t i e s
Be it file or database configuration, each parameter is stored as a pair of strings, one storing
the name of the parameter (called the key), and the other storing the value.
All Properties can be overloaded with -D<key>=<value> set to the JVM (Java Virtual
Machine).
A string as a value
i.e.
tafj.home = \Temenos\T24Enterprise\TAFJ
Page 19
TAFJ-S e t u p
A string including keys between ‘<’ ’>’, the substitution will be done at runtime with
the corresponding key value.
i.e.
tafj.home = \Temenos\T24Enterprise\TAFJ
temn.tafj.runtime.directory.current = <tafj.home> /UD
A String with an Environment variable ‘<’ ’>’, the substitution will be done at runtime
with the corresponding environment variable value.
tafj.home = <%TAFJ_HOME%>
temn.tafj.runtime.directory.current = <$TAFJ_HOME>/ UD
In case of properties file storage, properties needs to be edited manually with a text editor.
In case of database storage, an administration console and a REST API are available to
change properties.
This is important to note that the application must be restarted when changing a
property value.
Page 20
TAFJ-S e t u p
It allows changing the system behavior, simply by passing as parameters the proper set of
configurations without having to edit them.
-Dtafj.properties=oracle-locking,base
-Dtafj.configuration= oracle-locking,base
It means “oracle-locking” could only define one property for the lock manager which will
override the one defined in “base”. “base” containing the full set of properties.
The table below resumes the priority between properties based on their definition level.
-Dtafj.properties=configuration1,configuration2
-Dtafj.configuration=configuration1,configuration2
temn.key1=conf2 conf2
Page 21
TAFJ-S e t u p
Print e r
On Windows, JPS use the Printer Manager. You can connect any printers installed on
Windows. The Printer has to be online.
On UNIX/LINUX, JPS use CUPS (Common Unix Printing System). CUPS is not install by
default. You have to install it. Please refer to your OS documentation for the installation.
In the properties file, category printer, the setup of TAFJ automatically adds your printers
online with default driver name PRN #. You can affect the channel to any drivers’ name.
# ** ** ** ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * **
#
# Pr in te r
#
# ** ** ** ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * **
#
# Pr in te r li st
# Th is li st h as be en g en er at ed du ri ng th e s et up . Yo u ca n m od if y it at an y mo me nt t o
r ef le ct an y
# ch an ge t o t he pr in te r l is t.
# If th e C ha nn el 1 is mi ss in g ( or re me d- ou t) , it wi ll b e d ef au lt ed to th e de fa ul t
p ri nt er (i f a ny )
# of yo ur op er at in g sy st em .
#
# Sp ec if y w he re i s t he &H OL D& di re ct or y w he n SE TP TR i s u se d wi th th e HO LD op ti on
t em n. ta fj . pr i nt e r. d ir e ct o ry . ho l d = <t em n. ta fj . ru n ti m e. d ir e ct o ry . cu r re n t> / &H O LD &
t em n. ta fj . ch a nn e l. n am e .0 = PR N0
t em n. ta fj . dr i ve r .n a me . 0 = PR N0
t em n. ta fj . dr i ve r .d e vi c e. 0 = HP Of fi ce je t P ro 86 00 ( Ne tw or k)
t em n. ta fj . dr i ve r .c l as s .0 = co m. te me no s .t a fj . jl p .d r iv e rs . jP r in t er D ri v er
Page 22
TAFJ-S e t u p
To Check to installation of tafj, you can execute the command “tDiag”. The command will
show you the where is set TAFJ_HOME, the version of the JVM, the version of TAFJ, the
default project and all details of all projects set in <TAFJ_HOME>\conf
Page 23
TAFJ-S e t u p
_ __ __ __ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __
H om e : ' D: \T em en o s\ T 24 E nt e rp r is e \T A FJ '
C on f di re ct or y : ' D: \T em en o s\ T 24 E nt e rp r is e \T A FJ / co n f'
L og di re ct or y : ' D: \T em en o s\ T 24 E nt e rp r is e \T A FJ / lo g '
V er si on : D EV _2 01 40 4
_ __ __ __ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __
j av a. ho me : D :\ Te me no s \T 2 4E n te r pr i se \ 3r d Pa r ty \ ja v a\ j dk 1 .7 . 0_ 5 1- 6 4\ jr e
j av a. ve nd o r : O ra cl e Co rp or at i on
j av a. ve rs i on : 1 .7 .0 _5 1
o s. ar ch : a md 64
o s. na me : W in do ws 7
H os tN am e : w ks ho me 01
I P A dd re ss : 1 0. 24 4. 1. 1 37
R un ti me : D ou bl e By te S ys Se pa ra t or
_ __ __ __ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __
D ef au lt Pr oj ec t : ' ta fj '
- Pr oj ec t : ' ta fj '
Ba si c so ur ce : D: \T em en o s\ T 24 E nt e rp r is e \T A FJ \ sa m pl e s\ b as i c
Ja va s rc di r : D :\ Te me no s\ T 24 E nt e rp r is e \T A FJ \ da t a\ t af j \j a va
Ja va cl as se s d ir : D: \T em en o s\ T 24 E nt e rp r is e \T A FJ \ da t a\ t af j \c l as s es
Up da te d ir : D: \T em en o s\ T 24 E nt e rp r is e \T A FJ / up d at e s
-- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- -
Ja va de fa ul t p ac ka ge : co m. te me n os . t2 4
-- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- -
Da ta Ba se UR L :
Da ta Ba se us er :
-- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- -
Lo ck in g mo de : JD BC
Lo ck in g na me :
-- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- -
Cu rr en t di r : D: \T em en o s\ T 24 E nt e rp r is e \T A FJ / UD
Co mo d ir : D :\ Te me no s\ T 24 E nt e rp r is e \T A FJ / UD / &C O MO &
Ho ld d ir : D :\ Te me no s\ T 24 E nt e rp r is e \T A FJ / UD / &H O LD &
UD en co di ng : UT F- 8
-- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- -
Ti me zo ne : Eu ro pe /L o nd o n
Lo ca l : en _U S
De bu g en ab le d : tr ue
-- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- -
JM S l og ge r en ab le d : fa ls e
Lo gg er A PI en ab le d : tr ue
TE C d is ab le d : fa ls e
-- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- - -- -
Se ss io n mo ni to r e na bl ed : fa ls e
Se ss io n mo ni to r h os t : lo ca lh os t
Se ss io n mo ni to r p or t : 83 77
EarFil e b u i l d e r
Page 24
TAFJ-S e t u p
Under TAFJ_HOME/bin the utility tEARFilebuilder.sh/bat will help generating the necessary
EAR file for TAFJ and T24 libraries related, including all necessary deployment files specific
to weblogic container.
tEarFilebuilder.sh/bat -h
-source : The list of folder you want to parse (os path separator between folders)
-dest : The path where you want the ear file to be generated
-include <opt> : when specified with , seperated jar names will only be included part of
ear file from mentioned source directories. i.e TAFJCore.jar,TAFJBasic.jar
Example:
Page 25
TAFJ-S e t u p
clean up ... [ OK ]
Note : please make a note in the above example the specification version is passed while
generating EAR file name along with dependency name,specification version.
While generating TAFJ_LIB ear file, one need to make sure to pass all necessary folders
where the dependency jars are present i.e TAFJ/lib (TAFJCore,TAFJCommon etc…)
,TAFJ/ext (TAFJBasic,tComponentFramework etc…),TAFJ/rulesengine (rulesEngine).
While generating T24_LIB, one need to need to pass the dependency information about
TAFJ_LIB name with appropriate specification/implementation version.
i.e
Com m i t Capt ur e
Page 26
TAFJ-S e t u p
Prop e r t y Set u p
In your TAFJ properties file, set the below property to enable commit capture
temn.tafj.runtime.use.df.cache = true
Set the below property to write the event to disk whenever the event size exceeds 32K.
temn.tafj.runtime.df.cache.huge.event=true
Confi g u r a t i o n
Execute the below command from a JBC program to turn ON/OFF the feature for a file.
Internally, the option is set in TAFJ_VOC, hence it will not be reset still it is changed again.
FilterMode should set to either “U” or “Y” or by default it is NULL. Where NULL
indicates the feature is turned OFF.
In U Mode, the write events are captured whereas in Y Mode, both the WRITE and DELETE
events are captured.
Eve n t s tabl e
The captured events in F.DATA.EVENTS is constructed with the following fields,
Page 27
TAFJ-S e t u p
Field7 - Sub-valued list of data related to the key or {DELETE} if record deleted.
X<PortNo>_<UUID>_<sequence number>
Where:
X - Is an indicator as either ‘U’ for unencrypted or ‘E’ for encrypted filter records
Outb o x Even t s
Based on T24-Transact raising business events on demand using SYSTEM (5005), the
events are collected part of transaction boundary and are emitted to outbox MS library to
Page 28
TAFJ-S e t u p
process it (update some relational tables) and receive back event Id’s which are pushed to a
configured queue.
Prop e r t y Set u p
In your TAFJ properties file, set the below property to enable outbox Events
temn.tafj.runtime.outbox.events = true
Set the below property to specify the queue name to which the events has to be delivered
part of transaction.
temn.tafj.runtime.outbox.queue.name=queue/TAFJ-outboxIdQueue
Set the below property to specify the connectionFactory to be used for interacting with the
queue name specified above. If the property is left empty, the default connection Factory is
used to resolve the queue.
temn.tafj.runtime.outbox.connection.factory=
Page 29