Temenos Transact Java API Pros and Cons

As you may already know Temenos Transact, known also as T24 and in past GLOBUS as well, is one of the few core banking solutions where customers can do their local development to better support various business requirements and be more independent from the vendor. Until recently majority of local development was done in Infobasic, but now Temenos is pushing Java API for this.

Yes, local routine development for Temenos T24 was possible already for a while especially after Temenos moved to TAFJ, but it was not adopted much and still majority of clients were using Infobasic for all local development needs. Mostly it was due to the fact that T24 technical resources and developers with Infobasic skills were readily available on the market and it was much harder to find someone with Java skills. Also Infobasic had proven itself already with many clients Temenos had. Fast forward to 2019 and Temenos announcement of Temenos Transact R19. Biggest change here was Java API as well as other technologies for much easier integration with third party solutions as well as compliance with PSD2. For Temenos consultants community  this meant - you have to learn Java quickly, if you want to stay on the market in the long term (more on this a little later).

So... what is Java API for L3 development about? It is about standardised java classes, methods and hooks Temenos has introduced in Temenos Transact to enable so called L3 development that can be carried out by customer itself. Instead of writing authorisation, input and validation routines, you now override relevant Temenos standard methods with your desired functionality as well as use other standard methods to raise errors, overrides or update fields.  Now you might say "Hey, why all the fuss about it? You don't loose anything and can do everything as you could do in Infobasic, just you need to write Java code instead of Basic". Read on...

Yes, one of the main benefits of Java introduction in Transact local development, is that you can enjoy all the benefits Java gives you, much better reuse code, write your own libraries with your standard classes and methods, have better error handling options etc. There are many benefits from switch from Infobasic to Java for Transact local development. It also much better fits in rest of the architecture around Temenos Transact, but...

There are some downsides as well. Temenos provided APIs and methods mean much more control from Temenos on what you can and cannot do in your local development. On one hand it can be understood why Temenos has opted to restrict customers doing L3 development as back in the days, requirements for local development got out of the hand and sometimes customers even managed to overwrite core functions which consequently lead to issues, corrupt data and platform instability Temenos had to deal with. On the other hand Temenos has introduced a little too much restrictions on what can be done using Java API and how.

So, here is a summary of main downsides of Temenos Transact Java API:

  • To update Transact core application records, you cannot use write method anymore, even for local fields. Temenos expects you to use OFS to update anything in core applications. For core application core fields, this is understandable as in most cases such updates trigger cascade of updates in some other tables. For local fields... Why? Sometimes when updating some local field, you don't need any routines to be triggered.
  • You cannot raise errors in CHECK.REC.ROUTINE anymore as Java method defaultFieldValues is meant only for defaulting of field values. Sometimes it is handy to raise an error, especially when you receive data from some interface and based on it, you have to determine some other field values or raise an error, if received data is invalid. With Java API, you may have to roughly repeat the same logic in validateRecord method.
  • Throughout the system with Java API you cannot change values in core application fields, except local fields. Why? It is a good question as sometimes you might have a requirement to change an amount, as an example, based on conditions input in other fields.
  • Even in R20, there are still areas where there are no Java API hooks and thus new requirement for L3 api needs to be raised. If there is requirement for local development in area where there is no Java API, this requirement depends not only on your team, but Temenos as well.

Now a little I will return to my statement on need to learn Java quickly. Currently there are old Temenos Transact installations which get upgraded to latest versions and completely new installations. Main difference in both is that old installations that have been upgraded to lates Temenos Transact releases don't have EXTENSIBLE.CUSTOMISATION set to Y in SPF, which means that client can use either Infobasic or Java for local development or both of them. In new installations there is tendency that EXTENSIBLE.CUSTOMISATION is set to Y in SPF meaning that "no more Infobasic routines for local development". If you have EXTENSIBLE.CUSTOMISATION switched on in your environment, you can use ONLY Temenos provided Java API for L3 development with all it's pros and cons as it is not possible to attache any Infobasic routine anywhere in Temenos Transact.