[go: up one dir, main page]

0% found this document useful (0 votes)
210 views36 pages

T3TAFJ1 Install R16

TAFJ (Temenos Application Framework Java) allows compiling and running T24 programs written in jBC on the Java platform. It provides several benefits over TAFC such as platform independence, ability to leverage Java technologies, use of open source software, and improved resource management through Java multithreading. TAFJ compiles jBC code to Java bytecode that can run on any JVM, making T24 programs executable across operating systems. It also facilitates integration with other systems through standard Java interfaces and technologies.

Uploaded by

suchi vedha
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
0% found this document useful (0 votes)
210 views36 pages

T3TAFJ1 Install R16

TAFJ (Temenos Application Framework Java) allows compiling and running T24 programs written in jBC on the Java platform. It provides several benefits over TAFC such as platform independence, ability to leverage Java technologies, use of open source software, and improved resource management through Java multithreading. TAFJ compiles jBC code to Java bytecode that can run on any JVM, making T24 programs executable across operating systems. It also facilitates integration with other systems through standard Java interfaces and technologies.

Uploaded by

suchi vedha
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/ 36

TAFJ Install R16 1

TAFJ Install R16 2


TAFJ Install R16 3
One of the highlights of the T24 design architecture is its run-time technology
independence. T24 is available on two platforms C and Java
TAFC – Temenos application framework C
TAFJ – Temenos application framework Java

Interaction Framework – Framework to facilitate the communication between any user


agent (viz.,Temenos Connect Internet Banking, Temenos Connect Mobile, Browser
Replacement, an app developed by the bank in the future) and many sources at the
back end (viz., T24, TAP, Solr database which is a superfast query database, WM or
any product or data source that Temenos acquires/adds in the future)
Component Framework – Framework to componentize T24 into independent
implementable components.
Integration Framework – Framework for T24 components to seamlessly integrate and
communicate with non-T24 banking systems for eg TAP and WM communicate with
T24 through IF.
Platform Framework – Framework to push platform functionalities like caching, locking
etc out of T24.
Data Framework – Framework to separate transactional and enquiry data. Currently a
query request and a transaction request is processed in a single database. With the
data framework in place, enquiry requests will hit the RO (read only) database instead
of the RW (read write) database thereby improving database response performance.
Design Framework – Framework to separate the design time and the runtime.
Versions, Enquiries, Local references, Composite screens, menus etc are design time
artifacts and the design framework facilitates separating the creation of these artifacts
and storage from the runtime. These artifacts are called as Models in the design
framework

TAFJ Install R16 4


• TAFJ (Temenos Application Framework Java) is our proprietary runtime and
compiler for jBC code, written in 100% java. It allows compiling and running jBC
programs on Java. jBC code is parsed by the TAFJ parser and compiled by javac
compiler and translated into equivalent Java classes. The java compliant files
generated can then be run in a JVM taking the full advantage of Java functionality
like portability, platform independence etc. This also enables T24 to harness the
full functionality of J2EE application servers like connection pooling, threading,
security etc.
• TAFJ manages the connectivity on JDBC compliant databases like Oracle,
Microsoft SQL Server, DB2, DB2 – zOS, and for development purposes on H2.
• T24 on TAFJ R15 runs on JDK 1.6 and above

TAFJ Install R16 5


The TAFJ T24 architecture can be understood from this diagram
• Any T24 source code(*.b) can be compiled into java classes(*.class) on TAFJ. The
entire T24 source code is compiled and packaged into jar files and deployed on a
J2EE server. When a request comes to T24, the required .class files are executed
on the TAFJ runtime. TAFJ uses JDBC drivers to connect to JDBC compliant
databases like H2, Oracle, SQL server, DB2, DB2-zOS.
• TAFJ runtime comes with several useful and easy to use tools to manage the
runtime and database. For e.g., to import data from a jBase database into oracle
database there is a tool called DBImport.
• All the runtime configurations (for eg, the URL of the database to connect to,
compiler settings, the location of the runtime user directory etc. ) are specified and
managed using property files. These are simple text files and can be changed
easily. To connect to a different database, all that we need to do is change the
database property values in the property file and the TAFJ project will behave
accordingly.
• TAFJ uses log4J loggers and maintains extensive logs.
• Unlike TAFC, TAFJ makes use of the OS print manager and the JVM print
mechanism and hence it is easy to configure printers. TAFJ does not have a
spooler of its own like the TAFC spooler.
• TAFJ provides a lock manager (like the jdls in TAFC) for database lock
management.
• TAFJ also has the capability of redirecting all in and out streams to a remote client
console.

TAFJ Install R16 6


The TAFJ workflow is as follows :

The developer writes code for T24 using jBC programming language(alternatively
referred as Basic in this course collaterals) on Design Studio. This is enabled by the
eclipse TAFJ plugin. The TAFJ lexer-parser-tree walker translates standard jBC code
into equivalent Java code and generates the source code file(.java), which is then
compiled into a java compliant bytecode(.class) using the standard javac compiler.
The .java files are deleted after compilation. The bytecode can be run on any JVM thus
making T24 platform independent.

[Note: To execute T24 on TAFJ, we need only the jre. However if you need the
compiler, then you must have JDK in your machine. JDK = JRE + Compiler. ]

TAFJ Install R16 7


If we compile T24 on TAFC on a windows platform then we can execute it only on
Windows. (even on Z/OS) However Java programs are popularly known as write once
and execute anywhere. That makes T24 on TAFJ as completely platform independent.
A platform is the hardware and software environment in which the program runs. Any
program that needs to be executed on a platform must be converted into machine
instructions understandable by that platform. When developers write T24 programs on
TAFJ and compile it, the code is not directly converted into machine instructions but it
is compiled into ByteCode. Bytecode is not machine instructions that any platform like
Windows, Unix will understand it directly. This Bytecode is understood by Java made
Virtual machines. Java Virtual Machines (JVM) interprets the Bytecode into machine
specific instructions so that platform can understand it. Java Virtual Machine (JVM)
plays a key role in making the Bytecode understandable to any underlying platform
thus makes the Bytecode platform independent. Thus a T24 compiled on Oracle JDK
on Windows will seamlessly run on an IBM JVM on Unix
Thus,
• Java is a platform independent.
• Java programs are compiled into Bytecode which are platform independent.
• Bytecode are executed on Java Virtual Machines (JVM).
• Java Virtual Machine (JVM) is platform dependent.
• JVM needs to be pre-installed on the machine for executing java program.
• There are different version of JVM available in the market to support variety of
platform.

TAFJ Install R16 8


TAFJ uses only free and open source software's for all 3rd party requirements, like H2,
jBoss, JDK, eclipse etc. The competitive advantage that an OSS gives by allowing
customization of code to suit our company’s needs is a significant reason for using
them in addition to the low cost of ownership. A T24 on TAFC requires renewal of T24
as well as MSVC licenses, whereas Java is free. Support for other contemporary
market technologies is easier with TAFJ rather than TAFC. For example lets presume
a client wants to use MySQL, another open source database instead of the officially
supported ones. On a TAFC runtime, we have Direct connect drivers (DCD) for
Oracle, SQL Server and DB2. Extensive programming effort is required to newly
create a DCD for MySQL. Whereas on TAFJ, since we use JDBC drivers, its only a
matter of very few lines of code to write for performance improvement.

TAFJ Install R16 9


COB and services execute in a multiprocessing fashion on a T24 Application Server
i.e., each agent executes as a distinct process. If for some reason, the Agents
Required is set to 50 or 100 by mistake, 100 processes will start and this will cause
T24 application to crash. This will in turn crash the Application server(AS).
TAFJ uses the full functionality of J2EE, since the T24 application runs inside the JVM.
To execute COB on an AS, it uses java multithreading where each tSA executes as a
distinct thread instead of as a process. The resource overhead is definitely far less in a
multithreading environment as against a multiprocessing environment. Though the no
of agents required is 50 in the e.g., shown, since the maximum thread that can be
started in the AS is set to 20, the AS will not initiate more than 20 threads. Thus
resource management is done by the AS. Even if the T24 on TAFJ crashes for
unlikely reasons, the application server will not crash as T24 is running inside a JVM.

TAFJ Install R16 10


Clustering Application server is a very common implementation for performance. T24
on TAFJ is deployed inside an Application server like jBoss, Websphere or Weblogic.
Hence when the application server is clustered, T24 application is also automatically
clustered and benefits from it. However in the case of TAFC, since T24 is outside an
AS, Application server clustering does not entail T24 clustering.

TAFJ Install R16 11


TAFJ is a proprietary runtime and is written for the specific need for T24 on a market
standard runtime like java. Unlike TAFC which was an adaptation from jBASE. TAFJ
translator written for jBC vocabulary, directly translates jBC code to its java equivalent.
This is then compiled into bytecode. Hence the compilation is faster. TAFJ execution
is also faster. For one, byte code execution is equivalent to C object code execution.
Also since there is no VOC as such in TAFJ, a database read and write is faster on
TAFJ than TAFC.

TAFJ Install R16 12


TAFJ Install R16 13
What’s in it for a developer ?

 Development on a market standard IDE

 Excellent debugger for efficient and faster bug fixing

 Help is just a click away …. Google your queries. For e.g. if you want
to configure a Printer on Linux, simply Google CUPS. This is so because all
software's used are contemporary market standards.

TAFJ Install R16 14


You will learn how to install TAFJ
a. A setup from scratch

TAFJ Install R16 15


Now that the base TAFJ area is ready you need to perform a upgrade . On TAFJ the
upgrade is a two step process.
1. Upgrade the TAFJ runtime libraries
2. Upgrade the T24 Data and libraries

This will be discussed in detail in a later session

TAFJ Install R16 16


Let us understand TAFJ_HOME in detail. This folder contains the TAFJ Runtime files
1.Appserver - Application server configuration files are kept here. These files are necessary for
deploying T24 on AS like jboss, Websphere, Weblogic, etc.
2.Bin - executable scripts (tRun, tCompile, ...).
3.CodeCoverage – contains cobertura jars for calculating and reporting test coverage - used in
regression tests
4.Conf - configuration directory where the project property files are maintained.
5.Data - Contains 2 folders - classes and java. Classes folder holds .class files generated and java
folder holds .java files generated, on compiling a jBC code.
6.Dbdrivers - drivers of the supported databases in TAFJ are stored here
7.Dbscripts – when you install a new database instance of say H2 or oracle, you need to run some
stored functions on the database to ready the new database for storing T24 data. These are
available as scripts in this folder, database wise.
8.Eclipse – contains the tafj eclipse plugins which enable jBC coding in Design Studio.
9.Ext - folder to keep external jars like jboss-client.jar for jboss, database drivers.
10.JMSInjector – Contains a standalone application to inject OFS into queues - for benchmark
11.Lib - TAFJ runtime libraries. 12.Regression – contains scripts to perform regression testing.
13.Doc – TAFJ user guides. 14.Log and log_T24 – end to end runtime logs and T24 logs for
splunk respectively
15. Samples – sample basic codes 16.TAFJSessionMonitor – contains TAFJ MW42 monitor.
17. RELEASE – contains code fix info 18.Pom.xml – required for running maven builds

TAFJ Install R16 17


<TAFJ_HOME>/data/

/<Project Dir>/ - > The default project directory name. When you create a project in
Design Studio, the eclipse builder creates this directory automatically with the project
name. For eg DEV

/<Project Dir>/classes/ - >The final output of a compiled BASIC code goes here i.e.,
*.class eg <TAFJ_HOME>\data\DEV\classes

/<Project Dir>/java/ - >The temporary out of a compiled BASIC code goes here i.e.,
*.java. Eg <TAFJ_HOME>\data\DEV\java

TAFJ Install R16 18


TAFJ setup is based on a properties file. These files have a .properties file
extension. The property files contain properties for configuring the behaviour of TAFJ
projects and is available under <tafj_home>\conf directory. Each property is stored as
(key=value) pair of strings, one storing the name of the property (called the key), and
the other storing the value. For eg temn.tafj.jdbc.driver = org.h2.Driver. All
key=value pairs are loaded as Java System Properties.
The following files are available by default in the conf directory: .default, .properties,
tafj.properties, TAFJ.Trace.properties and TAFJ.policy.
1. The tafj.properties file is the default TAFJ configuration file. By default TAFJ
refers to this file for information on compiler, database, runtime etc. setting. It provides
vast information for the development and runtime environment on TAFJ.
2. You may create multiple projects in Design Studio like DEV, R12, R14 etc. For each
project, a property file is created in conf with the same name. But only one project is
maintained as the default project. The property file name of the default project is
maintained in the file .default. In the TAFJ area shown in the snapshot,
DEV.properties is the default configuration file (instead of tafj.properties). This file has
only one entry. This file is useful when you execute tafj commands which expects a
property file name as a parameter, but has not been supplied. Tafj uses the default
property file in such cases.

TAFJ Install R16 19


3. The default property file template is called “.properties”. All property files in conf are
copies of this template.
4. TAFJ.policy is a java policy file which define security permissions for the code to run.
5. The configuration settings of the TAFJ logger(log4jlogger) is in the file
TAFJTrace.properties. TAFJ uses the standard LOG4J open source. TAFJ logs
information on compilation, runtime, database, execution etc. To change the log
levels(FATAL,ERROR, WARN,INFO, DEBUG) use this file. All log files go to
<TAFJ_HOME>\log
You can maintain multiple T24 releases in one single setup of TAFJ. This is done using
property files. In the snapshot shown, there are three projects-DEV, R12 and R14, since
there are three property files by that name. Whenever a new project is created in Design
Studio, the Eclipse Builder TAFJ plug-in generates new configuration files using the
project name. The DEV.properties file can point to the Dev T24 area(say R15) on a H2
database whereas R14.properties file can point to an R14 T24 area on an Oracle
database. This means that when code is executed within the project called R14, the
R14.properties file is read and the code is executed using the precompiled T24 jars of
R14 and works with the Oracle database.

TAFJ Install R16 20


TAFJ Install R16 21
A TAFJ standalone is T24 outside an application server. It has the TAFJ runtime and
the precompiled jars of a T24 release like R12 along with a backend database. T24
classic can be executed in a standalone.

TAFJ Install R16 22


Use java –version at the command prompt to check the java version installed. It
should be 1.6 or above. If the version reported is not 1.6 (or above), install it. Java JDK
can be downloaded here:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Set-up an environment variable called JAVA_HOME pointing to the root directory of
the java installation. Then, reference JAVA_HOME/bin in the PATH environment
variable.

TAFJ Install R16 23


Take the latest TAFJ runtime version TAFJ*.zip file (e.g. TAFJ.R15.AMR.0.tar.gz ).
Unzip the file into a folder.

Three set of files get extracted – a Patch.xxx, a Setup.xxx and a jar file. To do a fresh
TAFJ installation from scratch run the Setup. This will create a folder (name it as TAFJ
for convenience) with all the runtime related files. This folder becomes TAFJ_HOME.

For upgrading an existing TAFJ runtime, we make use of “Patch_TAFJ.<version>.bat”


on windows and “Patch_TAFJ.<version>.sh” for Unix.

TAFJ Install R16 24


1. Set your JAVA_HOME to the location of your JDK
2. Run the Setup.xxx.bat file. Specify a location for your TAFJ_HOME. This creates
a folder called TAFJ by default. This folder contains all the runtime files and is
referred to as <TAFJ_HOME>
3. Copy the appropriate H2 database drivers from
<TAFJ_HOME>\dbdrivers\<database> to <TAFJ_HOME>\ext.
[Note: The H2 database version can be identified from the h2<Version>.jar in
<h2_home>\bin. For e.g. - h2-1.3.161.jar]

TAFJ Install R16 25


3. Edit your default property file in your new <TAFJ_HOME>\conf. You can identify
the default property file from the .default file. It should be tafj.properties.
4. Note that the property tafj.home is already set to your new <TAFJ_HOME> based
on the directory that you specified when running Setup.
5. Set the precompile path in the property temn.tafj.directory.precompile to the location
of your T24 core libraries.
6. Set your database URL, driver, username and password properties to point to the
H2 database
[Note : The URL description and the specific driver information for each database is
mentioned under the Database Setup section. For H2 it is jdbc:h2.tcp://<host or
IP>:<port No>/<db_name>. The default H2 port is 9082. Since we are starting H2 at
port 9007, the same is mentioned. The database name is data. For the H2 database
that we are using the username is t24 and password is t24]

TAFJ Install R16 26


7. Start your H2 database at port 9007. The sql> prompt suggests that the database
has started.

TAFJ Install R16 27


8. Navigate to <TAFJ_HOME>\bin from your windows command prompt and execute
tDiag.

Note that the default project is set as tafj. This is because, the .default file has the
entry tafj.properties. This entry can be overridden and any other project can be made
as the default.

TAFJ Install R16 28


9. Setup TAFJ Plug-ins in Design Studio
Once the setup of TAFJ is completed and if you have EDS installed, create a folder
called dropins in <DesignStudio-Home>. The TAFJ plugins are available in the
<TAFJ_HOME>/eclipse/plugins folder. You can simply link the contents of this
directory to the directory <DesignStudo-Home>/dropins. The TAFJ plugins are
necessary for using EDS as the IDE for T24 development.
1. a.Create a file <name>.link for e.g., tafj.link in <DS-Home>/dropins.
b.Edit the file tafj.link and add a property key called path=relative path from <DS-
Home> to <TAFJ_HOME>
i.e.
For the directory structure:
+---IDE
| +---DesignStudio <DS-Home>
| | +---dropins
+---TAFJ

path=../../TAFJ

TAFJ Install R16 29


Launch EDS by clicking on EDST24.exe in the DesignStudio folder
2. Verify that all TAFJ Plug-ins are loaded with EDS.
Help -> About Design Studio for T24 ->Installation Details ->Tab: “Plug-ins”. You must
find the tafj plugins shown in the snapshot.

Plugin Versioning follows this pattern.


<Release Version>.<Service Pack>.<MonthlyBuild-1>
For eg Version 14.3.0 is R14.SP3 and 15.0.2 is the current dev, march build.
Remember it is Monthlybuild - 1

3. You should also be able to load the TAFJ Perspective.

TAFJ Install R16 30


TAFJ Install R16 31
When you execute a tafj command, a check is made to see if you have used the –cf option with
the command. If the configuration file exists, then the properties settings of the configuration file
specified are used for execution else an error is displayed. If –cf option is not used, then a check
is made to see if the .default file exists. If yes, read .default entry. If the configuration file
specified in .default exists then use that file, else use tafj.properties which is the default. If
tafj.properties is not available, then display error.

TAFJ Install R16 32


The file .default in the <TAFJ_HOME>/conf directory can be used to set a default
configuration. By default the value in the text file: .default is set to tafj.properties.
The default property file template is called “.properties”. To manually create your
property file, copy .properties into a file called T24_Dev.properties as shown. Then
edit T24_Dev.properties.
1. Set your T24 core libraries path and the database properties as you did in the
previous session.
2. Specify a path where you would store your basic routines in the property
temn.tafj.directory.basic. You can specify multiple directories separated by a :
or ;
3. By convention, the java and class path for TAFJ of a project have to be set under:
<TAFJ_HOME>\data\<ProjectName>\java and classes. The related properties
are temn.tafj.directory.java and temn.tafj.directory.classes. For e.g.,
<tafj.home>\data\T24_Dev\java
4. Edit your .default to now refer to T24_Dev.properties.
[Note: In your TAFJ development area, the .default is set to DEV.properties instead of
tafj.properties because the DEV project in Design Studio has been made the default
project]

TAFJ Install R16 33


tafj.home - points to the TAFJ folder in your tafj area which contains the runtime
libraries and other related files.
temn.tafj.directory.basic, folder location to all your basic source files. You can
specify multiple paths with the separators “:” or “;”.
temn.tafj.directory.insert, folder location where the INSERT files for your project is
kept. The Insert file can be in the basic source folder itself or in a different path.
temn.tafj.directory.java, folder location where the java source files should be
generated. This property is mandatory and you can set only one path.
temn.tafj.directory.classes, folder location where the classes files should be
generated. This property is mandatory and you can set only one path.
temn.tafj.directory.precompile, refers to the folder location where the precompiled
class files are kept. Usually contains the precompiled t24 class files required by your
t24 basic code. Multiple paths can be specified using the separators. The precompile
paths are overridden by ”temn.tafj.directory.classes” paths. For e.g. you have a
class TEST.SUB in the precompile path. You compile a TEST.PRG which inturn calls
TEST.SUB. In this case the TEST.SUB in the precompiled path will be called. Now if
you generate a new TEST.SUB in classes path, then TEST.PRG will not call the
TEST.SUB in the precompile path. Instead it calls the one in the classes path. This
path could be a folder or JAR file.
[Note : The preferred location for T24 precompiled is <t24_home>/lib in your Dev area]

TAFJ Install R16 34


From a vt100 console execute the command tRun EX to launch T24 Classic.

[Note: Execute tRun from <tafj_home>\bin]

TAFJ Install R16 35


TAFJ Install R16 36

You might also like