Visual Studio Code, RPG and Code Coverage

2023 Update

The Code Coverage extension for VS Code for i remains in development
and is unavailable at this time.


This is the second post in my series on RPG and COBOL development using Visual Studio Code and Code for IBM i. Today’s topic is Code Coverage.

Read more

Visual Studio Code, RPG and IBM i

Visual Studio Code 1.35 iconVisual Studio Code is an IDE and platform for developers to write backend, progressive web apps, frontend, and everything on the spectrum of development. I have created an extension for VS Code, called Code for IBM i, that allows users to work on and maintain their IBM i code. VS Code is the best IDE for extensibility, which is why I wanted to take on such a task.

While Visual Studio Code was built to work with all languages, in my opinion it didn’t have much support for RPGLE or COBOL on IBM i until this point. We’re streamlining RPGLE development in terms of tools and speed for our users. We want to make developing RPGLE and COBOL easy for everyone in the most efficient way possible.

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

Tutorial: Integrate Node.js with RPG without a Connector

Node.js IBM iWe’ve been hearing from clients wondering whether they need commercial connectors to integrate open source technology with Db2, RPG, and COBOL data.

Liam Allan has shown the power of using open source tools that are available to everyone. He recommends accessing IBM i business logic and data using open source tools, without proprietary connectors.

Read more

How to Validate Self-Signed SSL / TLS Certificates from IBM i

(Co-authored by Gautier Dumas and Calvin Buckley)

When we use open source languages such as PHP, Python, and Node.js on IBM i to help companies build and access APIs and other resources, we expect these resources to be protected with encryption (for example, the https:// protocol). Further protection is provided by an SSL / TLS certificate that can be authorized, or signed, by a popular certificate authority such as Verisign,  Comodo, or Let’s Encrypt, or signed internally by the company itself.

Self-signed certificates are most useful in situations where public trust of a certificate is unnecessary, such as:

Read more

Node.js and IBM i – Getting Started Guide

This guide will outline writing your first Node.js application. Node.js is a packaged version of the V8 Javascript engine, created by Google and shipped in Chromium. Although Node.js is cross-platform, specific tips for IBM i are given in section 8.

Welcome Back, MariaDB!

Getting Started with MariaDB on IBM i

MariaDBMySQL and MariaDB have long been databases used in the Linux world for popular web apps in PHP and other languages. The collective development components—Linux, Apache, MySQL and PHP—are often called the LAMP stack. When PHP was released on IBM i in 2006, the combination of IBM i, Apache, MySQL and PHP became known as the iAMP stack.

Read more

Porting Extensions to PHP 8

open phpPHP 8 has been the biggest change to PHP in years. While PHP 8’s JIT compiler gets most of the publicity, more significant to most developers would be PHP 8’s changes that encourage better coding practices. PHP 8 pushes developers to use clearer syntax and is stricter with problematic code.

While the PHP runtime itself has improved, what about extensions such as ibm_db2? What changes do extension developers need to make to adapt to PHP 8? As maintainers of the ibm_db2 and PDO_IBM database extensions, we’ve learned what it takes to make PHP extensions compatible with PHP 8.

Read more

Integrate Python into CL and RPG on IBM i

python trainingPython has been gaining momentum for building utility applications on IBM i, such as creating/reading Excel files, data transfer, process automation, calling REST APIs such as Salesforce and ServiceNow, and application monitoring.

Although some have said that Python would become the “new CL,” one limitation remains. While Python can easily call CL, RPG, and COBOL programs, calls in the other direction—from CL, RPG or COBOL to Python—required extra effort.

Read more

Liam Allan Joins Seiden Group

Liam AllanWhen IBM i development pros first meet Liam Allan, they’re captivated by the unrestrained enthusiasm he exhibits for their favorite platform. His excitement over what can be accomplished with IBM i technology leaves people refreshed and inspired.

Those who have had the pleasure of working with Liam know that his energy and intelligence are only the beginning of what he has to offer. He also possesses exceptional skill AND the depth of understanding required to turn his ideas into reality.

Read more