Call/Parm Your Open Source Apps from RPG and CL with QSHCALL

QSHONI integration for IBM i RPG, CL and open sourceA few years back I created the QShell on IBM i (QshOni) project to allow QShell/PASE (open source) apps to be more easily integrated and used with traditional IBM i job streams written in RPG and CL. Since then, many developers have adopted QshOni to utilize their open source apps in conjunction with their classic traditional apps.

Recently I added several new commands to QshOni to make living the PASE life even easier for RPG developers. Today’s focus will be on the QSHCALL command.

Read more

IBM i API Examples Using RPG, Node.js, PHP, and Python

The Toronto User Group recently invited Alan to speak with them about how to implement secure, flexible APIs to connect IBM i applications to other systems.

Using several real-world code examples written in various free tools and languages—including RPG, PHP, Python, and Node.js—Alan demonstrated how others send and receive data safely using their favorite language paired with IBM i business logic. This video contains the details.

Read more

What’s New in Open Source on IBM i

Open source on IBM i is moving fast these days. Alan recently shared his favorite updates to IBM i open source—focusing on improved security, performance, and ease of programming—at a Summit Lunch & Learn hosted by Paul Tuohy.

Read more

curl Your RPG Apps with QSHCURL

curlIn this post we’ll take a closer look at how IBM i developers can use the QSHCURL command to easily reach out from CL or RPG and talk to internet-based services and APIs, then consume the resulting data, without a lot of extra effort.

First we’ll provide a short curl intro, and then we’ll look at an example of how to use the PASE-based curl command with an RPG program.

Read more

Tips for Fast, Reliable Open Source on IBM i

Open source continues to gain traction in IBM i shops, and for good reason. It excels at delivering new interfaces and functionality for RPG and COBOL applications, plus it broadens the talent pool for your development team.

Read more

Encrypting IBM i ODBC Connections from Linux with TLS/SSL

ODBC with Db2 for IBM i

ODBC connections between Linux and IBM i should be encrypted to keep their Db2 data safe in transit.

To encrypt ODBC data, IBM recommends the industry-standard TLS encryption protocol (the successor to SSL).

Read more

ODBC Connection Strings for IBM i Db2

ODBC with Db2 for IBM iAs ODBC gains popularity for IBM i database access, developers of web applications and APIs need information on defining ODBC database connections. This article demonstrates tips and techniques for effectively using ODBC connection strings in all programming environments, including popular languages such as PHP, Python, and Node.js.

For an example of how connection strings are used in a program, see How to Query IBM i Data with PHP and PDO_ODBC.

Read more

Visual Studio Code for IBM i: A Resource Guide

UPDATED 11/20/2024

Code for IBM iVS Code for IBM i offers an alternative to RDi, the heavy-duty, fee-based graphical IDE for IBM i, and SEU, the native green-screen IDE. It’s faster than RDi and easier to learn than either RDi or SEU. It supports development in RPGLE, COBOL, JavaScript, PHP, Python, Node.js and other languages.

Thanks to Liam Allan and other IBM i community members for creating this IBM i extension to the popular Visual Studio Code.

Read more

How Update-Alternatives Manages Multiple Versions of Python, Node.js, and other Open Source Packages

parallel versionsAfter a friend installed Python 3.9 side-by-side with Python 3.6, he asked, “I noticed that the newer version, Python 3.9, became the default on my IBM i system. How did the default version get set?” We explained how IBM used the update-alternatives program to set the default version of Python and other open source software packages.

Read more

Integrate Python into CL & RPG on IBM i – 2021 Update

python trainingPython on IBM i has proven itself as a tool for building utilities to create/read Excel files, transfer data, automate processes, call REST APIs such as Salesforce and ServiceNow, monitor applications, and more. What was missing was an easy way to use the power of Python from CL and RPG.

In 2019 we introduced you to the PYRUN command for running Python scripts from CL and RPG programs.

In this post we introduce you to QSHPYRUN, the next generation of PYRUN and part of Richard Schoen’s open source QShell on i Library – QshOni. QSHONI makes it easy for traditional CL and RPG programs to call Python utilities and use their output. This is supported via the QSHPYRUN command. QSHONI also supports general calls to other QShell, PASE and bash calls via the QSHEXEC and QSHBASH commands. This means QSHONI commands support calling Python, Node, PHP, Java and all things open source, making QSHONI much more versatile than the standalone PYRUN command was. The QSHONI commands can safely live side-by-side with the PYRUN command because they live in different IBM i libraries. This allows for migration to QSHPYRUN to  happen as needed. Read more