IBM Delivers Node.js Runtime to IBM i 7.1 and 7.2
October 14, 2014 Alex Woodie
Among the many announcements made by IBM last week was the revelation that it has built a Node.js runtime for the IBM i operating system. The move to adopt the cross-platform JavaScript framework is another indication that IBM is working to keep the platform current with the latest Web technologies. Node.js is essentially a framework designed to take some of the complexity out of building and running scalable, data-intensive Web applications. The framework was created in 2009 by Ryan Dahl, who was tired of the “request-response” paradigm that has characterized the Web and wanted Web apps with “push” capability, like Gmail. Dahl built Node.js to follow an event-driven paradigm that allows applications to communicate asynchronously via file, socket, and HTTP connections. In short, Node.js basically allows applications to act as a Web server, but without incorporating the overhead and complexity of an HTTP server. Either the client or the server can initiate communications, and the whole enchilada was built for scalability. It’s sort of like programming in Flash or using Java Applets, but without the hassle of going outside Port 80. So what does this have to do with IBM i? Well if you’re still coding RPG the same way you were in 1985, there’s probably not much for you here. But if you’re among the forward-looking programmers who are adopting new programming languages like JavaScript to push IBM i-resident data out to HTML5-enabled Web browsers and mobile devices, then Node.JS support with IBM i will be important to you. Node.js programs are written in JavaScript, so if you have JavaScript in your big bag o’ skills already, then you’re one step ahead of the game. According to IBM’s software announcement letters, Node.js for i is based on Google‘s Chrome JavaScript server runtime. IBM did whatever it had to do to get it to run on IBM i 7.1 Technology Refresh 9 (TR9) and IBM i 7.2 TR1, where it’s available via the licensed program 5770-DG1. On top of the core Node.js functionality, IBM built some extensions to get access to the DB2 for i database, as well as to get access to native IBM i objects, such as programs, commands, data queues, data areas, spool files, user spaces, jobs, system values, and environment values. So essentially, IBM is giving developers the capability to expand their existing IBM i environments out into the Node.js world. You can write a new app–both front and backend–with Node.js, and connect it to existing RPG-based apps and database files. It’s the best of both worlds frankly. Node.js gives IBM i developers one more option for programming next-generation apps on the platform, just PHP as and Ruby on Rails support did before (and you can also program in Python and Perl, if you please). While the vast majority of backend business logic will always live in RPG or Cobol, IBM is giving developers the ability to modernize and extend the power of those apps with modern languages designed for the Web, and that’s a very, very good thing. RELATED STORY IBM Drops Tech Refreshes for IBM i 7.1 and 7.2
|