The Thinkwise Platform provides extensive, out-of-the-box support for the DB2 for IBM i database management system for many years already. That is why we have a large number of customers that successfully use the Thinkwise Platform to modernize their legacy DB2 application landscape. This is also recognized by IBM, who named Thinkwise as Best IBM Business Partner of the Year in Europe in 2009, and awarded one of our customers with the Most Innovative IBM i User of the Year award because it used the Thinkwise Platform.
However, IBM did (and still does) not make things easy for us.
When we started, IBM was still in the process of replacing their Classic Query Engine (CQE) with the much faster and more powerful SQL Query Engine (SQE), and we have been in regular contact with IBM about bugs in these query engines that nearly drove us insane. With the necessary adjustments and bug fixes by IBM and some workarounds in the Thinkwise Platform, we were able to solve these problems, and the Thinkwise Platform now offers the fastest, most powerful and flexible solutions to get rid of RPG legacy while still being able to use your existing IBM i databases. This is a huge advantage and often even a hard requirement, given the investments that many companies have made in IBM hardware.
It's all about the drivers
Back in 2007, our Java Desktop and Web user interfaces used the IBM Java database drivers, and for .NET applications IBM offered the .NET Data Provider as part of the iSeries (later IBM i) Access for Windows bundle. Since 2019, this .NET driver has been included with the Windows Application Package of the successor to the IBM i Access for Windows, IBM i Access Client Solutions.
Besides the fact that the .NET Data Provider driver does not seem to be actively developed anymore, there are also two other problems with it:
- The driver must be installed separately on the system and cannot be provisioned with just the binaries as part of the Indicium application tier. This limitation makes it impossible, or at least a lot more difficult, to use in managed cloud solutions on, for example, AWS, Azure, and Google. Using virtual machines or preferably Docker containers is of course possible, but then you miss out on a number of benefits of managed services in terms of performance and scalability, security and more.
- The driver is not compatible with the latest, cross platform version of .NET – .NET Core – so it cannot be used natively with the Thinkwise Indicium application tier. This means that the Thinkwise Indicium application tier must fall-back to the older .NET version for use with these DB2 drivers, which lacks a lot of the benefits of the .NET Core like the far better performance. For more information about the differences between the two .NET implementations, see this page: https://docs.microsoft.com/en-us/dotnet/standard/choosing-core-framework-server
Fortunately, sometime after .NET Core was released, IBM also provided new .NET Core-compatible DB2 drivers. These drivers are available for multiple platforms and most importantly, they no longer require to be installed separately. They can be packaged together with the Indicium runtime, making them perfectly suited for use with the Thinkwise Platform in managed cloud services.
But there is a catch. A big catch…
You can use the DB2 .NET uCORE] provider to access all supported Db2 database servers and Informix database servers.
To connect to Db2 for z/OS and IBM Db2 for IBM i servers, you require the Db2 Connect Server license.
Source: https://www.ibm.com/docs/en/db2/11.5?topic=adonet-data-server-provider-net
So, to connect to IBM DB2 for IBM i, you now need an additional DB2 Connect Server license when using the latest drivers. And it will cost you: the price for a DB2 Connect Server license can be up to $20,000 per year per server. IBM requires you to pay extra to access your own data on a DB2 server you already own.
Various Thinkwise customers have already contacted IBM about the additional DB2 Connect license required to use the new drivers, but unfortunately it does not appear that IBM will offer a solution for this anytime soon. Fortunately, Thinkwise does provide an alternative.
Using the license-free drivers
To save our customers the additional licensing costs of a DB2 Connect license, we invested in supporting the existing, license-free drivers with the latest .NET Core version of the Thinkwise Indicium application tier ourselves. It works by establishing a custom developed communication layer between the .NET Core Indicium application and the .NET Framework DB2 drivers.
This solution does induce some performance degradation compared to using the driver directly, but it allows you to use the latest Thinkwise Indicium without additional IBM license fees for on-premises deployments or Docker containers. Managed cloud services are unfortunately not supported because the driver still needs to be installed separately.
Please refer to the Thinkwise documentation for installation instructions and limitations.
Try out the .NET Core drivers
We still recommend using the new .NET Core driver instead of the old iSeries driver because of the vast performance improvements, especially if you own a DB2 Connect license, even though this new driver also have some minor drawbacks that you should be aware of,
If you want to try out the new driver: we have a trial license available at Thinkwise that you can use for testing purposes. You don't even actually need to install DB2 Connect, just copy the license file to the appropriate folder of the Indicium application tier as described here.
Please contact your Thinkwise representative for more information. We are happy to support you.