Break Out Of Your RPG Comfort Zone
October 29, 2018 Amanda Blackburn
(Sponsored Content) IBM i developers, like all developers, can get stuck in a rut sometimes. The well-worn path that RPG provides is familiar and reassuring, but it doesn’t necessarily lead your company where it needs to go. That’s why exploring newer IBM i language alternatives, like Node.js, can provide a fresh path towards the goal of business innovation.
The rapid ascent of the Node.js programming language over the past five years has been well-documented. While Java remains a popular business language, Node.js is now the world’s most popular development framework in all of computing, according to the 2018 Stack Overflow survey.
Node.js has been available on the IBM i platform since 2014, when IBM unveiled its first Node.js for i offering. The port of Google’s Chrome JavaScript server runtime runs in parallel to the Apache Web server and essentially enables JavaScript applications to act as their own Web server, but without incorporating the overhead and complexity of an HTTP server. The language has resonated well with a subset of the IBM i community that is willing to get off the beaten path and try promising new technologies.
One IBM i shop that’s charting a way forward with Node.js is Dayton Freight Lines. With a fleet of 1,500 trucks and nearly 4,000 trailers, the Dayton, Ohio-based shipper provides less-than-truckload (LTL) and logistics services to thousands of customers across the Midwest. The company touts a 98.6 percent on-time delivery rate, which is the pride of its 4,500-strong workforce.
Like many trucking firms, Dayton Freight Lines (DFL) relies on the bullet-proof IBM i server and employs its share of RPG programmers to maintain critical IBM i applications. However, the systems were beginning to show their age and therefore some modernization needed to take place.
There were several aspects to the project. For starters, DFL needed to combine multiple methods of measuring and charging for different sizes of loads, since maintaining two separate applications resulted in redundant development efforts. The payment and freight billing system also needed a refresh, since keeping the two systems in sync required upwards of 30 minutes of manual data entry per order.
DFL also wanted to modernize the customer quoting system, which generated rudimentary emails that were sent to customers, who could either accept or reject the quote. The PDFs were not good looking, which didn’t help chances for acceptance. Finally, much of DFL’s systems were 5250 greenscreen, and needed some “freshening up,” as it were.
The company selected Node.js and Profound Logic’s Node.js development framework, called Profound.js, to help with this modernization. Ryan McNeil, a senior systems developer with DFL who has been working with RPG for 12 years, was tapped to help with the project.
“Knowing nothing about Node.js, it was surprisingly easy to learn,” McNeil says. “We used Pluralsight and Code School to get started with the fundamentals of Node and dove into Profound.js for development. Understandably, the most difficult obstacle to overcome was the asynchronous nature of Node. It was a rather difficult concept to grasp, especially when you are used to more ‘transactional’ based business logic.”
The availability of open source building blocks in Node.js made McNeil’s job of developing code that keeps the two systems in synch much easier, he says. “With everyone moving towards REST services now, Node has cut down on the time it takes to consume web-services, parse out the JSON, and integrate that information within our existing system,” McNeil says. “With Profound Logic’s Universal Display files, we can even provide those REST services.”
Profound even helped with the final deliverable: a clean-looking Web page or PDF document that DFL customers can easily read to see the status of their shipments. “PDF/HTML generation has become much easier, with even better-looking output,” McNeil says. “With the Web interface that Profound UI provides, we can now generate some nice-looking business tools that were not possible with RPG alone and embed them into our existing RPG programs.”
DFL has taken “a conservative approach” to modernizing with Node, McNeil says. However, that didn’t prevent the company from winning the 2018 COMMON Innovation Award at the recent POWERUp conference.
“We still develop most applications in RPG, and I don’t see that changing soon,” McNeil says. “However, we are encouraged to use Node when it would make things easier or provide functionality that RPG cannot.”
Another popular transportation company and IBM i shop is also getting traction out of Node.js. The business relies on IBM i technology to keep the wheels moving and the costs low.
However, like DFL, this transportation company needed a find a new path forward for its systems. As part of the application modernization effort for its RPG-based applications, transportation company’s IT Application Architect, Barnabas Muthu, considered a range of approaches, including CGIDEV and even writing Java front-ends to the IBM i back-end.
That Java approach would not fly. “With Java, it’s heavy weight and we ran into roadblocks,” Muthu says. “Communication between front and back end wasn’t always easy and seamless, and required batch updates.” Muthu was a fan of JavaScript, however, and “when Node came around, I took the time to learn it,” he says.
As a publicly traded company, however, relying on messaging boards for open source software, or supporting oneself, isn’t really an option, so the company sought commercial solutions. The company eventually found its way to Profound Logic and its Profound.js framework.
Today, this transportation company is finding Node.js a better fit than traditional RPG or COBOL development. Muthu says the technology simply works better with today’s microservices and Web API approaches, especially when JSON is involved. “Node also simplifies e-commerce and working with Web APIs,” he says. “Larger XML and batch updates aren’t as simple as using Node.”
Muthu says Node.js has a quick learning curve, particularly with the availability of frameworks (like Profound.js), other packages, and the Node development community. “It’s very easy to learn and implement in the business,” he says. “I see where my industry is going, and what is required to take it into the future. RPGLE is running great for our business code/transactional code. Node doesn’t eliminate RPG – it works seamlessly with it to provide a complete front-to-back end solution.”
IBM i shops have a wealth of value in IBM i systems and abandoning those applications would decimate that value. Besides, when vendors like IBM and Profound are working to integrate modern technologies like Node.js with IBM i and RPG-based business processes, why not take advantage of it? It seems like a simple question, but one that far too many IBM i shops don’t bother to ask.
“The benefits of using Node.js on IBM i are numerous,” says Alex Roytman, CEO of Profound Logic. “With our package of Node.js development tools – 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 Internet of Things. They will be able to retain their existing IBM i investment while enjoying the latest in cutting edge business capabilities. It really is the best of both worlds.”
Breaking free from a rut can seem daunting at first, but once complete, is a reason to celebrate. Hopefully the stories of DFL and Ryder Last Mile can provide some guidance for IBM i shops that are hesitant to break out of their own legacy ruts.
Amanda Blackburn is director of marketing at Profound Logic.