30
Vultar Systems Vultar JDBC for T24 Documentation 29.05.2017

Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

  • Upload
    buithu

  • View
    237

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

Vultar Systems

Vultar JDBC for T24 Documentation

29.05.2017

Page 2: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

1 | P a g e

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

Page 3: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

2 | P a g e

Oracle connector........................................................................................................................................ 29

Free version vs Full version ............................................................................................................................ 29

Roadmap ........................................................................................................................................................ 29

Page 4: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

3 | P a g e

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)

Page 5: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

4 | P a g e

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.

Page 6: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

5 | P a g e

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:

Page 7: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

6 | P a g e

Vultar Application Server

Vultar Application Server installation package contains the following files:

vtserver.exe Vultar Application Server - console application.

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

application server.

aliases.json Set up here connectivity details to your T24 database. More details are provided in 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:

2. Start vtserver.exe console application:

;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

Background server is running.

Press [Enter] to close the server.

Page 8: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

7 | P a g e

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 that’s the last line of the login script:

exec $JBCRELEASEDIR/bin/jpqn $JEDIFILENAME_MD/loginproc

In case you don’t 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 file’s 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

Page 9: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

8 | P a g e

Default listening port is 8125. In case the one would like to use another port, update it in

t24client.properties file.

Page 10: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

9 | P a g e

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)

Page 11: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

10 | P a g e

Database DIRECT Connector

Oracle DIRECT Connector

Oracle connector uses Oracle’s 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.

Page 12: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

11 | 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 driver’s parameters as follows:

a. Name – driver’s name, ex. T24 jdbc driver

b. Example URL – driver’s URL template, ex. jdbc:t24://host:port;alias=<alias_name>

c. Class name – driver’s class name, com.vultar.jdbc.Driver.

Page 13: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

12 | 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:

Page 14: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

13 | P a g e

Usage

Queries

Simple queries

SELECT * FROM FBNK_ACCOUNT

Page 15: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

14 | P a g e

Where clause

SELECT _ID, CUSTOMER, CATEGORY, CURRENCY FROM FBNK_ACCOUNT WHERE CURRENCY = 'EUR'

Page 16: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

15 | P a g e

Order by clause

SELECT _ID, CUSTOMER, CATEGORY, CURRENCY FROM FBNK_ACCOUNT WHERE CURRENCY = 'EUR' ORDER

BY _ID

Page 17: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

16 | 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

Page 18: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

17 | 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

Page 19: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

18 | 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

Page 20: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

19 | 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

Page 21: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

20 | 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

Page 22: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

21 | 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

Page 23: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

22 | 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

Page 24: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

23 | P a g e

Character conversion/expansion

Sometimes field’s values can have more data than the length specified in STANDARD.SELECTION table. In

this case you can increase field’s size with [C.<nnn>] operand.

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

Page 25: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

24 | 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

Page 26: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

25 | 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.

Page 27: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

26 | 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

Page 28: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

27 | 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

Page 29: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

28 | 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 driver’s 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

Page 30: Vultar JDBC for T24 · 4 | P a g e The driver supports two types of connectors between Vultar JDBC Application Server and T24: TAFC / TAFJ Connector This is a universal T24 data access

29 | 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 [email protected]

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