Configuring ARCHIVE Application and Backup

ARCDescripción completa

Views 176 Downloads 12 File size 13MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

  • Author / Uploaded
  • Aga A
Citation preview

Configuring ARCHIVE Application The files to be Archived must have an entry in ARCHIVE application. Create a record in ARCHIVE, for each set of files which must be Archived. There are four distinct sections in this record. 1. The first set of fields are PURGE.DATE, RETENTION.PERIOD, ARCHIVE.DATA and $ARC.PATHNAME



The ARCHIVE.DATA field is used to Archive or Delete the selected records. Choose 'Y' to Archive and 'N/None' to Delete the record.



The PURGE.DATE or RETENTION.PERIOD field is usedto specify the records selection for Archiving. This is based on a date which can either be specified in PURGE.DATE field (must be the first of the month and for CATEG.ENTRY field must be before the last financial year end) or RETENTION.PERIOD field. Records older than this date are Archived (or deleted). Purge date is automatically calculated from retention period at runtime. For example, if today's date is 23/05/2012 and the retention period of three months is specified (03M), three months is calculated from the beginning of the month. Therefore, records dated before 1/2/2012 is Archived (or deleted).



Specify the destination location of the $ARC Archive files in $ARC.PATHNAME field. If this field is left null, then the $ARC files are created in the Archive directory (BNK.arc).

The second set of fields (ARC.FILENAME to MODULUS) are related multi-value fields, which describe the Archive files to be created.

The ARC.FILENAME field indicates the names of all the $ARC files which are created based on Type and Modulo specified. If Type and Modulo specification are not present, then $ARC files inherits the same Type and Modulus; as the corresponding LIVE files. The third set (COMPANY.RUN.IN to TIME.ENDED) are related multi-value fields, which are auto populated by the system after the Contracts are archived. They maintain a history.

The fourth set comprises the GENERIC.METHOD, MAIN.FILE, FIELD.TO.CHECK, FILTER.RTN, RELATED.FILES.RTN and ROUTINE fields.

The MAIN.FILE field accepts the file name that has to be Archived. For example, FUNDS.TRANSFER$HIS.

The FIELD.TO.CHECK field indicates the date field in the Contract, which must be compared with the Purge date for Archiving. If this field is left blank, then the standard DATE.TIME field is used for comparison. For example, to Archive the history records of FUNDS.TRANSFER record, use the PROCESSING.DATE value of the Contract. Note: If the above MAIN.FILE field is multi-valued and populated with two or more applications, the date field mentioned in FIELD.TO.CHECK considers the application populated in the first multi-value set. The FILTER.RTN field is a hook routine to select or ignore a Contract for Archiving. This field is used as an alternative to FIELD.TO.CHECK field. The parameters of this routine are: FILTER.RTN ( ID.CONTRACT, R.CONTRACT, CONTRACTARCHIVE.DATE, SKIP.FLAG, ', ') 

ID.CONTRACT (IN Parameter 1) - Record key of the contract



R. CONTRACT (IN Parameter 2) – Entire contract record



CONTRACTARCHIVE.DATE (OUT Parameter 1) – Date against which the purge date set in the ARCHIVE record should be compared with. For example, in FUNDS.TRANSFER the user can compare debit value date and credit value date of the Contract and return a final date as the OUT parameter, that is compared with purge date finally for Archival.



SKIP.FLAG (OUT Parameter 2) – Returns Value ‘1’ as the OUT parameter, to skip the current Contract from Archiving. Value ‘1’ confirms that the current Contract need not be Archived. (Logic to ignore the Contract must be available in the filter routine. So, the current Contract is skipped from being Archived).



Two Spare parameters for future expansion.

The RELATED.FILES.RTN field is a hook routine that returns the names of related files that have to be Archived along with the main Archival record in a dynamic array. The parameters of this routine are: The RELATED.FILES.ROUTINE field has (ID.CONTRACT , R.CONTRACT, RELATED.FILES, ',' 

ID.CONTRACT (IN Parameter 1) - Record key of the main Contract that is ready to be Archived.



R.CONTRACT (IN Parameter 2) – Entire Contract record.



RELATED.FILES (OUT Parameter 1) – Information of related files to be Archived in the format 'File name, File ID, Archival Flag separated by @VM'. If there are multiple related files, each file information can be delimited by @FM marker. For example, upon Archiving LOANS.AND.DEPOSITS records, its balances file records must be Archived. So, pass the balances file name, its ID and a ‘Y’ to the Archival flag.



Two Spare parameters for future expansion.

GENERIC.METHOD a. Specify 'Y' to execute generic Archival process. This allows Archival service (ARC.GENERIC service) to take care of all selection and purging of records. For example, FUNDS.TRANSFER, TELLER, STMT.ENTRY.DETAIL and so on; are Archived using the generic Archival process based on the inputs provided in MAIN.FILE, FIELD.TO.CHECK or FILTER.ROUTINE field. b. To indicate 'No/None' when application specific Archival routine specified in the ROUTINE field must be invoked.

ROUTINE This field indicates a valid multi-threaded routine that is responsible for Archiving the set of files specified in the ARCHIVE record. These are application specific routines and should not be changed unless a site specific program is written. For example, for FOREX, the routine is ARC.FOREX. This record routine is responsible to decide on the Archival logic and to do Archiving. Separate ARC.FOREX.LOAD, ARC.FOREX.SELECT routines must be available for opening and selecting all necessary files for Archiving. However, it is not necessary to create a separate ARC.FOREX service. It is the responsibility of ARC.GENERIC service to simply invoke ARC.FOREX.LOAD, ARC.FOREX.SELECT, ARC.FOREX routines internally for Archiving in the presence of ROUTINE field.

Setting Up ARC.GENERIC.REQUEST Create a ‘SYSTEM’ record in ARC.GENERIC.REQUEST and specify the ARCHIVE ID for Archival. Upon verification of this record, ARC.GENERIC service is started in the background and in turn it reads the ARCHIVE record. Based on the Generic.Method set-up or the application specific ROUTINE, the records are selected for Archival. Ensure that TSM is already running.

Timing Of The Archiving Process It is recommended that the Archiving process must be run after the COB, but before the users are allowed to sign in. However, since Archiving removes the data that is no longer used, it can be executed even when the system is Live.

Backups The system in which Archiving must be run is fully backed up to tape. Note: Archiving is a one-way process. Data cannot be restored afterwards, except by fully restoring the database back to the point of pre-archiving.

Back up the area as follows From UNIX, change to the directory that is being backed up. For example, if the area being backed up is BNK and the directory structure is /usr/T24/bnk/bnk.run; then enter $cd /usr/T24 $find bnk -print -depth | cpio -ovcB > /dev/zzz Where zzz is the name of your backup device. From UNIX verify the tape as follows:

$cpio -iBct < /dev/zzz Where zzz is the name of your tape device.

Post Archiving Actions Once the Archiving process is complete, the size of all the files involved (both original and $ARC where applicable) must be reviewed to take the new number of records in the relevant files into account.

TAFJ-Runner Introduction tRun is the main entry point for running a program. This is a script in the /bin directory. It is used to execute the Compiled Basic Files

tRun Syntax The tRun syntax is the following:

tRun [-cf [.properties]] []

TAFJ Classpath TAFJ is managing the classpath base on the properties file of the project. There are no need to setup the CLASSPATH variable environment. The order of the TAFJ Classpath is : 1. All classes specify with the key: 2. All jars and folder specify with the key: 3. All jars and folder and subfolder in /ext 4. All jars and folder specify with the key: 5. All T24 jars and folder specify with the key

You can specify multiple paths separate with the separator path. “:” or “;”. Except for the key only 1 folder can be specify. I.e. temn.tafj.directory.precompile=/T24/Modules/GB0003:/T24/lib Each entry has a clear state and the defined order cannot be change.

Specify where the classes’ files will be generated by the compiler.

Specify where all internal jars and classpath before ext folder (3rd party jars and jdbc drivers) will be loaded. /ext Specify where all 3rd party jars, jdbc drivers and subfolder classpath will be loaded.

Specify where all internal jars and classpath after ext folder (3rd party jars and jdbc drivers) will be loaded.

Specify where all T24, components and modules jars and classpath will be loaded.

TAFJ Runtime Directories TAFJ support UD tables. The root of the current directory where all UD tables is specify with the key : “temn.tafj.runtime.directory.current”. In the properties file the default is : # Specify what will be considered as the "current" directory (eg in an OPEN "." ...) # temn.tafj.runtime.directory.current= /UD The default file encoding is UTF-8. You can spefify the file encoding of the UD Table with the key : “temn.tafj.runtime.ud.encoding”.

In the properties file the default is: # By default all UD Tables is no UTF-8 encoding. # you have to specify the codepage of UD tables # Latin character ISO-8859-1, cp1252 or UTF-8 temn.tafj.runtime.ud.encoding= UTF-8 TAFJ treat differently the directory &COMO&. You can specify where is the &COMO& folder outside the current directory of the UD Tables with the key : “temn.tafj.runtime.directory.como”. # Specify what is the COMO directory. # temn.tafj.runtime.directory.como= /&COMO& The default file encoding (empty key) is the platform specific. You can specify the file encoding of the UD Table with the key : “temn.tafj.runtime.ud.encoding”. # set the file encoding of the output file COMO # ex for zOS : temn.tafj.runtime.como.encoding= IBM-1047 # default is ISO-8859-1 # #temn.tafj.runtime.como.encoding = IBM-1047 TAFJ treat differently the directory &HOLD&. You can specify where is the &HOLD& folder outside the current directory of the UD Tables with the key : “temn.tafj.runtime.directory.hold”. #Specify where is the &HOLD& directory when SETPTR is used with the HOLD option # temn.tafj.printer.directory.hold

= /&HOLD&

TAFJ Timezone and Local TimeZone represents a time zone offset, and also figures out daylight savings. You can set the Timezone with the key: “temn.tafj.runtime.timezone”.

In the properties file the default is: # set the timezone of the system # #ie : temn.tafj.runtime.timezone = Europe/London temn.tafj.runtime.timezone= A Locale object represents a specific geographical, political, or cultural region. An operation that requires a Locale to perform its task is called locale-sensitive and uses the Locale to tailor information for the user. You can set the Local with the key: “temn.tafj.runtime.local”. In the properties file the default is: # set the locale language and country # temn.tafj.runtime.local= en_US

TAFJ Thread or Process By convention a JBC command : EXECUTE PHANTOM will forks a new OS Process with a new instance of a JVM (Java Virtual Machine). For performance raison you can define with the key “temn.tafj.runtime.phantom.as.process” to execute the new process as a thread in the current JVM. In the properties file the default is: # Specify whether a "EXECUTE PHANTOM ..." will be a new process or # a new Thread. In multiple CPU machines, a new process (true) could # be more efficient. # temn.tafj.runtime.phantom.as.process= true When the new process forks a new JVM, you have to specify the environment of the JVM with options. Use the key: “temn.tafj.runtime.new.process.params” The option can be any java options:

Usage: java [-options] class [args...] where options include: -d32

use a 32-bit data model if available

-d64

use a 64-bit data model if available

-server

to select the "server" VM

-hotspot

is a synonym for the "server" VM [deprecated] The default VM is server.

-D=set a system property -verbose:[class|gc|jni] enable verbose output -ea[:...|:] -enableassertions[:...|:] enable assertions with specified granularity -da[:...|:] -disableassertions[:...|:] disable assertions with specified granularity -esa | -enablesystemassertions enable system assertions -dsa | -disablesystemassertions disable system assertions -agentlib:[=] load native agent library , e.g. -agentlib:hprof see also, -agentlib:jdwp=help and -agentlib:hprof=help -agentpath:[=]

load native agent library by full pathname -javaagent:[=] load Java programming language agent, see java.lang.instrument -splash: show splash screen with specified image See http://www.oracle.com/technetwork/java/javase/documentation/index.html for more details. In the properties file the default is: #If the phantoms are executed as process, what JVM options to #use to launch them. # temn.tafj.runtime.new.process.params= -Xmx1024M -XX:MaxPermSize=256m

TAFJ Precision and Rounding By properties, you can specify the default precision for the runtime with the key: “temn.tafj.runtime.default.precision”. In the properties file the default is: # Default precision when not specified. # temn.tafj.runtime.default.precision

=4

By properties, you can specify the rounding of a operation with the key: “temn.tafj.runtime.rounding.mode” and the rounding of the result after operation with the key : “temn.tafj.runtime.rounding.mode.result”.

In the properties file the default is: # Rounding Mode for operands : HALF_UP(Default) (2.25 -> 2.3 and 2.24 -> 2.2) # Possible values : HALF_DOWN, HALF_UP, HALF_EVEN, CEILING, FLOOR, UP

# temn.tafj.runtime.rounding.mode= HALF_UP # Rounding Mode result : HALF_UP(Default) (2.25 -> 2.3 and 2.24 -> 2.2) # Possible values : HALF_DOWN, HALF_UP, HALF_EVEN, CEILING, FLOOR, UP # temn.tafj.runtime.rounding.mode.result= DOWN

TAFJ Runtime Mode If TAFJ is install on a Mainframe (zOS), you need to specify to true the key: “temn.tafj.runtime.zos.mode”. It will avoid the INPUT statement with timer. (not allow on zOS). Set the correct encoding for logger in TAFJTrace.properties and COMO encoding. In the properties file the default is: # set to true if the runner is on a zOS LPar machine # and it have to work in legacy mode # temn.tafj.runtime.zos.mode= false Here is some other specific mode. # Define if, in case of exception, we are stopping the execution or # just throwing the exception (in case of TAFJ is used like an API) # temn.tafj.runtime.exception.mode= false # When set to true a terminating session will be cleaned up. # All locks released and the database connection closed. # temn.tafj.runtime.clean.on.shutdown= true

# By default data files loaded require manual authorization. # When set to true data are uploaded in $INAU table. # When set to false data are uploaded directly in the LIVE table temn.tafj.runtime.authorize.record= true

TAFJ Performance For Performance raison, and if you are not in development environment you have to active some cache and stop TAFJ to have the capability to debug code. In the properties file the default is: # If set to false, any 'DEBUG' statement will be ignored. # temn.tafj.runtime.enable.debug

= true

# Performance :cache OPF # temn.tafj.runtime.enable.cached.opf= false # Performance : internal java TAFJ System_getCache # temn.tafj.runtime.use.cache.get= false

TEC and logger API TAFJ has the capability to redirect API message to the logger API (T24) to the JMS Topic Queue with the key : “temn.tafj.runtime.enable.logger.api.jms” In the properties file the default is: # Enable the Logger api for TEC Items recording using JMS (used by T24Monitor) # temn.tafj.runtime.enable.logger.api.jms= false

TAFJ has the capability to disable any T24 Logger API or TEC. With the key: “temn.tafj.runtime.enable.logger.api“ and the key: “temn.tafj.runtime.disable.tec“ In the properties file the default is: # Enable the Logger api for TEC Items (used by T24Monitor) # temn.tafj.runtime.enable.logger.api= true # Enable TEC Items recording # temn.tafj.runtime.disable.tec = false

TAFJ JIMI (Independent Metrics Integration) Check the below properties for JIMI. In the properties file the default is: #******************************************************************** # # JIMI # #******************************************************************** # Specify if jimi is on, off or can be switched # 1 : On, can be changed programatically # 0 : Off, can be changed programatically #-1 : Off CANNOT be changed programatically. # temn.tafj.runtime.jimi.on = 0 # Specify what directory will contains the jimi reports

# temn.tafj.runtime.directory.jimi = # Specify whether we want to append on existing trace files or create # a new file every times we start jimi. # temn.tafj.runtime.jimi.append= false # The first index when using the FILEIO option # temn.tafj.runtime.jimi.image.index= 1

TAFJ Monitor To use TAFJ Monitor, TAFJSessionMonitor have to be up and running on the network. TAFJ with the following properties will send all the information to the TAFJSessionMonitor. Read the section TAFJSessionMonitor to know how setup and start the monitor. #******************************************************************** # # TAFJ Monitor # #******************************************************************** # Enable the TAFJMonitorSession # temn.tafj.runtime.session.monitor.enable

= true

# Host name or IP of where is the TAFJMonitorSession # temn.tafj.runtime.session.monitor.host=localhost

# TCP port of the TAFJMonitorSession # temn.tafj.runtime.session.monitor.port=8377

TAFJ Printer TAFJ use the JPS (Java Print Service. On Windows, JPS use the Printer Manager. You can connect any printers installed on Windows. The Printer has to be online. On UNIX/LINUX, JPS use CUPS (Common Unix Printing System). CUPS is not install by default. You have to install it. Please refer to your OS documentation for the installation. In the properties file, category printer, the setup of TAFJ automatically adds your printers online with default driver name PRN #. You can affect the channel to any drivers’ name. You can affect 256 channels to different printer with the key: “temn.tafj.channel.name.#”. # is the number of the channel. The name you affect to the key have to match the name of the driver. i.e temn.tafj.channel.name.0 = PRN2 The channel 0 is link to the driver PRN2 To install a driver, you need to specify: 1. A name to be link with the channel 2. A device base on the printer manager of windows or CUPS printer name. 3. A class driver (by default : com.temenos.tafj.jlp.drivers.jPrinterDriver) To find the devices online on your OS, use the command tFindDevice. __________________________________________________________________ Device(s) on your system __________________________________________________________________

Default printer : >HP Officejet Pro 8600 (Network)< Printer 0

: >Send To OneNote 2010
Microsoft XPS Document Writer
HP0CE4D2 (HP Officejet Pro 8600)
HP Officejet Pro 8600 (Network)
Fax - HP Officejet Pro 8600 (Network)
Fax
Connection -> SSH -> X11” the checkbox Enable X11 forwarding.

With SecureCRT Enable in ”Menu Session Options -> Connection -> Port Forwarding -> Remote/X11” the checkbox Forward X11 packets.

Test Xorg-x11-apps / Xming On your telnet session execute the command: xclock. Command:

The X11 Clock appear to your windows screen

Prerequisite Time synchronize on all servers

This is very important for log, statistics, status to have all servers synchronized about date and time. Most servers are probably automatically configured to internet network time. But sometime the servers have no access to it. In this case, a NTP server have to be created in the infrastructure and force all other servers to synchronize to it. In the infrastructure the ComSrv01 will be dedicate to have the NTP Server

Install and configure NTP daemon Install NTP package on all server using the appropriate package management tool. On all servers with root user. Command:

Configure NTP Server After the server is installed, first go to official NTP Public Pool Time Servers, choose your Continent area where the server physically is located, then search for your Country location and a list of NTP servers should appear.

On NTP Servers with root user. Edit the /etc/ntp.conf file, which is quite possibly already filled out for you.

You’ll find a lot of lines in there, but the important ones are the server lines. Comment the default list of Public Servers from pool.ntp.org project and replace it with the list provided for your country like in the screenshot below. For my purposes, that meant:

Allow clients from your networks to synchronize time with this server. To accomplish this, add the following line to NTP configuration file, where restrict statement controls, what network is allowed to query and sync time – replace network IPs accordingly.

The nomodify notrap statements suggest that your clients are not allowed to configure the server or be used as peers for time sync. Add information for troubleshooting in case there are problems with your NTP daemon add a log file statement which will record all NTP server issues into one dedicated log file.

After you have edited the file with all configuration explained above save and close ntp.conf file. Your final configuration should look like in the screenshot below.

Add Firewall Rules and Start NTP Daemon NTP service uses UDP port 123 on OSI transport layer (layer 4). It is designed particularly to resist the effects of variable latency (jitter). To open this port on RHEL/CentOS 7 run the following commands against Firewalld service. On NTP servers with root user. Command:

After you have opened Firewall port 123, start NTP server and make sure you enable it systemwide. Use the following commands to manage the service.

Verify Server Time Sync

If you want to query and synchronize against a pool of your choice use ntpdate command, followed by the server or servers addresses, as suggested in the following command line example.

Configure NTP Client to Synchronize with NTP Server On all servers expect NTP Server with root user. Modify ntp.conf on NTP Client (Not on NTP-server) Edit the /etc/ntp.conf file, which is quite possibly already filled out for you.

To synchronize the time of your local Linux client machine with NTP server, edit the /etc/ntp.conf file on the client side. You’ll find a lot of lines in there, but the important ones are the server lines. Comment the default list of Public Servers from pool.ntp.org project and replace it with the NTP Server. For my purposes, that meant:

Prefer: If this option is specified that server is preferred over other servers. A response from the preferred server will be discarded if it differs significantly different from other server’s responses.

Start the NTP Daemon On all servers expect NTP Server with root user. Once the ntp.conf is configured with correct settings, start the ntp daemon.

Check the NTP Status Check the status of NTP using the ntpq command. If you get any connection refused errors then the time server is not responding or the NTP daemon/port is not started or listening. On all servers expect NTP Server with root user. Command:

Set Local Date and Time The ntpdate command can be used to set the local date and time by polling the NTP server. Typically, you’ll have to do this only one time.

Your jitter value should be low, else check the drift from the clock in the driftfile. You may also need to change to some other NTP server based on the difference. This command synchronizes the time with your NTP server manually. On all servers expect NTP Server with root user.

After this initial sync, NTP client will talk to the NTP server on an on-going basis to make sure the local time reflects the accurate time. You can also use the following command to get the current status of ntpd.

Set Time Zone How do I see the current time zone? On all server with root user.

To find list of all available time zones, run:

set timezone to Europe/Zurich

Prerequisite File System Root folder of Temenos Solution On each server we have to define a folder to install the Temenos solution. We need to check the where we can install it and the space left. On all server with root user. Command:

In this infrastructure we will install all on the root folder /u01 Create a folder Temenos in the root folder

Change the owner and the permission to the t24user to this folder

check the owner and the permission from /u01

The Temenos folder is now TEMENOS_HOME. Set the environment variable $TEMENOS_HOME to the Temenos folder Edit file .bach_profile and set the environement variable $TEMENOS_HOME On all server with t24user user. In the home folder of the t24user

Close your session and login again with t24user

Root folder of Installation Package On all servers with t24user user. In create a folder Install Command:

Check the folder exist

Root folder of 3rd Party software In our infrastructure we will install 3rd party software like java®, WebSphere®, Weblogic®. All no Temenos software will be installing in the 3rdParty folder On all server, with t24user user. In create a folder 3rdParty

Check the folder exist

Root folder of TAFJ and T24 Only on all servers in an Application Layer (AppSrv01 and AppSrv02), with t24user user. In create a folder T24 and TAFJ

Check the folder exist

Set the environment variable $TAFJ_HOME to the $TEMENOS_HOME/TAFJ and $T24_HOME to the $TEMENOS_HOME/T24 folder Edit file .bach_profile and set the environment variable $TAFJ_HOME and $T24_HOME We will add $TAFJ_HOME/bin to the environment PATH of Linux On all server, with t24user user. In the home folder of the t24user

Close your session and login again with t24user

Root folder of other Temenos product We will not install on this infrastructure other Temenos products. If you want to install other Temenos Product like AML, TAP (Triple A),.. Create in $TEMENOS_HOME the root folder of each Temenos product That is, AML

Prerequisite NFS Share folder (not mandatory)

NFS Share Installation package folder (not mandatory) Server NFS Share Installation package folder (not mandatory) For convenient raison in our infrastructure we will create NFS Server and share the $TEMENOS_HOME/Install On the NFS Sever. In our infrastructure it will be ComSrv01 On NFS Servers, with root user. Command:

Start NFS Daemon On NFS Servers, with root user. Command:

On NFS server we will define $TEMENOS_HOME/Install as a share folder On NFS Servers, with root user. Command:

Note: 192.168.1.0 is the subnet of all client machine, if you wish a specific client should access it only, you need to specify the IP of the client, otherwise you can add "*" instead of IP for all IP access Finally start the NFS service as follows:

Check

In $TEMENOS_HOME/INSTALL create a file test

Add Firewall Rules for NFS Daemon on server NFS service uses UDP port on OSI transport layer (layer 4). It is designed particularly to resist the effects of variable latency (jitter). To open this port on RHEL/CentOS 7 run the following commands against Firewalld service. On NFS Servers with root user. Command :

Client NFS Share Installation package folder (not mandatory) On all servers expect NFS Server with root user. Command:

Start NFS Deamon On all servers expect NFS Server with root user. Command :

Next we will mount the NFS shared content in the client machine as shown below:

Check the file test we created

Permanent NFS mounting On all servers expect NFS Server with root user. Command :

Restart your server and check if the drive is mounted

Check if the file test is visible On all servers expect NFS Server with t24user user. Command :

Check the permanent mount

On all servers expect NFS Server with t24user user. Command:

NFS Share T24 and TAFJ folder (not mandatory, not recommended) Warning: NFS have a bad performance compare to local disk access. For performance infrastructure, do not share TAFJ and T24 on NFS. This is only to use with a Cluster on the Applcation layer. Server NFS Share T24 and TAFJ folder (not mandatory) For convenient raison in our infrastructure we will create NFS Server and share the $TEMENOS_HOME/TAFJ and $TEMENOS_HOME/T24 On the NFS Sever. In our infrastructure it will be ComSrv01 On NFS Servers with root user. Command:

Start NFS Deamon On NFS Servers with root user.

On NFS server we will define $T24_HOME and $TAFJ_HOME as a share folder On NFS Servers with root user. Command:

Note: 192.168.1.0 is the subnet of all client machine, if you wish a specific client should access it only, you need to specify the IP of the client, otherwise you can add "*" instead of IP for all IP access. Finally start the NFS service as follows:

Check

In $TEMENOS_HOME/TAFJ create a file test.

In $TEMENOS_HOME/T24 create a file test

Add Firewall Rules for NFS Daemon on server NFS service uses UDP port on OSI transport layer (layer 4). It is designed particularly to resist the effects of variable latency (jitter). To open this port on RHEL/CentOS 7 run the following commands against Firewalld service. On NFS Servers with root user.

Command :

Client NFS T24 and TAFJ folder (not mandatory) On all servers expect NFS Server with root user. Command:

Start NFS Deamon On all servers expect NFS Server with root user. Command :

Next we will mount the NFS shared TAFJ content in the client machine as shown below:

Check the file test we created.

Next we will mount the NFS shared T24 content in the client machine as shown below:

Check the file test we created

Permanent NFS mounting On all servers expect NFS Server with root user. Command :

Restart your server and check if the drive is mounted.

Check if the file test is visible On all servers expect NFS Server with t24user user. Command :

Check the permanent mount On all servers expect NFS Server with t24user user. Command :

NFS Share TAFJ (mix) folder (not mandatory, recommended) Warning: This is for advanced user. The goal is to share a TAFJ for uid (PortNumber) and properties file. But the lib, ext and log folders will have a local copy set to the application server. This is only to use with a Cluster on the Application layer. This is very convenient (about zero administration) and a very good performance. Server NFS Share TAFJ folder (not mandatory, recommended) For convenient raison in our infrastructure we will create NFS Server and share the $TEMENOS_HOME/TAFJ On the NFS Sever.

In our infrastructure it will be ComSrv01 On NFS Servers with root user. Command:

Start NFS Deamon On NFS Servers with root user. Command :

On NFS server we will define $T24_HOME and $TAFJ_HOME as a share folder On NFS Servers with root user.

Command :

Note: 192.168.1.0 is the subnet of all client machine, if you wish a specific client should access it only, you need to specify the IP of the client, otherwise you can add "*" instead of IP for all IP access Finally start the NFS service as follows:

Check

In $TEMENOS_HOME/TAFJ create a file test

Add Firewall Rules for NFS Daemon on server NFS service uses UDP port on OSI transport layer (layer 4). It is designed particularly to resist the effects of variable latency (jitter). To open this port on RHEL/CentOS 7 run the following commands against Firewalld service. On NFS Servers with root user. Command :

Client NFS TAFJ folder (not mandatory, recommended) On all servers expect NFS Server with root user. Command:

Start NFS Deamon On all servers expect NFS Server with root user.

Command :

Next we will mount the NFS shared TAFJ content in the client machine as shown below:

Check the file test we created

Permanent NFS mounting On all servers expect NFS Server with root user. Command :

Restart your server and check if the drive is mounted.

Check if the file test is visible On all servers expect NFS Server with t24user user. Command :

Check the permanent mount On all servers expect NFS Server with t24user user.

Command :

The next step of the setup NFS Share TAFJ (mix) folder will be describe in the step by step configuration of a cluster for the Application Layer.

NFS Share for MQ Cluster (mandatory for MQ cluster) Server NFS Share for MQ Cluster For convenient raison in our infrastructure we will create NFS Server and share the $TEMENOS_HOME/3rdParty/Jms/MQ/mqshare On the NFS Sever. In our infrastructure it will be JmsSrv01 On JmsSrv01 Servers with root user. Command:

Start NFS Deamon

On JmsSrv01 Servers with root user. Command :

Create the folder structure $TEMENOS_HOME/3rdParty/Jms/MQ/mqshare On JmsSrv01 Servers with root user. Command :

Change the owner and the permission to the t24user to this folder

On NFS server we will define $TEMENOS_HOME/3rdParty/Jms/MQ/mqshare as a share folder On JmsSrv01 Servers with root user.

Command :

Note: 192.168.1.0 is the subnet of all client machine, if you wish a specific client should access it only, you need to specify the IP of the client, otherwise you can add "*" instead of IP for all IP access Finally start the NFS service as follows:

Check

In $TEMENOS_HOME/3rdParty/Jms/MQ/mqshare create a file test

Add Firewall Rules for NFS Daemon on server NFS service uses UDP port on OSI transport layer (layer 4). It is designed particularly to resist the effects of variable latency (jitter). To open this port on RHEL/CentOS 7 run the following commands against Firewalld service. On NFS Servers with root user. Command

Client NFS Share for MQ Cluster (mandatory for MQ cluster) In our infrastructure JmsSrv02 On all servers part of the MQ Cluster except NFS Server with root user. Command:

Start NFS Deamon

On all servers part of the MQ Cluster except NFS Server with root user. Command :

Create the folder structure $TEMENOS_HOME/3rdParty/Jms/MQ/mqshare On all servers part of the MQ Cluster except NFS Server with root user. Command :

Change the owner and the permission to the t24user to this folder

Next we will mount the NFS shared TAFJ content in the client machine as shown below:

Check the file test we created

Permanent NFS mounting On all servers part of the MQ Cluster except NFS Server with root user. Command :

Restart your server and check if the drive is mounted

Command :

Check the permanent mount On all servers expect NFS Server with t24user user. Command :

ools Installation KSH Installation

KornShell (ksh) is a Unix shell. KornShell is backward-compatible with the Bourne shell and includes many features of the C shell, inspired by the requests of Bell Labs users. This is zje default shell used by TAFJ. On all servers with root user. Command from the folder $TEMENOS_HOME\Install: # yum install ksh

NMAP Install Nmap (Network Mapper) is a security scanner used to discover hosts and services on a computer network, thus creating a "map" of the network. To accomplish its goal, Nmap sends specially crafted packets to the target host and then analyzes the responses.

On all servers, with root user. Command from the folder $TEMENOS_HOME\Install: # yum install nmap

Typical uses of nmap: 

Auditing the security of a device or firewall by identifying the network connections which can be made to, or through it.



Identifying open ports on a target host in preparation for auditing.



Network inventory, network mapping, maintenance and asset management.



Auditing the security of a network by identifying new servers.



Generating traffic to hosts on a network.



Find and exploit vulnerabilities in a network.

On all servers, with t24user user. To test nmap run the command: # nmap -v 127.0.0.1

NMON Installation nmon (short for Nigel's Monitor) is a Performance system monitor tool for the AIX and Linux operating systems. On all servers, with root user. Command from the folder $TEMENOS_HOME\Install: # wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm # rpm -Uhv rpmforge-release*.rf.x86_64.rpm # yum install nmon

Typical uses of nmon: 

nmon concentrates on performance information for the performance tuner and in a concise layout to aid understanding. This includes: CPU, memory, disks, adapters, networks, NFS, Kernel statistics, File-systems, Workload Manager (AIX), Workload Partitions (AIX) and Top Processes.



nmon includes support for older AIX releases, Linux running on x86, POWER and Mainframe platforms

On all servers, with t24user user.

To test nmon run the command: # nmon

NLOAD Install nload is a console application which monitors network traffic and bandwidth usage in real time. It visualizes the in- and outgoing traffic using two graphs and provides additional info like the total amount of transferred data and min/max network usage. On all servers, with root user. Command from the folder $TEMENOS_HOME\Install: # yum install nload

When running nload, you can switch between the devices (which you gave nload either on the command line or which were auto-detected) by pressing the left and right arrow keys. If the -m command line parameter is given, the arrow keys switch as many devices back and forth as there are shown on the screen. If you want to quit, do so by pressing 'q' or 'Ctrl+C'. On all servers, with t24user user. To test nload run the command: # nload

HTOP Installation htop is an interactive system-monitor process-viewer written for Linux. It is designed as an alternative to the Unix program top. On all servers, with root user. Command from the folder $TEMENOS_HOME\Install: # wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm # rpm -Uhv rpmforge-release*.rf.x86_64.rpm # yum install htop

It shows a frequently updated list of the processes running on a computer, normally ordered by the amount of CPU usage. Unlike top, htop provides a full list of processes running, instead of the top resource-consuming processes. Htop uses color and gives visual information about processor, swap and memory status. On all servers, with t24user user. To test htop run the command: # htop

IFTOP Installation Iftop is a command-line system monitor tool that produces a frequently-updated list of network connections. By default, the connections are ordered by bandwidth usage, with only the "top" bandwidth consumers shown. Iftop listens to network traffic on a named interface and displays a table of current bandwidth usage by pairs of hosts. Handy for answering the question 'why is our ininternet connection so slow?'". Command from the folder $TEMENOS_HOME\Install: # wget http://pkgs.repoforge.org/iftop/iftop-0.17-1.el6.rf.x86_64.rpm # rpm -ivh iftop-0.17-1.el6.rf.x86_64.rpm

iftop monitors to network traffic and displays a table of current bandwidth usage. An interface may be specified or, if not, it will listen on the first interface it finds which looks like an external interface. iftop must be run with sufficient permissions to monitor all network traffic; on most systems this means that it must be run as a root user. On all servers, with root user. To test iftop run the command: # iftop

HELP MENU Usage is CaSe-sensitive. h-Key will display help menu. Host Display n - toggle DNS host resolution s - toggle show source host d - toggle show destination host t - cycle line display Port Display: 

j/k - scroll display



N - toggle service resolution



S - toggle show source port



D - toggle show destination port



P - toggle port display

General P - pause display h - toggle this help display b - toggle bar graph display B - cycle bar graph average T - toggle cumulative line totals



f - edit filter code



l - set screen filter



L - linear/log scales



! - shell command



q - quit

JDK installation From http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html Download the file Linux x64 146.4 MB jdk-7u79-linux-x64.tar.gz On all servers, with t24user user. FTP the file in $TEMENOS_HOME/Install The location of JDK will be $TEMENOS_HOME/3rdParty/Java In create a folder Java # mkdir -p $TEMENOS_HOME/3rdParty/Java # cd $TEMENOS_HOME/3rdParty/Java Copy the java file setup to the folder Java # cp $TEMENOS_HOME/Install/jdk-7u79-linux-x64.tar.gz $TEMENOS_HOME/3rdParty/Java

Extract jdk-7u79-linux-x64.tar.gz # tar -zxvf jdk-7u79-linux-x64.tar.gz

You have a new folder in $TEMENOS_HOME/3rdParty/Java # ls -ail

Delete jdk-7u79-linux-x64.tar.gz # rm jdk-7u79-linux-x64.tar.gz The new folder jdk1.7.0_79 is JAVA_HOME Set the environment variable $JAVA_HOME to the $TEMENOS_HOME/3rdParty/Java/jdk1.7.0_79 Edit file .bach_profile and set the environment variable $JAVA_HOME. We will add $JAVA_HOME/bin to the environment PATH of Linux On all server with t24user user. In the home folder of the t24user # cd # vi .bash_profile

Close your session and login again with t24user

Oracle 12c (12.1.0.2) Database Installation

From http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index092322.html Download the files Oracle Database 12c Release 1 

linuxamd64_12102_database_1of2.zip



linuxamd64_12102_database_2of2.zip

On all servers in DB Layer, with t24user user. FTP the files in $TEMENOS_HOME/Install OS configuration is executed as root. To login as root just execute following command in terminal. # su - root The “/etc/hosts” file must contain a fully qualified name for the server. # vi /etc/hosts

# hostnamectl set-hostname BdSrv01.temenos.com --static

Add groups # groupadd -g 54321 oinstall # groupadd -g 54322 dba # groupadd -g 54323 oper # groupadd -g 54324 backupdba # groupadd -g 54325 dgdba # groupadd -g 54326 kmdba

# groupadd -g 54327 asmdba # groupadd -g 54328 asmoper # groupadd -g 54329 asmadmin

Add user Oracle for database software # useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba oracle

Change password for user Oracle, set oracle # passwd oracle

Check which packages are installed and which are missing # rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE}(%{ARCH})\n' binutils \ gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers \ ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel \ libXext libXtst libX11 libXau libXi make sysstat unixODBC \ unixODBC-devel zlib-devel

Install missing packages. # yum install libaio-devel*.x86_64 # yum install unixODBC*.x86_64 # yum install zlib-devel*.x86_64 # yum install gcc*.x86_64

Check the kernel param and modify it. fs.file-max = 6815744 kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576

fs.aio-max-nr = 1048576 net.ipv4.ip_local_port_range = 9000 65500 kernel.panic_on_oops=1 # cat /proc/sys/fs/file-max # cat /proc/sys/kernel/sem # cat /proc/sys/kernel/shmmni # cat /proc/sys/kernel/shmall # cat /proc/sys/kernel/shmmax # cat /proc/sys/net/core/rmem_default # cat /proc/sys/net/core/rmem_max # cat /proc/sys/net/core/wmem_default # cat /proc/sys/net/core/wmem_max # cat /proc/sys/fs/aio-max-nr # cat /proc/sys/net/ipv4/ip_local_port_range # cat /proc/sys/kernel/panic_on_oops To modify a value # sysctl -w fs.file-max=6815744 # sysctl -w kernel.sem="250 32000 100 128" # sysctl -w kernel.shmmni=4096 # sysctl -w kernel.shmall=1073741824 # sysctl -w kernel.shmmax=4398046511104 # sysctl -w net.core.rmem_default=262144 # sysctl -w net.core.rmem_max=4194304

# sysctl -w net.core.wmem_default=262144 # sysctl -w net.core.wmem_max=1048576 # sysctl -w fs.aio-max-nr=1048576 # sysctl -w net.ipv4.ip_local_port_range= "9000 65500" # sysctl -w kernel.panic_on_oops=1

Apply kernel parameters # sysctl -p Add following lines to set shell limits for user oracle in file /etc/security/limits.conf Open the file "/etc/security/limits.conf" # vi /etc/security/limits.conf Set the following values

Open the file "/etc/pam.d/login" # vi /etc/pam.d/login

Modify /etc/selinux/config and change flag SELINUX. Restart server after this change.

Open the file "/etc/selinux/config " # vi /etc/selinux/config

Disable firewall # systemctl stop firewalld # systemctl status firewalld

On all servers in DB Layer, with oracle user. In the home folder of the oracle # cd # vi .bash_profile

On all servers in DB Layer, with root user. Create directory structure as user root ORACLE_BASE = $TEMENOS_HOME/3rdParty/Db/Oracle ORACLE_HOME = $TEMENOS_HOME/3rdParty/Db/Oracle /product/12.1.0/db_1 The location of Oracle Databse will be $TEMENOS_HOME/3rdParty/Db/Oracle /product/12.1.0/db_1

# mkdir -p $TEMENOS_HOME/3rdParty/Db/Oracle/product/12.1.0/db_1 # chown oracle:oinstall -R $TEMENOS_HOME/3rdParty/Db/Oracle # mkdir -p $TEMENOS_HOME/3rdParty/Tools/Oracle/oraInventory # chown oracle:oinstall -R $TEMENOS_HOME/3rdParty/Tools/Oracle/oraInventory Restart the server an login as root # shutdown -r In Oracle Enterprise Linux 7 /tmp data is stored on tmpfs which consumes memory and is too small. To revert it back to storage just run following command and REBOOT machine to be effective. # systemctl mask tmp.mount

Let’s start with database software installation as oracle user. # su - oracle

# cd $TEMENOS_HOME/Install Unizp oracle installation package # unzip linuxamd64_12102_database_1of2.zip # unzip linuxamd64_12102_database_2of2.zip

# cd $TEMENOS_HOME/Install/database Run the installer # ./runInstaller

Click "Next" Button.

Click "Yes" Button.

Select "Install database software only" and Click "Next" Button.

Click "Next" Button.

Click "Next" Button.

Click "Next" Button.

Click "Next" Button.

Select the Inventory Directory "$TEMENOS_HOME/3rdParty/Db/Tools/Oracle/oraInventory" and click "Next" Button.

Click "Next" Button.

Select "Ignore all" and Click "Next" Button.

Click "Install" Button.

On a Telent session as root and execute the scripts # /u01/Temenos/3rdParty/Db/Tools/Oracle/oraInventory/orainstRoot.sh

# /u01/Temenos/3rdParty/Db/Oracle/product/12.1.0/db_1/root.sh

Click "OK" Button.

Click "Close" Button.

IBM DB2 v10.1 Database Installation Download the file DB2 v10.1 

DB2_ESE_10_Linux_x86-64.tar.gz

On all servers in DB Layer, with t24user user. FTP the files in $TEMENOS_HOME/Install OS configuration is executed as root. To login as root just execute following command in terminal. # su root The “/etc/hosts” file must contain a fully qualified name for the server. # vi /etc/hosts

# hostnamectl set-hostname BdSrv01.temenos.com --static

On all servers in DB Layer, with t24user user. Under install folder create a folder db2inst # mkdir $TEMENOS_HOME/Install/db2inst Untar the files: # cd $TEMENOS_HOME/Install # tar -C db2inst -xvf DB2_ESE_10_Linux_x86-64.tar.gz

On all servers in DB Layer, with root user. # cd /u01/Temenos/Install/db2inst/ese # ./db2setup

Select "Install a Product" and Click “Install New” Button.

Click "Next" Button.

Select "I accept the terms in this license agreement" and click the "Next" button.

Click "Next" Button.

Click "Next" Button.

Select "/u01/Temenos/3rdParty/Db/Ibm/DB2/V10.1" and click the "Next" button.

Select the password as the user name “dasusr1” and confime.

Click "Next" Button.

Select "Do not create a DB2 instance" and click the "Next"

Click "Next" Button.

Click "Finish" Button.

Click "Finish" Button. On all servers in DB Layer, with dasusr1 user.

In the home folder of the oracle # cd # vi .bash_profile

H2 1.3.176 Database Installation From http://www.h2database.com/html/download.html Download the file H2 Version 1.3.176 (2014-04-05), Last Stable. (h2-2014-04-05.zip) On all servers in DB Layer, with t24user user. FTP the file in $TEMENOS_HOME/Install The location of H2 Databse will be $TEMENOS_HOME/3rdParty/Db/H2 In create a folder /Db/H2 # mkdir -p $TEMENOS_HOME/3rdParty/Db/H2 # cd $TEMENOS_HOME/Install

Start the H2 installer # unzip $TEMENOS_HOME/Install/h2-2014-04-05.zip -d $TEMENOS_HOME/3rdParty/Db/H2/

Rename the folder h2 # mv $TEMENOS_HOME/3rdParty/Db/H2/h2 $TEMENOS_HOME/3rdParty/Db/H2/h21.3.176 The new folder $TEMENOS_HOME/3rdParty/Db/H2/h2-1.3.176 is H2_HOME Set the environment variable $H2_HOME to the $TEMENOS_HOME/3rdParty/Db/H2/h21.3.176 Edit file .bach_profile and set the environment variable $JBOSS_HOME We will add $JBOSS_HOME/bin to the environment PATH of Linux On all servers in Application Layer and Web Layer, with t24user user. In the home folder of the t24user # cd # vi .bash_profile

Close your session and login again with t24user

TAFJ Installation Have the installer package of TAFJ. TAFJ.xx.SPy.0.tar.gz On all servers in AppLayer, with t24USER user. FTP the files in $TEMENOS_HOME/Install # cd $TEMENOS_HOME/Install

Under install folder create a folder tafjinst # mkdir -p $TEMENOS_HOME/Install/tafjinst

Untar the files: # tar -C tafjinst -xvf TAFJ.R15.SP4.0.tar.gz

TAFJ installation On all servers in Broker Layer, with t24user user. The location of TAFJ will be $TAFJ_HOME From $TEMENOS_HOME/Install/tafjinst execute the file Setup_TAFJ.R15.SP4.0.sh # cd $TEMENOS_HOME/Install/tafjinst # chmod 755 * # echo $TAFJ_HOME # . ./Setup_TAFJ.R15.SP4.0.sh In the setup process give the full TAFJ_HOME

Change the permission on the $TAFJ_HOME\bin to execute

# chmod 755 $TAFJ_HOME/bin/*

Check the installation of TAFJ Close your session and login again with t24user

Request a diagnostic of TAFJ # tDiag

T24 Installation T24 Files structure T24 will be install in the clear structure : 

The Libs (.jar files)



The Sources (.b files)



The Data (UD files)

The UD file type specifies NT or UNIX directories and NT or UNIX files are to be used to represent file and records respectively. With TAFJ all data are inside the RDBMS expect the UD. UD files are officialy the bnk.run folder from modelbank. For T24 we will create the following structure

# mkdir -p $T24_HOME/Src/T24.BP # mkdir -p $T24_HOME/Src/LOCAL.BP # mkdir -p $T24_HOME/Src/RG.BP # mkdir -p $T24_HOME/Src/t24inserts # mkdir -p $T24_HOME/Data/bnk/bnk.run # mkdir -p $T24_HOME/Lib/LocalDev # mkdir -p $T24_HOME/Lib/GPACK # mkdir -p $T24_HOME/Lib/T24Lib # mkdir -p $T24_HOME/Lib/T24Sms

# mkdir -p $T24_HOME/Lib/T24Email # mkdir -p $T24_HOME/Lib/RepGen # mkdir -p $T24_HOME/Lib/RulesEngine

T24 Modelbank Copy the correct components in the correct place Have the T24 packages. MB.R15.000.ORACLE11gR2.UNIX.TAFJR15.20161130.bnk.tar.gz t24email.1.0.0.zip t24sms.1.0.1.zip Rules-engine.1.0.0.zip On all servers in AppLayer, with t24USER user. FTP the files in $TEMENOS_HOME/Install # cd $TEMENOS_HOME/Install

Under install folder create a folder tafjinst # mkdir -p $TEMENOS_HOME/Install/t24inst # mkdir -p $TEMENOS_HOME/Install/emailinst # mkdir -p $TEMENOS_HOME/Install/smsinst # mkdir -p $TEMENOS_HOME/Install/ruleengineinst

Untar the T24 files: # tar -C t24inst -xvf MB.R15.000.ORACLE11gR2.UNIX.TAFJR15.20161130.bnk.tar.gz

Distribute the files from t24inst in the correct structure $T24_HOME # cp $TEMENOS_HOME/Install/t24inst/bnk/lib/* $T24_HOME/Lib/RepGen # cp $TEMENOS_HOME/Install/t24inst/bnk/t24lib/* $T24_HOME/Lib/T24Lib # cp $TEMENOS_HOME/Install/t24inst/bnk/T24_BP/* $T24_HOME/Src/T24.BP # cp $TEMENOS_HOME/Install/t24inst/bnk/UD/RG.BP/* $T24_HOME/Src/RG.BP # cp $TEMENOS_HOME/Install/t24inst/bnk/t24inserts/* $T24_HOME/Src/t24inserts # cp -R $TEMENOS_HOME/Install/t24inst/bnk/UD/* $T24_HOME/Data/bnk/bnk.run

T24 Sms On all servers in AppLayer, with t24USER user. Untar the T24Sms files: # unzip $TEMENOS_HOME/Install/t24sms.1.0.1.zip -d smsinst # unzip $TEMENOS_HOME/Install/smsinst/t24sms.1.0.1/MTR-SMS/Releases/t24sms.1.0.1.zip -d $T24_HOME/Lib/T24Sms # cp -R $T24_HOME/Lib/T24Sms/t24sms.1.0.1/* $T24_HOME/Lib/T24Sms # rm -R $T24_HOME/Lib/T24Sms/t24sms.1.0.1

T24 Email On all servers in AppLayer, with t24USER user. Untar the T24Email files: # unzip $TEMENOS_HOME/Install/t24email.1.0.0.zip -d emailinst/ # unzip $TEMENOS_HOME/Install/emailinst/t24email.1.0.0/MTREmail/Releases/t24email.1.0.0.zip -d $T24_HOME/Lib/T24Email # cp -R $T24_HOME/Lib/T24Email/t24email.1.0.0/* $T24_HOME/Lib/T24Email # rm -R $T24_HOME/Lib/T24Email/t24email.1.0.0

T24 RuleEngine On all servers in AppLayer, with t24USER user. Untar the RuleEngine files: # unzip $TEMENOS_HOME/Install/Rules-engine.1.0.0.zip -d ruleengineinst # cp ./ruleengineinst/Rules-engine.1.0.0/jars/* $T24_HOME/Lib/RulesEngine

T24 DataSet Configuration T24 DataSet configuration with H2 This is the full structure of T24 installation. Al Dataset will be install under T24_Home/Data If T24 is not install on the Database Server (most of the case), create the mínimum structure for the dataset in T24.

The H2 dtaset is under: $T24_HOME/data/Rdbms/H2 # mkdir -p $TEMENOS_HOME/T24/data/Rdbms/H2 Set the environment variable $T24_HOME to the $TEMENOS_HOME/T24 folder Edit file .bach_profile and set the environment variable $T24_HOME On DB server, with t24user user. In the home folder of the t24user # cd # vi .bash_profile

Close your session and login again with t24user

Create a scripts to start H2 In $H2_HOME/bin create a script t24h2.sh # cd $H2_HOME/bin # vi t24h2.sh

change the mod of the t24h2 scripts # chmod 755 t24h2.sh The param //localhost/data have to macth the file name of H2 dataset file name That is; 

data.h2.db ->//localhost/data



R15.h2.db ->//localhost/R15



T24MD.h2.db ->//localhost/T24MB

Copy the dataset to $T24_HOME/Data/Rdbms/H2 Have the T24 dataSet H2 data.h2.db FTP the files in $TEMENOS_HOME/Install # cd $TEMENOS_HOME/Install

# cp $TEMENOS_HOME/Install/data.h2.db $TEMENOS_HOME/T24/Data/Rdbms/H2

Copy the TAFJFunctions.jar to $H2_HOME/bin

From $TAFJ_HOME/dbscripts/h2/TAFJFunctions.jar FTP the file in $TEMENOS_HOME/Install # cd $TEMENOS_HOME/Install

# cp $TEMENOS_HOME/Install/TAFJFunctions.jar $H2_HOME/bin

Start t24h2 # cd $H2_HOME/bin # t24h2.sh

H2 database is up and running In properties file the connection will be :

T24 DataSet configuration with Oracle On DB server, with oracle user. Create Oracle listener. # cd $ORACLE_HOME/bin # netca

Click "Next" Button.

Click "Next" Button.

Click "Next" Button.

Click "Next" Button.

Click "Next" Button.

Click "Next" Button.

Click "Next" Button.

Click "Finish" Button. Create Oracle database instance.

# cd $ORACLE_HOME/bin # dbca

Click "Next" Button. 

Set a Global Database name : “T24”



IMPORTANT! Specify AL32UTF8 in the Character Sets tab...



Set a Password : “Temenos_1”



Unselect the container database and do not specify a Pluggable Database name.

Click "Next" Button.

Click "Next" Button.

Click "Next" Button.

Let running…

Click "Close" Button. You can check your installation: Browse the URL : https://localhost:5500/em Login with sys/Temenos_1 as sysdba

On DB server, with t24user user. Create TableSpace and a User with tafj scripts # cd $TAFJ_HOME/dbscripts/oracle # vi createtablespace_oracle.sql

# cd $TAFJ_HOME/dbscripts/oracle # vi createuser_oracle.sql

On DB server, with oracle user. Once these values have been changed, launch a console and from /u01/Temenos/TAFJ/dbscripts/oracle # cd /u01/Temenos/TAFJ/dbscripts/oracle # sqlplus "/ as SYSDBA" : @createtablespace_oracle.sql : @createuser_oracle.sql : exit

Load the necessary Stored functions On DB server, with t24user user. Create TableSpace and a User with tafj scripts # cd $TAFJ_HOME/dbscripts/oracle # vi javaload # chmod 777 *

On DB server, with oracle user. Create TableSpace and a User with tafj scripts # cd /u01/Temenos/TAFJ/dbscripts/oracle # ./javaload

# cd /u01/Temenos/TAFJ/dbscripts/oracle # sqlplus t24 : @javafunctions_oracle.sql : exit

On AppSrv01 server, with t24user user. Copy the correct driver in ext folder # cp -R $TAFJ_HOME/dbdrivers/oracle-12c $TAFJ_HOME/ext # cp -R $TAFJ_HOME/dbdrivers/h2-1.3.176 $TAFJ_HOME/ext

Execute DBImport to load the data from H2 to Oracle # DBImport -gui

Click "Next" Button.

Select "From Database" and Click "Next" Button. 

Database = H2



Url = jdbc:h2:tcp//192.168.1.159/T24



UserId= t24



Password= t24

Click "Next" Button. 

Database = Oracle



Url = jdbc:oracle:thin//192.168.1.159:1521:T24



UserId= t24



Password= t24

Click "Next" Button.

Click "Next" Button.

Click "Next" Button.

Click "Start" Button.

Let running…

Click "OK" Button.

Click "OK" Button. In the properties file the connection will be :

T24 DataSet configuration with DB2

On all servers in DB Layer, with root user. Create Essential User IDs and Groups # groupadd db2grp1 # groupadd db2fgrp1 # useradd -g db2grp1 -G dasadm1 -m db2inst1 -p db2inst1 # useradd -g db2fgrp1 -m db2fenc1 -p db2fenc1

Create DB2 Instance # cd /u01/Temenos/3rdParty/Db/Ibm/DB2/V10.1/instance # ./db2icrt -u db2fenc1 db2inst1

On all servers in DB Layer, with db2inst1user. Set TCP/IP communication for the connectivity of client # db2set DB2COMM=tcpip # db2 update dbm cfg using SVCENAME 50000

Start DB2: # db2start

Check DB2 service # netstat -an | grep 50000

On all servers in DB Layer, with root user. Create Repository Database Folder. # cd /u01/Temenos/3rdParty/Db/Ibm/DB2/V10.1/instance # mkdir db2repo # chown -R db2inst1:db2grp1 db2repo

On all servers in DB Layer, with db2inst1 user. Database Creation # cd $TAFJ_HOME/dbscripts/db2 # vi createDatabase_db2.db2

# db2 -td@ -vf $TAFJ_HOME/dbscripts/db2/createDatabase_db2.db2

Create Tablespace and Grant Privileges # cd $TAFJ_HOME/dbscripts/db2 # vi createtablespace_db2.db2

# db2 -td@ -vf $TAFJ_HOME/dbscripts/db2/createtablespace_db2.db2

# cd $TAFJ_HOME/dbscripts/db2 # vi grantPrivileges_db2.db2

# db2 -td@ -vf $TAFJ_HOME/dbscripts/db2/ grantPrivileges_db2.db2

On all servers in DB Layer, with root user. Compile the java function # cd /u01/Temenos/3rdParty/Db/Ibm/DB2/V10.1/function # mkdir -p com/temenos/dbi/storedfunctions # chown -R db2inst1:db2grp1 com

On all servers in DB Layer, with db2inst1 user.

# cd /u01/Temenos/3rdParty/Db/Ibm/DB2/V10.1/function/com/temenos/dbi/storedfunctions # /u01/Temenos/3rdParty/Db/Ibm/DB2/V10.1/java/jdk64/bin/javac /u01/Temenos/TAFJ/dbscripts /BasicFunctions.java

Copy the class # cp /u01/Temenos/TAFJ/dbscripts/BasicFunctions.class .

Load the java function # cd $TAFJ_HOME/dbscripts/db2 # vi javafunctions_db2.db2

# db2 -td@ -vf $TAFJ_HOME/dbscripts/db2/javafunctions_db2.db2

On AppSrv01 server, with t24user user. Copy the correct driver in ext folder # cp -R $TAFJ_HOME/dbdrivers/db2_v10.1 $TAFJ_HOME/ext # cp -R $TAFJ_HOME/dbdrivers/h2-1.3.176 $TAFJ_HOME/ext

Execute DBImport to load the data from H2 to DB2

# DBImport -gui

Click "Next" Button.

Select "From Database" and Click "Next" Button. 

Database = H2



Url = jdbc:h2:tcp//192.168.1.159/T24



UserId= t24



Password= t24

Click "Next" Button. 

Database = Oracle



Url = jdbc:db2://192.168.1.159:50000:T24



UserId= db2inst1



Password= dbinst1

Click "Next" Button.

Click "Next" Button.

Click "Next" Button.

Click "Start" Button.

Let running…

Click "OK" Button.

Click "OK" Button. In the properties file the connection will be :

T24 DataSet configuration with MS-SQL

Configuring T24 in standalone mode To configure T24 Compile in java in standalone mode, you just need to setup the JDBC and setup the T24 libs to TAFJ.

Create a TAFJ Project. A Project is a specific settings for a specific T24 settings. On all servers in AppLayer, with t24USER user. In $TAFJ_HOME\conf, copy and rename the .properties file template with the extention properties. In our context we will call the Project “TRAINT24” # cd $TAFJ_HOME/conf # cp .properties T24.properties

Set the default Project to the new TRAINT24 project. In $TAFJ_HOME\conf, edit the file .default and set the name of the default Project TRAINT24.

# vi .default

# tDiag

Properties file Now setup the Project T24. Edit TRAINT24 and setup the sections: 

Directories



Database



Runtime

# vi T24.properties Directories Set key temn.tafj.directory.basic specify where is the BASIC source folders

temn.tafj.directory.basic=/Src/LOCAL.BP:/Src/T24.BP:/Src/RG.BP The key temn.tafj.directory.insert specify where is the I_ files folders or zip/jar. Temenos provide 3 differents files I_BP.jar, I_RG.jar and I_T24.BP.jar

temn.tafj.directory.insert=/Src/t24inserts/I_BP.jar:/Src/t24insert s/I_RG.jar:/Src/t24inserts/I_T24.BP.jar

The key temn.tafj.directory.java Specify where the java files will be generated. By convention the java folder have to be $TAFJ_HOME/data//java temn.tafj.directory.java = /data/T24/java The key temn.tafj.directory.classes specify where the classes files will be generated. By convention the java folder have to be $TAFJ_HOME/data//classes temn.tafj.directory.classes = /data/T24/classes The key temn.tafj.directory.precompile specify where are all libs of T24 except the RuleEngin libs because a conflict with the xml parser of the Oracle JDBC drivers.

temn.tafj.directory.precompile=/Lib/LocalDev:/Lib/GPack:/Lib/T24Lib:/Lib/T24Sms:/Lib/T24Email:/Lib/RepGen:

Database The key temn.tafj.jdbc.url specify the URL to connect to the RDMS. Ask your DBA about this URL. In our case the URL is jdbc:oracle:thin:@192.168.1.159:1521/T24 temn.tafj.jdbc.url=jdbc:oracle:thin:@192.168.1.159:1521/T24 The key temn.tafj.jdbc.driver specify the driver to connect to the RDMS. Ask your DBA about the driver to use. In our case the driver is oracle.jdbc.driver.OracleDriver temn.tafj.jdbc.driver = oracle.jdbc.driver.OracleDriver The key temn.tafj.jdbc.username and temn.tafj.jdbc.username specify the username and password to connect to the database. Ask your DBA about the driver to use.

In our case the uasename and password is TAFJ/tafj. temn.tafj.jdbc.username = t24 temn.tafj.jdbc.password = t24

For performance raison change the key temn.tafj.jdbc.write.use.merge and temn.tafj.jdbc.write.use.merge.no.xml to false temn.tafj.jdbc.write.use.merge = false temn.tafj.jdbc.write.use.merge.no.xml = false

Runtime

The key temn.tafj.runtime.classpath specify a classpath loaded before the ext folder of TAFJ where is the JDBC driver. This is here we have to set the RuleEngile libs.

temn.tafj.runtime.classpath = /Lib/RuleEngine The key temn.tafj.runtime.directory.current where is the UD T24 files. In our case the path is /Data/bnk/bnk.run

temn.tafj.runtime.directory.current = /Data/bnk/bnk.run

For performance raison change the key temn.tafj.runtime.enable.cached.opf and temn.tafj.runtime.enable.cached.opf to true and you can disable the debug mode temn.tafj.runtime.enable.debug to false temn.tafj.runtime.enable.debug = false temn.tafj.runtime.enable.cached.opf = true temn.tafj.runtime.use.cache.get = true

Save you file and check your settings # tDiag

JDBC Drivers You have to copy the correct JDBC driver into the $TAFJ_HOME/ext. This folder is automaticaly taken as a classpath of TAFJ. Officialy you supposed to request the JDBC drivers from the database install itself. TAFJ provide some differents JDBC drivers in $TAFJ_HOME/dbdrivers In our case the driver will be the Oracle-12c # cp -R $TAFJ_HOME/dbdrivers/oracle-12c $TAFJ_HOME/ext

Check T24

Check your T24 Compile in java in standalone mode. # tRun EX

Logon INPUTT/123456

T24 Compile in java in standalone mode is working.

TAFJ Sessions Monitor To setup the TAFJ Sessions Monitor, untar the file TAFJSessionMonitor.tar.gz in $TAFJ_HOME. From $TAFJ_HOME/TAFJSessionMonitor 1. Check the file : $TAFJ_HOME /TAFJSessionMonitor/config/SessionMonitor.properties tcp_port=8377