Profound Digs Deeper Into Node.js
May 10, 2017 Dan Burger
All things considered, most IBM i shops would prefer to retain and enhance their investments in a stable, secure and proven system than accept the risk and expense of rewriting applications in another language or migrating from the platform. And why not? The IBM i is a modern business computing system capable of handling sought after technologies such as mobile, analytics, open source and cognitive.
For companies aiming to enhance their IBM i environments, Profound Logic Software has just released Profound.js 2.0, a methodology for enhancing applications that uses a combination of Node.js and RPG in an agile development environment.
“The benefits of using Node.js on IBM i are numerous,” says Roytman. “With Profound.js, companies will be able to integrate new or converted Node.js applications with their existing RPG applications, as well as open up a whole new world of open-source possibilities on IBM i, including Watson and the Internet of Things.”
IBM i developers who are used to coding in a transactional style would typically find coding in Node.js somewhat difficult because of its “callback” style, which is a separate thread or callback, which doesn’t work well with procedural logic used by most RPG programmers. Developers in the Node.js community refer to this with the term “Callback Hell.”
“It’s a mental hurdle or paradigm shift that developers must hurdle. We have a way of making that simple,” Roytman says.
Also in the framework is a Web server, which avoids building programs from scratch. Error handling, module caching, and hot reloading are also built in. It’s built for business application development.
The Profound.js Conversion Module is licensed software that converts RPG programs to Node.js. The conversion brings use of any open source NPM component without removing the existing capabilities of RPG and IBM i. The Connector module adds the capability for existing RPG programs to directly call Node.js modules, and integrates Node.js, RPG, PHP, and Java. It also allows the direct integration between Node.js user interfaces and RPG program displays. Database drivers that support robust, top-down integration with SQL or Record Level Access methods are built in. And access to IBM i resources, such as data areas and low-level system APIs, is also part of the package.
The previous version of Profound.js, which was introduced a year ago, was not downloadable. It was a product that Profound worked with customers on a one-on-one basis. The converter module continues as a product that Profound works with customers to deploy.
“It allowed us to perfect some of the capabilities and processes,” Roytman says. “We have plans for this tool, but we will go through more iterations before this becomes a conversion tool that can be put in the hands of a customer. But what is provided is a tool that can do interconnected development that allows Node.js to call RPG and RPG to call Node.js. We are making Node.js act like an ILE IBM i language. That means the compatibility is preserved and small portions of the applications can be moved to Node.js incrementally without affecting dependencies.”
JumpStart is a module within the Profound UI suite that enables developers to quickly generate RPG or PHP application code. Prior to Profound UI 5.8, released two weeks ago, this module only generated code to operate on a single file. Now it generates code to handle multiple files in a file-maintenance, or CRUD, program. This new feature allows a program to use lookup fields in grids and detail screens.
Additional improvements to JumpStart includes the ability to handle null database fields in the RPG program and support for alternative field names to be used in the display file and RPG or PHP program.