GnuPG PHP Extension for IBM i: Now Included with Seiden Support

GnuPG logoAt Seiden Group, we listen to client requests that keep their IBM i applications secure, modern, and practical.

Recently, a customer asked us to port the GnuPG (GNUPG) PHP extension to IBM i. This extension is now available to Seiden Support subscribers.

Read more

C​reating a Debug Log with the PHP Toolkit for IBM i

PHP on IBM iOne of my favorite features of the PHP Toolkit for IBM i is its ability to generate a detailed debug log. The log includes connection information, program call options, parameters in and out, and performance timing. When we receive questions about the toolkit as part of our SmartSupport, a debug log helps resolve the question quickly.

Why use the PHP Toolkit? It can call commands, RPG, COBOL, and CL programs, flexibly and fast. The debug log can make troubleshooting easier than with other methods that don’t have a log, such as stored procedures.

Read more

Finding Security Fixes for Apache on IBM i

API and web security for IBM iThe Apache-based IBM HTTP Server for i is a vital defense in web and API security for IBM i. As such, it requires regular attention.

IBM Support’s PCI Compliance web page is a resource we use to help our clients protect their systems.

Even if your organization does not process, store, or transmit credit card information, applying the PTFs recommended for PCI compliance constitutes a general best practice for IBM i web and API security.

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

Install and Use Node.js iToolkit for IBM i

node.js ibm iNode.js has joined other popular IBM i open-source technologies, such as PHP and Python, for web application and API development. A server-side runtime for JavaScript, Node.js can run both on IBM i and on other platforms such as Linux.

The Node.js iToolkit lets you leverage your company’s investment in RPG and COBOL business logic while developing front ends and APIs with Node.js. As with Node.js itself, iToolkit can run on your IBM i or can connect to IBM i from your PC or an external web server.

This post explains how to install Node.js and its iToolkit on your IBM i, then use iToolkit to call an RPG service program.

Read more

Case-Insensitive Queries using ODBC on IBM i

ODBC with Db2 for IBM iWhen querying for character data using SQL, case matters. “A” is not equal to “a”. Even so, you might want to find all matches, whether uppercase, lowercase, or mixed case.

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

Use IBM’s Apache Directive Finder Instead of Google

Apache HTTP Server ProjectWhen it comes to finding information on HTTP Server for IBM i (based on Apache), Google is NOT the way to go!

Recently Calvin did a web search for Apache’s ServerUserID directive. It returned old forum posts that could have taken anyone down a rabbit hole—a waste of time at best.

Read more

Easy Security Improvements for Apache Websites

Apache HTTP Server ProjectSome key security measures, such as using TLS encryption (https://) are taken for granted. Others are often missed until they are flagged by a security scan.

Here are two easy changes that have helped some of our clients reduce perceived vulnerabilities.  These changes, typically made in the Apache web server’s httpd.conf files, may stop unnecessary exposure of web server information, as well as satisfying security scanners.

Read more

Simplify with Subsystems

IBM iA major differentiator of the IBM i operating system is the use of subsystems to separate workloads, often for managing memory and optimizing performance. While those are still valid reasons for separating work into multiple subsystems, today’s large memory sizes and fast processors reduce the need to optimize performance in this way.

In this article, I’ll explain how subsystems can make today’s web-oriented application workloads much easier to manage. Read more