AAron Bartell In NH

Aaron Bartell spoke to the NHMUG user group on Thursday October 1, 2015

Links to presentation materials:

Here are the links to the presentation materials:

Intro to Node.js

Node.js is here. Yep, Javascript on the server side of things. Is this a good thing? That's what we'll be looking to decipher as we walk through the following points at a high level, all the while relating it to the RPG programmer mindset to more easily draw similarities.

In this session we will learn about the following:

  • Why Node.js? We already have Java, PHP, Ruby.
  • How to obtain and install Node.js
  • Make Node talk to your RPG and DB2
  • What's this i/o blocking stuff I hear about Node.js?
  • Javascript syntax - brief intro
  • Javascript callbacks - they're everywhere, but how do they affect your programming in Node?
  • Create a simple "hello world" app without using frameworks.

Node.js, DB2, RPG - Talking at Last

Let’s say you’re considering learning Node.js but know one primary requirement is that existing DB2 tables and RPG business logic must be easily accessible from Node.js. Problem solved, because that’s where IBM's Node.js DB2 for i driver and XMLSERVICE fits in.

The Node.js DB2 for i Connector was provided by IBM and provides capabilities to interact with existing DB2 tables.

XMLSERVICE is a single library of open source RPG code that enables XML scripting calls of IBM i resources using most any language available on your platform.

In this session we will walk through the various features and ways to communicate with existing DB2 tables and RPG programs directly from a Node.js program that is running on the same IBM i! We will also be walking through how to do iterative development using the Node.js REPL capabilities (programming in a real-time response environment) - a great tool and approach for learning how to code in Node.js.

Node.js: Building Your First App With Expressjs

Node.js is a hot topic in IBM i circles because of its recent port. Doing a "Hello World" app in Node.js is very simple, but what about developing something more substantial with full model-view-controller capabilities? This session aims to take you beyond your first pass at Node.js and show how to use one of the most popular Node.js web frameworks, Express.js.

In this session we will learn about the following:

  • Installing ExpressJs with npm (Node Package Manager)
  • Model: DB2 for i access
  • View: Template Engines and how to use them
  • Controller: Routing requests
  • Implement web sockets to make the app insanely interactive

Git on IBM i

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with its feature set. It is arguably the most popular way to manage source code versions industry wide.

Some things to know about Git:

  • It keeps a history of everything that has changed in a source file
  • You can group changes together so you can gain perspective of what all changed for a particular feature request
  • You can create branches which have many purposes with one being you can eliminate the need to make backup copies of source members before making your changes. We often make backups so we can see how it originally was. Branches also make it easy to quickly test something and throw it away if it didn't work out without affecting the primary code base.
  • Another feature of branches is to facilitate process flow (i.e. branches for development, test, staging, production)
  • Git has some very excellent merging capabilities which is nice for when two developers were working on the same source member and their changes need to be combined back into one

Here's the kicker… did you know you can use Git on IBM i? Did you know you can use it for all your source including RPG?

Attend this session for an introduction to Git, install instructions, how it works, basic features, and how it can be used in your environment.

Biography

Aaron Bartell provides hands-on application development services using open source technologies for companies running on IBM i. Through virtual consulting engagements, Aaron is able to jump-start development initiatives while serving as an extension of your internal development team. Aaron facilitates adoption of open source technologies through internal staff training, speaking engagements at conferences, and the authoring of best practices within IBM i industry publications and www.litmis.com. As Director of IBM i Innovation for Krengeltech, Aaron pursues initiatives which enable IBM i shops to embrace today’s leading technologies including Ruby on Rails, Node.js, and Git to facilitate GitHub/BitBucket communications. Aaron is a passionate advocate of modern technologies and active within their corresponding online communities. Connect with Aaron via email at This email address is being protected from spambots. You need JavaScript enabled to view it.

Aaron lives with his wife and five children in Southern Minnesota. He enjoys the vast amounts of laughter having a young family brings, along with camping and music. He believes there's no greater purpose than to give of our life and time to help others.