October 24, 2016 Dan Burger
Node.js is not just one of many open source components that are riding in the IBM i bus these days. It is the one that is most talked about these days. There are many notable IBM i open source passengers on the bus including, the Apache web server, Java, PHP, MySQL, Ruby, Python, and Perl. IBM has done a good job making the platform less proprietary. But Node.js is the one to watch.
The benefit of programming an entire application is not lost on RPG green-screen developers, say what you like about the appropriateness of the green-screen presentation in 2016.
What remains unknown to those who haven’t investigated Node are the user interface widgets that simplify and speed the development process and the adaptability of the Node framework that removes a great deal of the complexity that’s typically involved with building and running scalable, data-intensive Web applications.
It is used in applications where the fast manipulation of data is important to the application. It is also known for its lightweight code and its multi-platform capabilities. In addition to IBM i, it is also at home on Windows, Linux, IBM AIX, and IBM System z platforms.
Two of the prominent IBM i software vendors BCD Software and Profound Logic have latched on to Node for their own product development. Both have existing application development/modernization tools based on PHP that have been popular in the IBM i community.
“Although Node.js sounds like a new technology, it’s been around since 2009. We’ve seen the adoption of the technology on other platforms and we’ve seen big companies creating critical applications using Node.js. These are indications of the future for this technology. We feel the time is right,” Marcel Sarrasin, vice president of corporate marketing at Fresche, said in an interview with IT Jungle earlier this year.
BCD introduced WebSmart Node.js, a desktop and mobile Web application development tool, in May. The license fee has been waived, but a support agreement that covers installation and tech support is required.
At Profound Logic, CEO Alex Roytman predicts Node.js will have a noticeable impact in the IBM i community. Profound UI, the company’s core application development tool, will soon be available in a Node version and an RPG to Node conversion tool is being developed.
“I wouldn’t say every RPG shop should start converting all their code to Node, but it might be a good fit for a subset of RPG shops,” Roytman said. Because RPG is the development language of the back end, it’s not uncommon to find cases where the code is monolithic and incapable of accomplishing what modern code accomplishes. This is the high maintenance code that drives IBM i shops to consider migration as an option to the existing efforts to keep that old code running.
Converting existing code to Node code makes it easier to maintain and understand if an organization has the Node skills.
Support for Node on IBM i became available in late 2014. Support for the most current version of Node, Node.js V6, is coming, probably before the end of the year.
Roytman says Profound’s development team will move to it as soon as it’s available.
“For our framework, the performance and security enhancements will be important. Buffers were improved and we use these heavily to extend Node.js to support all of IBM i data types, which is also critical to us for integrating Node.js with RPG/CL and other ILE languages,” he says. “The new features will make our job easier and will also make the job of implementing our technology easier for our customers.”
IBM’s support of the latest open source version of Node is a sign of commitment that is appreciated, Sarrasin says, while noting the company always keeps pace with new releases that IBM i supports. The performance and functional improvements that come with Node V6 will be incorporated into WebSmart Node.js.
There is an IBM i open source community (IBMiOSS) on LinkedIn with more than 650 members, where you can get down and nerdy with Node programmers and other open source advocates. Another source of information is the IBM developerWorks Node.js page.