node package manager
Easy sharing. Manage teams and permissions with one click. Create a free org »


Profound.js modernizes your IBM i with an agile, iterative, and low risk approach that taps into the capabilities of Node.js.

This Profound.js Framework and Server is part of an overall solution that also includes Profound.js Connector, Profound UI, and an automated RPG to Node.js converter provided by Profound Logic.

Features include:

  • Ability for legacy code to start utilizing any Node.js module, and immediately realize the benefits of the open source ecosystem, including the use of Web services, npm, IoT, and Watson in your applications
  • Ability to modernize RPG to Node in a step by step iterative manner, rather than using an “all or nothing” approach
  • IBM i DB2 Node.js driver for both Record Level Access and SQL operations, including support for overrides and QTEMP in an interactive job
  • Ability to code Node.js logic in a top-down manner suitable for transactional business applications (“callback hell” is automatically avoided)
  • Integration with Profound UI’s Rich Display or HTML-based user interface technologies
  • Ability for Node.js modules to act like native ILE programs on IBM i
  • Ability to call RPG, CL, and COBOL programs seamlessly
  • Capability to call 5250 green-screen interactive commands from Node, and having them render as HTML5 on-the-fly
  • Ability for Node.js to be called from RPG, CL, or the command line using a standard IBM i CALL
  • Support for all native IBM i data types and seamless handling of parameters between native programs and Node.js
  • Ability to call any service program procedure on IBM i from Node, including operating system API
  • Ability to automatically expose any existing legacy logic as SOA web services, even when legacy programs are not well-modularized and screen logic is intermingled with business logic
  • Converter can automatically modularize existing code, make it more readable, introduce modern object-oriented concepts, and remove dead code


Profound.js relies on Profound UI (the framework for Rich User Interfaces on IBM i). You should install Profound UI from Profound Logic prior to installing Profound.js.

To install Profound.js, create a new directory and issue the command "npm install profoundjs" as follows:

mkdir profoundjs
cd profoundjs
npm install profoundjs

Npm install will prompt you for the Profound UI static files directory. If you installed Profound UI into its default installation directory on IBM i, simply press enter to accept the default; otherwise, type the path of your Profound UI htdocs directory. If installing outside of IBM i, you should copy the Profound UI htdocs directory from IBM i into your directory.

When installing Profound.js on IBM i, you will also be prompted to install Profound.js Connector IBM i ILE components. These components are required for many of the features provided by Profound.js. Profound.js Connector requires a valid license key. You can request a trial license key by contacting Profound Logic.


The Profound.js installation process will create a start.js file in your directory. It will look something like this:

#!/usr/bin/env node
// Load Profound.js
var profoundjs = require("profoundjs");
// Process command line arguments
profoundjs.rlog = process.argv.includes("-rlog");
profoundjs.tlog = process.argv.includes("-tlog");
// Apply configuration
var config = require("./config.js");
// Start Profound.js server
console.log('Profound.js server running at http://%s:%d/',, config.port);

Using Node, the server can be started as follows:

node start.js

Or, it can be started using the STRTCPSVR command on IBM i.

For more detailed information on how to install and use Profound.js, visit the Profound.js Documentation site.