Available Training Exercises

See below for our full list of training exercises currently available. Check back often as additional exercises will be added over the coming weeks.

Implementing Productivity Solutions via LAMP Applications

Open source applications such as WordPress, Joomla, and Drupal run many of the eCommerce, Content Management Systems (CMS), and Enterprise Resource Planning (ERP) sites around the world. These applications are often based on the LAMP stack which represents the operating system, web server (Apache), database management system (MySQL/MariaDB) and scripting language (PHP). IBM i can implement these applications with their variant of the LAMP stack referred to as iAMP. This exercise provides the opportunity to implement several LAMP based applications on the IBM i platform.

Introduction to Object-Oriented (OO) Programming

Coming Soon

PHP supports both procedural code and object-oriented code.? Procedural can go a long way to implementing custom solutions; however, when you start to look at items such as iToolkit and frameworks it is important to have an understanding of Object-Oriented programming concepts.? This hands-on exercise provides the opportunity to become familiar with the concepts and terms around OO and also walks through a few coding examples using OO.

Exploring Zend Server Functions

Coming Soon

As the Application Server that delivers PHP, Zend Server provides a wealth of functionality including monitoring, code tracing, application profiling, and caching. This exercise will walk you through various functions of Zend Server.

Exploring Basic PHP Programming

This exercise walks through the basics of PHP programming. The exercise starts with a simple 'hello world' program and moves from there to explore key PHP concepts, including array processing and the language's loose variable typing. The exercise includes building an application to perform basic data operations on a Db2 data source including connecting to the data source and selecting/displaying records from the data source.

Introduction to XMLService and the iToolkit

XMLService, part of the base IBM i operating system, provides the ability to call ILE programs (RPG, Cobol, CL) as well as artifacts (data areas, data queues, etc.) by describing what is being called (library, program, parameters, return values, etc.) via an XML payload and providing a corresponding XML payload with the program return, data item requested. iToolkit, provided with Zend Server's PHP stack, is a wrapper around XMLService to make it easier both to build the XML payload request and to process the XML return. This exercise will walk through some simple examples of using iToolkit to call an RPG program as well as exercise a CL command.? A companion exercise, 'Deeper introduction to XMLService and iToolkit' will go into more depth on both XMLService and iToolkit.

Leveraging Db2 Data Via a CRUD Application

One of the benefits of PHP is that it facilitates bring dynamic, often database-resident, data to a web interface. This exercise walks through exposing Db2 data to the web via a 3rd party application called phpGrid. The exercise will start by showing the code for displaying a simple data-grid and from there extends the functionality to include each facet of data management (Create, Read, Update, Delete) adds search and export functionality and also shows how to move beyond single-table to master/detail data displays.

Deeper Introduction to XMLService and iToolkit

Coming Soon

This hands-on exercise is a follow-up to the 'Introduction to XMLService and iToolkit' exercise and provides more in-depth examples for leveraging existing business logic and ILE artifacts from PHP.

Getting Familiar with the PASE Shell Environment

The PASE environment is where open source solutions, such as PHP, run. Standing for Portable Application Solution Environment, PASE was initially intended to enable execution of AIX binaries on an IBM i system but has since been used for a number of *NIX programs, including PHP and many other open source solutions. In order to get the most out of these open source solutions, as well as to effectively manage the solutions, it is important to get comfortable with working in and navigating around the PASE environment. This hands-on exercise will give you the opportunity to explore PASE.

Setting up Open Source Support on IBM i

Read Only

If you are going to work with open source solutions on IBM i you will want to know how to setup the open source ecosystem on the platform.?Since the setup is only done once, this has already been completed on the exercise system; however, this "exercise" will walk you through the process that was followed so you will have the information available if/when you decide to setup open source on your own platform.

Setting Up an Open Source Development Environment

A key aspect of the adoption of open source on IBM i has been the proliferation of additional open source languages on the platform, including PHP, Python, and node.js. The Open Source environment has support for file-system containers and this exercise will give you the opportunity both to setup your own development environment/container as well as to manage open source solutions within a container. File-system containers are a great way to isolate developer environments and this exercise will explore the methods for doing that.

Introduction to Open Source Programming Languages on IBM i – Node.js

This exercise provides the opportunity to install the open source package that provides the node.js language, as well as node.js' Db2 driver and XMLService toolkit. After node.js has been installed, the exercise provides the opportunity to write some simple node.js programs including a 'hello world' web service and a Db2 access program. The exercise will also take a look at the ability to make node.js programs persistent and also take a look at how to configure a Nginx web server instance to serve up node.js web services.

Introduction to Open Source Programming Languages – Python

This exercise provides the opportunity to install the open source package that provides the Python language, as well as Python’s Db2 driver and XMLService toolkit wrapper.?After Python has been installed, the exercise provides the opportunity to write some simple python programs including a ‘hello world’ program and a Db2 access program.?The exercise also takes a look at using the toolkit to invoke XMLService to call a 5250 command.

Source Code Control with GIT

Coming Soon

GIT is a free open source version control system that can be used for both small and large code projects. GIT has become popular, if not the de facto standard, for source code control for open source projects and it is available for the IBM i platform. This exercise will provide the opportunity to establish a GIT project on IBM i and show how GIT can be used to share project files between developers.

Overview of Shell Programming

This hands-on exercise provides the opportunity get familiar with commands and scripting in the PASE environment.

Additional Information

Some general notes to keep in mind regarding the IBM i training exercises:

Register Now

  • The steps in the exercises are designed to be run from an SSH connection to the system. In fact, the credentials provided will not be able to access a 5250 session. The 'getting started exercise' will walk through setting up an SSH client and configure a connection to the exercise system.
  • The exercise system has already been configured with the Open Source ecosystem support. If you want to know how that was done take a look at the 'Setting up Open Source on IBM i' read-only exercise.
  • Each exercise sign-up will time-out two-weeks past sign-up. A reminder email will be sent out 24 hours before time-out to remind you that the account will be disabled.
  • For PHP related exercises, Z-Ray will be enabled so that you can use it's profiling capabilities to help debug issues. The 'getting started exercise' will walk through the basics of using Z-Ray to find detected syntax errors.
  • No personal or company data should be stored on the exercise environment. The environment is for learning purposes only and no data will be saved from the environment.
  • No commercial activities are to be performed from the exercise environment. Any commercial activity detected will cause an immediate revocation of access.