John Valance presented at NHMUG on Thursday March 22, 2018

John presented the following sessions:

Connecting the Dots (intro to web development with PHP)

New to web development, or trying to get started? Have you taken a PHP course, but are having trouble understanding how to build complete applications for the web? Or maybe you're a manager trying to get an understanding of how web applications work at a high level. This presentation will provide an overview of how browser-based database applications work, with an IBM i / RPG audience in mind. It will demonstrate the client-side languages - HTML, CSS and JavaScript - and show how PHP scripts running on a server can dynamically build web pages including content from an IBM i DB2 database.

We will discuss the HTTP protocol and how web servers work with HTML and PHP, look at some common formatting techniques in HTML and CSS, demonstrate how HTML forms interact with PHP scripts, and show what JavaScript is and how it makes the browser more functional. With these basics concepts in mind, you should be able to make better decisions about how to sort through the many options available for web-enabling your legacy databases.

This presentation is for beginner to novice web programmers, or those who would like to understand the technologies and languages involved in a typical web application.

This session is a recommended (not mandatory) pre-requisite for John's labs on HTML, PHP, and JavaScript.

--> Click HERE for this session handout <--


Web Mastery with JavaScript

While PHP and server-side languages are essential to web programming, these days JavaScript is an equally essential skill for any professional web programmer. Users have come to expect highly sophisticated web applications, far beyond what HTML and PHP can deliver. In order to develop these modern web and mobile applications, one must have a fair mastery of JavaScript.

So what is it? Not to be confused with Java, which typically runs on the server, JavaScript typically runs in the browser and allows you to create scripts that can control the browser experience after a web page has been downloaded from the server. This off-loads processing from the server and allows web applications to utilize some of the features associated with PC applications, such as a rich user interface and sub-second response times.

This session will introduce you to the concepts, capabilities and syntax of JavaScript, and help you understand how you might use JavaScript in your web applications. You will learn about using JavaScript to validate input forms and react to browser events such as page load, button clicks, mouse movement and keystrokes. You will also see how JavaScript can be used to change the content and appearance of web pages without reloading the entire page. It will also introduce some of the more advanced concepts of object oriented JavaScript and JSON (JavaScript Object Notation), Ajax (Asynchronous JavaScript and XML), and JavaScript frameworks, such as jQuery, which greatly simplify JavaScript programming tasks.

This is highly recommended as a prerequisite to my JavaScript lab, as well as my Introduction to jQuery presentation.

--> Click HERE for this session handout <--

SQL Stored Procedures and Application Modernization

Among the many modernization technologies available on IBM i, SQL is perhaps the one best known by RPG developers. This session won't focus on how to write SQL statements, but rather how to write scripts that combine SQL statements together into procedures that encapsulate database access and core business logic for use in a myriad of modern applications. We'll discuss how stored procedures fit into a modernization strategy, and why they are such a good fit for RPG programmers who want to participate in modernization projects. They're also a great fit for anyone new to IBM I who needs access to its database for applications in PHP, Java, Crystal Reports, IBM Web Query, Excel, Web Services, conversion projects, etc.

SQL is often embedded in other languages, such as RPG, PHP, Java, etc. But IBM provides the SQL Procedure Language (SQL/PL), which can be used to code complex or multiple SQL statements into procedures that can form the backbone of a service oriented architecture. These procedures can be called from any programming language. This can simplify the database access code in PHP, Java, and other host languages, while taking full advantage of DB2-specific SQL features.

Come and learn about the many features and benefits of SQL stored procedures, how to code them, and how to use them in your modernization strategy.

--> Click HERE for this session handout <--

Case Study: B2B e-Commerce With PHP on IBMi

This session will describe a recently completed project to create an online wholesale ordering system for a beverage manufacturing and distribution company with a BPCS/LX backend. The requirement was to create a browser-based order entry system for wholesale customers that do not have EDI capability. The system needed to have a simple, modern, intuitive interface, usable on desktop and tablet browsers. The order submission procees needed to feed into a BPCS/LX backend. The server language of choice was PHP, using Zend Framework 2.

This will be a high-level, project management focused presentation, highlighting the technologies and methodologies employed, and challenges faced and how they were resolved. Some of the topics to be covered include: requirements gathering, wireframing, HTML design, use of offshore resources, controlling database access with stored procedures, integration with ERP system, PDF form generation, e-mail acknowledgements, SSL setup, and security.

If you are considering creation of an e-commerce system, please come with your questions and learn how we got this system off the ground.

--> Click HERE for this session handout <--


John Valance has worked on the IBM midrange platform since 1983 and on web development since 1998. As a consultant and developer, John specializes in database and web application development on the IBM i platform. He has also been a trainer for Zend Technologies, teaching PHP Foundations for IBM i Programmers, and is a Zend Certified Engineer. He has extensive programming experience in RPG, Java, PHP, and JavaScript, and he enjoys explaining new programming concepts to RPG programmers. John is a frequent presenter at user groups, and has created presentations and labs on many web development topics. John was elected to the COMMON board of directors for a 3-year term in May 2017. John is the president and founder of Division 1 Systems, a software and services firm based in Burlington, Vermont (

Growing up in New York City, John started his career in the NY area, but moved to Vermont in 1994 to raise a family and has been there ever since. John is also an accomplished musician, playing a variety of instruments and styles.

John can be reached at This email address is being protected from spambots. You need JavaScript enabled to view it..