What’s New In Open Source With The Latest TRs – IT Jungle

April 27, 2020Alex Woodie

New technology is exciting. And when it can help you run your business more profitably or efficiently, well, it becomes very exciting. With IBM i, the open source community is arguably the biggest contributor of new technology to the platform. IT Jungle recently checked in Jesse Gorzinski, the IBM i open source architect, to hear how the open source story has improved with the recent technology refreshes.

Arguably the biggest open source-related enhancement with IBM i 7.4 TR2 and 7.3 TR8 revolves around a change in RPM, the new delivery method that IBM adopted two years ago to distribute new and updated open source libraries to IBM i users.

Up until now, IBM i shops had to connect their IBM i server to the Internet to access the RPM repository that contains IBM i distributions of open source software, such as Node.js, Python, and PHP. But thanks to the new support for SSH tunneling in this months unveiling of 7.4 TR2 and 7.3 TR8, customers can now shuttle the open source libraries from an adjacent PC workstation running ACS, eliminating the need to expose the IBM i server to the Internet.

Tunneling support will remove an obstacle to adopting open source, Gorzinski says. When it comes to installing the RPMs, that was one of the most common obstacles weve seen our clients hitting, he says. We say, go install Nginx or Node.js, or whatever, and it fails because their IBM i system doesnt have that outbound access to the Internet.

Now these IBM i shops can partake of the RPM open source goodness without putting their crown jewels in dangers path. Some of our clients know how to work around that well, Gorzinski says. You dont have to have your IBM i exposed for incoming connections in order to be able to talk out. But depending upon security rules and auditing requirements and so on, that was a challenge for some of our clients.

There isnt a lot in the way of new open source packages in IBM i 7.4 TR2 and 7.3 TR8. The one exception to that is the addition of jq, a popular command line utility for working with JSON data. According to Gorzinski, jq likely will become the go-to tool for IBM i folks who want to quickly get stuff done with JSON.

Over the past several years, weve found clients having a greater and greater need for interacting somehow with JSON, the IBM business architect says. Some people are talking to public APIs that return JSON. Maybe theyre getting data from a vendor or supplier or partner in JSON format. Maybe they need to manipulate JSON fields. Maybe they need to integrate JSON into the database.

Those are some of the scenarios where the user may reach into her bag of tools and pull out jq, which was written in C and released for the first time back in 2013. The most recent release of jq was in 2018, with version 1.8, according to the jq Github page.

With jq, if youre running this open source stack, you might find yourself in a situation where just having a powerful command line utility is the right tool for the job, Gorzinski says. It can create JSON. It can digest things. You can query things out of JSON. You can reformat JSON. Its a pretty powerful little tool and its actually pretty simple to get started.

The OpenSSL encryption libraries have also been refreshed with IBM i 7.4 TR2 and 7.3 TR8. Gorzinskis team spent time ensuring that IBM i shops have access to the latest and greatest OpenSSL release, which is version 1.1.

On IBM i, OpenSSL is used primarily to encrypt data flowing into or out of applications developed with open source technologies, such as Node.js or Python. Customers that are doing native (i.e. traditional ILE) development or are hosting traffic from the integrated HTTP server (the one powered by Apache) are encouraged to use the system security libraries.

Its important to get customers to upgrade to OpenSSL 1.1, Gorzinski says, because it supports the latest ciphers, including those contained in TLS 1.3, the current standard for securing Web traffic.

We actually had OpenSSL 1.1 and TLS 1.3 running on IBM i the day that the TLS 1.3 protocol was finalized, in the open source stack at least, he says. Version 1.0 is completely end-of-life in the open source community. So we moved everybody up to 1.1 and have been working to make sure that everything works with 1.1.

Python also sees some Db2 connectivity enhancements with IBM i 7.4 TR2 and 7.3 TR8, which are slated to become available on May 15. Specifically, IBM has added an adapter that allows for development and deployment of IBM i applications through SQL Alchemy.

SQLAlchemy is a Python SQL toolkit that helps developers get the most out of databases, according to the SQLAlchemy website. One way it does this is by using an Object Relational Mapper that allows Python classes to be mapped to the database in open ended, multiple ways allowing the object model and database schema to develop in a cleanly decoupled way from the beginning. In short, SQLAlchemy supposedly gives developer the benefits of both object and relational development paradigms, without compromising on either.

IBM has also added pyodbc, a popular Python ODBC bridge, to the RPM delivery method. Pyodbc implements the DB API 2.0 specification and is designed to simplify the process of connecting a Python application to a database. By installing the python3-pyodbc package, you can now use the IBM i Access ODBC driver to communicate with Db2 for i from Python programs, IBM says.

There is more open source stuff coming to IBM i in the months to come, Gorzinski says. Python may have been the focus with these TRs, but Node.js will be the focus next.

There are a couple things were announcing in this TR in the Python ecosystem but you can imagine we are continuing to invest in the Node ecosystem as well, he says. The stuff thats coming down the pike are more IBM i integrations and probably some extra frameworks that are out there. We have had in the works for a while the i toolkit library for Node.js, which is the way you integrate with RPG code straight from a Node.js application or CL commands or SQL. Weve had an alpha release thats been in the works for quite some time, and that has some powerful improvement as well that were going to see released in the coming months.

For more information on the open source aspects of the latest TRs, check out the IBM i YUM repository at ibm.biz/ibmi-rpms. To read the IBM Software Announcement for IBM i 7.3 TR8, click here. To read the IBM Software Announcement for IBM i 7.4 TR2, click here.

Heres Whats In the Latest IBM i Technology Refreshes

Database Enhancements Galore In Technology Refresh

RPM And Yum Are A Big Deal For IBM i. Heres Why

Read the original:
What's New In Open Source With The Latest TRs - IT Jungle

Related Posts
This entry was posted in $1$s. Bookmark the permalink.