{"id":183,"date":"2015-02-18T09:46:44","date_gmt":"2015-02-18T15:46:44","guid":{"rendered":"http:\/\/www.petesworkshop.com\/blog_wp\/?p=183"},"modified":"2015-02-18T14:09:01","modified_gmt":"2015-02-18T20:09:01","slug":"the-great-open-source-mashup-on-ibm-i","status":"publish","type":"post","link":"https:\/\/www.petesworkshop.com\/blog_wp\/?p=183","title":{"rendered":"The great open source mashup on IBM i"},"content":{"rendered":"<p>To the outside world and perhaps 80% of the established IBM i community running open source applications on the IBM i operating system is irrelevant.\u00a0 This is a crime of monumental proportions in that folks are standing up *NIX and Windows servers while they let their IBM i&#8217;s languish with &#8220;legacy&#8221; applications.\u00a0 How sad for them. They are missing out on the benefits of leveraging those legacy apps with open source frameworks that could make their shops more productive, scalable and secure.<\/p>\n<p>Node is getting the latest buzz on the web and in the small but active open source community on IBM i.\u00a0 I gotta admit that getting that first node app up was my goal (be first!) when it was first announced but my younger alter-ego, Aaron Bartell beat me to it (as usual).\u00a0 But getting node.js stood up as a server is only the first step.\u00a0 Getting a &#8220;hello world&#8221; app working is perhaps the second but the real fun is taking a few existing technologies and putting together a mashup that leverages old with new.\u00a0 You IBM i folks have a boatload of RPG apps, how the heck would you hook them up with node.js?<\/p>\n<p>socket.io and express.js being TCP\/HTTP friendly make that a good place to start!\u00a0 The IBM i is a rock solid HTTP server platform.\u00a0 There are plenty of open source technologies that leverage HTTP on IBM i so using HTTP is a logical place to start.\u00a0 How could we link things up so that node.js serves up apps that can communicate with and use other HTTP technologies?\u00a0 Well, I threw together an RPG app that uses an HTTP POST to post data to the chat application example.\u00a0 Check out a quick and dirty example I put together on my Github repo <a title=\"RPG and node.js examples\" href=\"https:\/\/github.com\/phelgren\/rpg-node\" target=\"_blank\">here<\/a>. It isn&#8217;t as robust as I want it to be but I am just getting started here (and wanted to do more than just &#8216;Hello World&#8217;!)<\/p>\n<p>Just think of the possibilities!\u00a0 HTTP is the perfect way to mash up all things IBM i.\u00a0 More to come!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To the outside world and perhaps 80% of the established IBM i community running open source applications on the IBM i operating system is irrelevant.\u00a0 This is a crime of monumental proportions in that folks are standing up *NIX and &hellip; <a href=\"https:\/\/www.petesworkshop.com\/blog_wp\/?p=183\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[46,43,39,44,42,45],"class_list":["post-183","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-express-js","tag-httpapi","tag-node-js","tag-post","tag-rpgle","tag-socket-io"],"_links":{"self":[{"href":"https:\/\/www.petesworkshop.com\/blog_wp\/index.php?rest_route=\/wp\/v2\/posts\/183","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.petesworkshop.com\/blog_wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.petesworkshop.com\/blog_wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.petesworkshop.com\/blog_wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.petesworkshop.com\/blog_wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=183"}],"version-history":[{"count":3,"href":"https:\/\/www.petesworkshop.com\/blog_wp\/index.php?rest_route=\/wp\/v2\/posts\/183\/revisions"}],"predecessor-version":[{"id":186,"href":"https:\/\/www.petesworkshop.com\/blog_wp\/index.php?rest_route=\/wp\/v2\/posts\/183\/revisions\/186"}],"wp:attachment":[{"href":"https:\/\/www.petesworkshop.com\/blog_wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=183"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.petesworkshop.com\/blog_wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=183"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.petesworkshop.com\/blog_wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=183"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}