You are on page 1of 26

Welcome to this learning unit.

In this learning unit you will learn how T24 data is stored
when the database used is not jBASE. You will also learn how the architecture
changes to accommodate the use of Direct Connect Drivers.

GEN7-Data Storage on an External Database-R10.01 1


After completing this learning unit, you will be able to:

1 Describe the way a Direct Connect Driver works and differentiate between the way
data is stored in T24 when jBASE or an external database is used.

2 Explain the use of the Direct Connect Driver and the changes it brings to the T24
architecture.

3 Understand what stub files are and how you can also do away with them if required

GEN7-Data Storage on an External Database-R10.01 2


1 The first part of this learning unit will introduce you to the T24 architecture that must be used
if a database other than jBASE is used. It is important to understand why we need a Direct
Connect Driver and where exactly it fits into the architecture.

2 The other important concept that you will learn is the format in which the data is stored in the
external database and why T24 uses that format.

GEN7-Data Storage on an External Database-R10.01 3


1. T24 uses jBASE, a Temenos proprietary database to store its data. Till a few years ago,
there was no choice to use any other database.

2. jBASE is more than a database to T24. It also acts as a run time environment. Code is
written in jBASE BASIC and compiled here as well.

3. T24’s data can be found in the bnk.data directory that is part of it’s directory structure. Data
is stored in J4 or JR files, both jBASE file types. Accessing data from these files are done
using jBASE commands within the source code.

4. So can this same code read and write into any other database? No. Rewriting T24 to make it
compatible with another database is close to impossible.

5. jBASE is an open database, which allows us to communicate with other databases using
Direct Connect Drivers. These drivers convert jBASE requests into a format that the external
database can understand, and then converts the data fetched into a format that T24 can
understand. Why data storage format is different you will learn a little later in the course.

6. One very important fact that you must never forget is that T24 cannot exist without jBASE.
Even if it uses an external database, T24 still requires the jBASE runtime environment.

GEN7-Data Storage on an External Database-R10.01 4


1 Temenos does not have just one Direct Connect Driver

2 Currently jBASE has 3 Direct Connect Drivers that allow it to connect to 3 different
databases namely Oracle, SQL and DB2. Depending on the choice of database, the
corresponding Direct Connect Driver must be installed.

GEN7-Data Storage on an External Database-R10.01 5


The primary job of the Driver is to

1.1 Establish a connection to the external database

1.2 Transform jBASE BASIC and jBASE commands to SQL statements as understood
by the underlying database

1.3 Transform the result returned by the database into a format that T24 and the
jBASE run time understand

GEN7-Data Storage on an External Database-R10.01 6


1 2 The illustration is the architecture that is used when the Browser is the front end to
T24. The Application Server layer is where T24, jBASE and the Direct Connect Driver
must be installed.

GEN7-Data Storage on an External Database-R10.01 7


T24 behaves the same way irrespective of what database is being used. To T24, it’s
business logic still thinks the data is stored in jBASE files. Thus the T24 request
comes to jBASE, jBASE then redirects the request to the Direct Connect Driver which
in turn communicates with the external database and the response is sent back the
same way. You will now learn this flow with a sample T24 request.

GEN7-Data Storage on an External Database-R10.01 8


1 In order to create a new CUSTOMER, a record must be created and committed. The
user can use any T24 front end to do this.

2 T24 always validates data before it is updated in the database.

3 Once the validations are through, the record is ready to be stored, but where is the
file FBNK.CUSTOMER located?

4 The VOC entry is referred to find out these details. The VOC holds the path to the
data and dict portion of every application’s file.

GEN7-Data Storage on an External Database-R10.01 9


If you choose to use jBASE as a database, then you have two options in the multi tier
architecture. You can have a single application server or multiple application servers.
There is a difference in the implementation as you can see from the illustrations
above.

With a single application server, there is no need for a separate database server in the
T24 architecture. T24’s data will reside on the application server itself.

With multiple application servers, the only option you have is to NFS mount the
bnk.data directory and change the VOC entries accordingly.

GEN7-Data Storage on an External Database-R10.01 10


1 In the detailed T24 architecture diagram, you may have noticed multiple database
servers in the database layer. This is possible only when an external database is used
and if the database in turn supports clustering. This has nothing to do with T24.

2 To connect to any database other than jBASE, you will need to install the
corresponding Direct Connect Driver. This must be installed on each application
server.

GEN7-Data Storage on an External Database-R10.01 11


When you use an external database, do you still need the VOC? Yes you do. So what
will the VOC point to? The data and dict files obviously. But the data is in the external
database, so how do you access that? There are two different set-ups you can have
when using a Direct Connect Driver. A stubbed file and a stub-less file set-up

T24’s data is now stored in another database - Oracle in this case. The data file in
bnk.data that the VOC entry points to will contain a pointer to the actual table in Oracle
where the data is stored. The files in bnk.data are referred to as stubs.

The illustration above shows the set up when a single application server is used and
when multiple application servers are used.

GEN7-Data Storage on an External Database-R10.01 12


1 No data is stored in the data file under bnk.data.
2 It is important for you to understand what information is available in the pointer.

3 “JBC__SOB” and “XMLORACLEInit” strings tell the jBASE runtime that it needs to
locate a Shared OBject library containing the library initialisation function,
“XMLORACLEInit”.

So once the driver has information about the actual Oracle table name, it can access it
to retrieve or update the data as requested.

GEN7-Data Storage on an External Database-R10.01 13


1 Now that you know what a stub file is, you will now learn the second option when
installing the Direct Connect Driver. A stub-less architecture does not require an NFS
mounted bnk.data.

2 The VOC itself is now a table in Oracle. This is done during the driver installation
and data conversion process

3 The VOC is still present in jBASE as well, but instead of holding the path to the data
and dict files, it holds a pointer to the Oracle VOC table

4 The VOC in Oracle is the one that contains the actual pointer to the data stored in
Oracle tables

GEN7-Data Storage on an External Database-R10.01 14


Whether you implement a single application server or multiple application servers,
everything is now moved to Oracle except the VOC with the pointer information

GEN7-Data Storage on an External Database-R10.01 15


In a stubbed architecture, the VOC F pointers are used to reference the stub files
under the subdirectory of data directory.

In a Stub-less architecture, the stub information under the subdirectory of data


directory will no longer exists.

GEN7-Data Storage on
Module Code-Module an External Database-R10.01
Name-2008-H1-01 16
1 All T24 data tables in Oracle will have only two columns.
2 3 One to store the ID and the next to store the entire data record.
This is done because Oracle does not support the multi-value, sub-value concept that
T24 uses widely.

4 The naming conventions used for the table names in Oracle are similar to the ones
used in jBASE, the only difference being – dots are changes to underscore and $ are
changed to #.

GEN7-Data Storage on an External Database-R10.01 17


This is a sample of how data is stored in Oracle or any other external database for that
matter.

GEN7-Data Storage on an External Database-R10.01 18


Different XML tags are used to differentiate one column from another in the Oracle
table.

GEN7-Data Storage on an External Database-R10.01 19


Multi value fields are store with special XML tags that represent which multi value the
data belong to.

GEN7-Data Storage on an External Database-R10.01 20


Just like multi-values, sub-values too are stored with special XML tags.

GEN7-Data Storage on an External Database-R10.01 21


When a file with type XMLORACLE is created, 2 tables (One of the data and one for
the dict) are created at the database level and a file named STUBFILES is updated
with the names of the files.

GEN7-Data Storage on an External Database-R10.01 22


A file named Oradriver.log is available under the HOME (bnk.run) directory which
contains the log of all activities that happen at the driver level

In order for the driver to log details to the log file, the following variable must be set in
the .profile or the remote.cmd as the case may be

GEN7-Data Storage on an External Database-R10.01 23


1. False

2. False

3. False

4. True

5. True

GEN7-Data Storage on an External Database-R10.01 24


You will now be able to

Describe how and where a Direct Connect Driver fits into the T24 architecture.

Explain how jBASE can be used as a database in a single / multi application server set
up

Explain the difference between stub files and a stub-less set up

GEN7-Data Storage on an External Database-R10.01 25


GEN7-Data Storage on an External Database-R10.01 26

You might also like