Knowing Node
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. If you haven’t been introduced to Node.js, the first thing to know is that it is mostly referred to as Node. The .js, which is a reminder that this is a combination of JavaScript APIs, dropped. The second thing to know is that Node is a programming language for both client and server, which means it is useful for constructing programs that run on the front end and the back end, the two sides of the whole of an application. (Systems of engagement and systems of record, as they are sometimes called, both have these front ends and back ends, and you can use Node on both or a mix of Node on the front end and something else on the back end with Node acting as a proxy for that back end.) 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. RELATED STORIES Profound Logic Taps Node.js and COBOL For New Directions Responsive Design, Node.js Top BCD App Dev Enhancements A Peek At Upcoming Open Source Enhancements In IBM i GCC: Bringing More Open Source Software to IBM i Experimental Node.js Chatserver For IBM i
|