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-R8.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-R8.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-R8.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-R8.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-R8.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-R8.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-R8.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-R8.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-R8.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-R8.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-R8.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-R8.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-R8.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-R8.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-R8.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 onName-2008-H1-01


Module Code-Module an External Database-R8.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-R8.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-R8.01 18


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

GEN7-Data Storage on an External Database-R8.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-R8.01 20


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

GEN7-Data Storage on an External Database-R8.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-R8.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-R8.01 23


1. False

2. False

3. False

4. True

5. True

GEN7-Data Storage on an External Database-R8.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-R8.01 25


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

You might also like