Você está na página 1de 30

Vultar Systems

Vultar JDBC for T24


Documentation

29.05.2017
Contents
Overview .......................................................................................................................................................... 3
Installation ....................................................................................................................................................... 5
Vultar Application Server ............................................................................................................................. 6
Vultar Data Module (for TAFC / TAFJ Connector) ........................................................................................ 7
Database DIRECT Connector ...................................................................................................................... 10
Oracle DIRECT Connector....................................................................................................................... 10
DB2 DIRECT Connector .......................................................................................................................... 10
MSSQL DIRECT Connector ...................................................................................................................... 10
Vultar JDBC Client-Side Adapter ................................................................................................................ 11
Usage.............................................................................................................................................................. 13
Queries ....................................................................................................................................................... 13
Simple queries........................................................................................................................................ 13
Where clause ......................................................................................................................................... 14
Order by clause ...................................................................................................................................... 15
Multivalue support .................................................................................................................................... 16
No expansion ......................................................................................................................................... 16
Expanded values .................................................................................................................................... 17
Expand subvalues ................................................................................................................................... 18
Values & Subvalues number .................................................................................................................. 19
Type conversion ......................................................................................................................................... 20
Integer conversion ................................................................................................................................. 20
Float conversion ..................................................................................................................................... 21
Date conversion ..................................................................................................................................... 22
Character conversion/expansion ........................................................................................................... 23
Multivalued fields conversion ................................................................................................................ 24
Local fields.................................................................................................................................................. 25
Query local fields.................................................................................................................................... 26
Local fields expansion ............................................................................................................................ 27
Performance .................................................................................................................................................. 28
TAFC / TAFJ Connector ............................................................................................................................... 28

1|Page
Oracle connector........................................................................................................................................ 29
Free version vs Full version ............................................................................................................................ 29
Roadmap ........................................................................................................................................................ 29

2|Page
Overview

Java Database Connectivity (JDBC) is an application programming interface (API) for the programming
language Java, which defines how a client may access a database. It is part of the Java Standard Edition
platform, from Oracle Corporation.

This manual describes Vultar JDBC Driver for Temenos T24 systems ("driver") developed by VULTAR
SYSTEMS. The driver allows any application using JDBC connectivity to access T24 data. This is JDBC type 3
driver, also known as the Net-protocol/pure-Java Driver. Written completely in Java, type 3 drivers are
thus platform independent.

Vultar JDBC Driver for T24 is based upon 3-tier client-server architecture:

Tier 1: Vultar JDBC Client-side adapter

Tier 2: Vultar Application Server

Tier 3: Optional Vultar Data Module for T24 (when using TAFC/TAFJ connector)

3|Page
The driver supports two types of connectors between Vultar JDBC Application Server and T24:

TAFC / TAFJ Connector


This is a universal T24 data access. It uses TAFC (or TAFJ) Temenos Application Framework in order to
collect T24 data using Vultar Data Module for T24 and send it to Vultar Application Server. This connector
type is compatible with all database backends of T24 - JBASE, ORACLE, MSSQL or DB2. It is written in pure
jBC code and is open source.

Database DIRECT Connector


With this connector, Vultar Application Server is able to connect directly to T24 backend database and
query data with much higher speeds compared with TAFC Connector. It works only with MSSQL, ORACLE
and DB2 databases.

4|Page
Installation

Vultar Application Server and Vultar JDBC Client-side adapter may run in various configurations. The
following diagram shows an example of such configuration:

In above example, T24 server is running on a Windows machine. Vultar Application Server has been
installed and working on the same machine. Vultar JDBC Client-Side adapter is cross-platform; hence, T24
data may be served to some ETL software running on UNIX or Linux machine. At the same time, users
working on Windows desktops may query T24 data as well using Vultar JDBC Client-Side adapter. In case
T24 environment is running on Linux/Unix server, Vultar Application Server should be installed on a
dedicated Windows machine:

5|Page
Vultar Application Server

Vultar Application Server installation package contains the following files:

vtserver.exe Vultar Application Server - console application.

Vultar Application Server parameter file. Set required parameters before starting the
vtserver.ini
application server.

Set up here connectivity details to your T24 database. More details are provided in
aliases.json
the following chapters.

Minimal Windows Server hardware requirements:

- OS: Windows XP
- RAM: 1GB

1. Copy the files to Windows Server machine and update the parameters in vtserver.ini file as follows:
;Server's port number to listen the incoming requests
;from JDBC client applications
Port=888

;Server's log level


;0 - none, 1 - errors, 2 - info, 3 - debug, 5 - full
LogLevel=2

;Folder for log files


LogDir=.\logs

;Oracle's libraries location


OracleLibPath=.\Oracle12

2. Start vtserver.exe console application:

Background server is running.

Press [Enter] to close the server.

6|Page
Vultar Data Module (for TAFC / TAFJ Connector)

Minimal requirements: Java 7.

1. Check java version. Connector supports only Java version 7 and above. From command line type:
java -version

2. Copy the existing profile (usually .profile) located in bnk.run folder into a new file (for example
.profile_jdbc):
cp .profile .profile_jdbc

3. If exists, remove the automatic login to T24. That might be the call to loginproc in .profile_jdbc.
Usually thats the last line of the login script:
exec $JBCRELEASEDIR/bin/jpqn $JEDIFILENAME_MD/loginproc
In case you dont have the call to loginproc in your script but have the traditional question START
GLOBUS Y/N asked directly from .profile comment that section in login profile.

4. Uncomment (or add if missing) the jBASE shell launch in .profile_jdbc and save it:
exec $JBCRELEASEDIR/bin/jsh -s jsh

So .profile_jdbc files end shall look similar to this:

5. Make .profile_jdbc executable :


chmod a+x .profile_jdbc

6. Copy T24CLIENT jBC program into your T24 environment (ex. in bnk.run/JDBC folder), compile
and catalog it:
BASIC JDBC T24CLIENT
CATALOG JDBC T24CLIENT

7. Copy t24client.jar & t24client.properties files to T24 server (ex. bnk.run folder)

8. Start t24client.jar on T24 server:


java -jar t24client.jar

7|Page
Default listening port is 8125. In case the one would like to use another port, update it in
t24client.properties file.

8|Page
9. Define a new alias (or update the existing one) in aliases.json (from Server) and set the following
values:
a. Name any desired alias name (will be used in connection URL)
b. Type jbase, used for this type of connectors
c. Host IP address/hostname of the jbase server
d. Spu 1 (not relevant for TAFC/TAFJ connector at the moment)
e. Port port number specified in t24client.properties file (default 8125)
f. Home home folder of the environment (usually ends with bnk/bnk.run)
g. Profile profile script created earlier (ex .profile_jdbc)
h. Exec the jBASE program which will serve the requests (default is T24CLIENT)

9|Page
Database DIRECT Connector

Oracle DIRECT Connector


Oracle connector uses Oracles high performance OCI (Oracle Client Interface) library to extract data
directly from Oracle DB without involving of TAFC/TAFJ. Vultar Application Server uses a high-speed XML
record parsing engine in order to achieve maximum performance.

1. Define a new alias (or update the existing one) in aliases.json (from Server) and set the following
values:
a. Name any desired alias name (will be used in connection URL)
b. Type Ora, used for this type of connectors
c. Host IP address/hostname of the Oracle server/DB name
d. SPU SQL Processing Unit: number of threads that will serve one query. More SPU = higher speed
e. Schema DB schema
f. User user name
g. Password user password

2. Copy included VT.CONFIG program to T24 environment (ex. in bnk.run/JDBC folder). Compile and
catalog it:

BASIC JDBC VT.CONFIG


CATALOG JDBC VT.CONFIG

3. Run VT.CONFIG program. It will create VT_ODBC table in the database containing the dictionary of all
T24 tables together with other metadata needed for Database DIRECT Connector.

4. In case VT.CONFIG does not build VT_ODBC file properly rename the call to GET.TABLE.INFO.ORACLE
with the call to GET.TABLE.INFO.JSTAT, recompile and run again VT.CONFIG.

Note: If Vultar Application Server is installed on Windows XP operating system, version 10 of OCI shall be
used instead. Download it from http://vultar.md/files/Oci10.7z. Unpack and set the path to it in
OracleLibPath parameter in vtserver.ini config file.

DB2 DIRECT Connector


To be implemented in next version.

MSSQL DIRECT Connector


To be implemented in next version.

10 | P a g e
Vultar JDBC Client-Side Adapter

JDBC client setup will be explained based on free SQuirreL SQL Client (http://www.squirrelsql.org/)

1. Add the driver with Driver manager (Drivers -> Add -> Extra Class Path -> Select & open the
t24_jdbc.jar file).

2. Set drivers parameters as follows:


a. Name drivers name, ex. T24 jdbc driver
b. Example URL drivers URL template, ex. jdbc:t24://host:port;alias=<alias_name>
c. Class name drivers class name, com.vultar.jdbc.Driver.

11 | P a g e
3. Create an alias with the following parameters:

a. Name any desired name;


b. Driver driver name defined in previous step
c. URL connection URL in following format: jdbc:t24://<host>:<port>;alias=<alias_name>, where:
Host IP address/hostname of the server where Vultar Application Server is running;
Port port number set in vtserver.ini of the Vultar Application Server (default is 888);
Alias_name alias name to T24 environment (defined in aliases.json config file);

4. Click Test ->Connect button. Connection should succeed:

12 | P a g e
Usage

Queries

Simple queries
SELECT * FROM FBNK_ACCOUNT

13 | P a g e
Where clause
SELECT _ID, CUSTOMER, CATEGORY, CURRENCY FROM FBNK_ACCOUNT WHERE CURRENCY = 'EUR'

14 | P a g e
Order by clause
SELECT _ID, CUSTOMER, CATEGORY, CURRENCY FROM FBNK_ACCOUNT WHERE CURRENCY = 'EUR' ORDER
BY _ID

15 | P a g e
Multivalue support

No expansion
Multivalue fields are treated as string fields with char delimited values.

SELECT _ID, FINAL_DUE_DATE, PAYMENT_DTE_DUE, PAY_TYPE, PAY_AMT_ORIG FROM


FBNK_PD_PAYMENT_DUE

16 | P a g e
Expanded values
Expanding values using [EX] operand. Non multivalue fields are replicated. Subvalues are treated as string
fields with char delimited subvalues.

SELECT _ID, FINAL_DUE_DATE, PAYMENT_DTE_DUE[EX], PAY_TYPE[EX], PAY_AMT_ORIG[EX] FROM


FBNK_PD_PAYMENT_DUE

17 | P a g e
Expand subvalues
Expanded subvalues using [EX2] operand. Non subvalued fields are replicated.

SELECT _ID, FINAL_DUE_DATE, PAYMENT_DTE_DUE[EX], PAY_TYPE[EX2], PAY_AMT_ORIG[EX2] FROM


FBNK_PD_PAYMENT_DUE

18 | P a g e
Values & Subvalues number
Selecting values and subvalues numbers using [VN] and [SN] operands;

SELECT _ID, FINAL_DUE_DATE, PAYMENT_DTE_DUE[VN] as P_DTE_DUE_VN, PAYMENT_DTE_DUE[EX],


PAY_TYPE[VN] AS PAY_TYPE_VN, PAY_TYPE[SN] AS PAY_TYPE_SN, PAY_TYPE[EX2], PAY_AMT_ORIG[VN]
AS PAY_AMT_ORIG_VN, PAY_AMT_ORIG[SN] AS PAY_AMT_ORIG_SN, PAY_AMT_ORIG[EX2] FROM
FBNK_PD_PAYMENT_DUE

19 | P a g e
Type conversion
Driver supports some standard T24 field types like IN2CUS, IN2YM, IN2ACC, IN2CAT, IN2D, IN2AMT,
IN2DEC, IN2R. All other T24 field types are treated as VARCHAR type. In case a type conversion is needed
for other field types extra operands can be used.

Integer conversion
Integer conversion with [I] operand.

SELECT _ID, CATEGORY, CATEGORY[I] AS CATEG_INT FROM FBNK_ACCOUNT

20 | P a g e
Float conversion
Float conversion with [F] operand.

SELECT ACCR_CHG_AMOUNT, ACCR_CHG_AMOUNT[F] AS ACA_F FROM FBNK_ACCOUNT

21 | P a g e
Date conversion
Date conversion with [D] operand.

SELECT CAP_DATE_CHARGE, CAP_DATE_CHARGE[D] AS CDC_D FROM FBNK_ACCOUNT

22 | P a g e
Character conversion/expansion
Sometimes fields values can have more data than the length specified in STANDARD.SELECTION table. In
this case you can increase fields size with [C.<nnn>] operand.

SELECT MNEMONIC, MNEMONIC[C.100] AS M_100 FROM FBNK_ACCOUNT

23 | P a g e
Multivalued fields conversion
In case a multivalue field needs expansion and conversion a combination of expansion and conversion
operands can be used.

SELECT _ID, PAYMENT_DTE_DUE, PAYMENT_DTE_DUE[EX, D] FROM FBNK_PD_PAYMENT_DUE

24 | P a g e
Local fields
Driver supports local fields selection.

In the following example FBNK_MM_MONEY_MARKET table has 3 local fields defined in LOCAL.TABLE
application.

25 | P a g e
Query local fields
Local fields are selected as normal table fields.

SELECT _ID, SY_ID, SY_UNIT, SYEXVAL FROM FBNK_MM_MONEY_MARKET

26 | P a g e
Local fields expansion
Local fields are expanded as normal table fields

SELECT _ID, SY_ID[EX], SY_UNIT[EX], SYEXVAL[EX] FROM FBNK_MM_MONEY_MARKET

27 | P a g e
Performance

All performance measures were done on an Intel Core I7-2640M @2.8Ghz CPU, 12GB RAM, SSD with T24
environment running in a Virtual Box.

Of course, in a real world environment there might be various bottlenecks, like network speed, T24 server
performance, etc.

You can monitor drivers performance in T24Server console. With LogLevel=2 in vtserver.ini file after each
query you will get performance info, like how much time took to select records, queue size after all
records were pushed to process queue, how much time took the entire job (select + process + save), RPS
(Reads Per Seconds how fast Server was receiving records), WPS (Writes Per Second how fast server
was parsing and saving records).

TAFC / TAFJ Connector


Selecting 123,000 records with 211 fields using TAFC / TAFJ connector.

Selecting time was 11 seconds.

RPS = 10,425, WPS = 11,043, entire job time: 12 seconds

28 | P a g e
Oracle connector
Selecting 123,000 records with 211 fields using jBase connector.

RPS = 5,793, WPS = 5,910, entire job time: 22 seconds

Free version vs Full version


There are some limitations in Driver Free version comparing to a Full version.

1. Speed limitation. Only first 20,000 records of a table are processed at full speed, the rest will be
processed at limited speed.
2. Parallel execution limitation. It is not possible to run jobs in parallel. If a job is started while
another is running an exception will be raised.

You can request a full version at office@vultar.md

Roadmap
ODBC interface implementation
Launch Vultar Application Server as Windows service
GUI monitor/administration tool
DB2 & MSSQL Direct Connectors
T24 concat files support
Data compression for jBASE connectors to reduce network traffic
Encrypted communication between server and client
SPU support for Vultar Data Module
User Defined Functions support
Stored Procedures support
GROUP BY, JOIN support

29 | P a g e

Você também pode gostar