If you haven’t heard of IBM i, it’s an operating system built for business computing. The IBM i platform is a great platform for Node.js, serving as a mainstay in industries that rely on stability, security, and data integrity such as banking/finance, trucking, healthcare, and the like.
Why Node.js is a great fit for IBM i
Beyond that, Node.js enables cutting-edge technology to easily augment IBM i’s trusted core business logic. Using Node.js, IBM i clients can leverage the strengths of IBM i while integrating with Internet of Things (IoT) devices, REST APIs, microservices, and so on. A recent IDC study shows that many modernization initiatives on the platform are well-suited for Node.js.
Bringing Node.js to the IBM i ecosystem
IBM has been an active player in the success of Node.js, helping to found the Node.js Foundation (now the OpenJS Foundation) and participating in the Technical Steering Committee for a number of years. IBM also helps with the day-to-day maintenance and makes numerous technical contributions with things like ICU support, the Node-API effort, diagnostic reports, and much more. Even with all those contributions, it wasn’t enough to enable the IBM i ecosystem on its own.
Enabling the IBM i ecosystem
Node.js integration with databases is also important. Clearly, Node.js applications needs to communicate with the embedded database, Db2 for i. To satisfy this need, IBM created npm packages ( idb-connector and its promises-based idb-pconnector counterpart). These packages provide a zero-config, highly-performant library for running database operations.
IBM also took on leadership of the Node.js ODBC library, which allows users of any platform to leverage existing ODBC drivers for connectivity. For IBM i users, this is convenient because there are ODBC drivers that run on Windows, Linux, Mac, and IBM i itself.
The result: Rapid Node.js adoption
With the key components in place (environment integration and database integration) Node.js put down roots and grew quickly in the IBM i community. The IBM i community has user groups all around the world (the largest being the COMMON North America user association). Before long, Node.js was a highly discussed technology at meetups and conferences. It also became a regular discussion topic in social media channels. In its first year on the platform, Node was already used by 8% of the IBM i customer set. As you can see, it has taken a stronger foothold each year.
Customer success stories
The success of Node.js in the IBM i ecosystem is reflected in the number of customers willing to talk about their solutions built with Node.js.
Some examples include:
- Cras Woodgroup successfully deployed Node-RED to integrate with programmable logic controllers (PLCs) throughout their manufacturing process. Their next-gen solution reduced lead times by 66%. Read the case study.
- H/T Bendix, a Danish distributor of furniture fittings, was able to use new skills and Node.js to build their web presence and product catalog. Read the customer story.
- SAIB, a wood manufacturer from Italy, integrated IBM i with Amazon Alexa to improve the efficiency of sales staff. Read the customer story.
- FormaServ created a digital gateway to streamline companies’ use of the UKs digitized tax collection system (“Making Tax Digital”). Read the story.
Looking ahead to the future
IBM is committed to the success of Node.js on IBM i. Not only does IBM continue to be an active participant in the open source community, the company continues to provide community support for Node.js and the various integration libraries mentioned in this article. On top of that, IBM offers premium support so that clients can call on IBM for assistance at any time, and from anywhere.
With IBM’s support, the momentum of the community, and the fantastic synergy with the IBM i operating system, I expect Node.js will be a critical part of companies’ IT solution for many years to come. That’s what I call an ecosystem success story!
If you’d like to catch up on the other things that IBM and Red Hat are doing on the Node.js front, you can check out: