IBM i development

A Real Zend Expressive Application on IBM i

Clark Everetts Intermediate

See practical examples, in the context of a working 5250 RPG application, of how to integrate RPG, SQL, and other IBM i platform assets, with PHP. Learn the most up-to-date approach for structuring and configuring a Zend Expressive application. Learn about Expressive, the open source PHP microframework from Zend, and PSR-7, HTTP Messages, and Middleware. How about a real Zend Expressive web application that starts with CRUD, but goes beyond? How should models invoke RPG, DB2 queries, stored procedures? Where are "the controllers?" How do we handle sessions, authentication, caching for performance, and access control with middleware? This is not the standard sample application; this one begins with a small, but complete 5250-based RPG Order Entry and customer tracking application, and leverages the resources to build a mobile/tablet/desktop-friendly web application.

Apigility and IBM i: A Match Made in Heaven

Massimiliano Cavicchioli Advanced

The IBM i platform is widely recognized as a supreme apparatus for complex elaborations. The modern, web-based workflows are forcing IBM i based corporations to expand the horizons of its deliveries. Is it truly necessary to denaturalize such a data driven, secure, mean machine? The session will explain how to guarantee the web consumption of the powerful business logic already existing in every IBM i platform, from any kind of device, in a secure and performant manner. The fulcrum enabling these workflows is Zend Apigility, a modern framework for building best-of-breed APIs in no time. The code examples will show typical HTTP-based interactions originating from all sorts of consumers (classic web pages, single page apps, handheld devices, etc.).

Architecting a PHP Application with Interfaces to IBM i

Chelsea Fenton Beginner

In this session we’ll walk through a case study of developing a PHP application using an API to interface with IBM i data. This is a great example of how IBM i developers can leverage their knowledge of business rules and authorization to help speed up the development of PHP applications.

You’ll learn how ZF3, RPG, and Bootstrap were used to develop an application that:

  • Separates the front end coding from the backend
  • Optimizes the skills of IBM i and web developers
  • Works on both desktop and mobile devices
  • Integrates with other systems

Bring RPG/COBOL Business Logic to the Web with the PHP Toolkit

Alan Seiden Beginner

Don't reinvent the wheel when developing PHP applications. Instead, re-use your valuable business logic. Reduce risk, speed development, reduce costs when developing web and mobile applications by calling RPG and COBOL programs, system commands, accessing data areas, and more, with the open source PHP Toolkit for IBM i, co-developed by IBM and Alan Seiden. The toolkit is free, flexible, supported by Zend and uses IBM's XMLSERVICE toolkit on the backend. In this session you'll:

  • Create a modern PHP-based graphical interface that uses RPG/COBOL/CL building blocks
  • Know when to access DB2 directly, and when to call a program
  • Optimize toolkit performance

Debugging Your Web Application

Stephanie Rabbani Beginner

500 internal server error? Wait, now it's a 404 error. I think it's actually a syntax error. And now my program call isn't returning anything.
Attend this session to hear tips and tricks on how to debug your web application on IBM i, including:

  • Analyzing Apache logs and Apache server issues
  • Debugging your program calls and Toolkit issues
  • Debugging DB2 and library list issues
  • Debugging Javascript and CSS

Designing Responsive IBM i Web and Mobile Applications

Chelsea Fenton Beginner

IBM i organizations benefit when users can access web applications from both desktops and mobile devices. But how do you accommodate all of the different device types without spending valuable time developing multiple versions of your applications?

Attend this session to learn:

  • What responsive design is
  • How Bootstrap makes it easier to create responsive web applications
  • How to install Bootstrap on IBM i
  • How you can use Bootstrap with PHP

Get Started Using PHP Frameworks on IBM i

Stephanie Rabbani Beginner

Are you wondering whether PHP frameworks are worth using when developing your applications? In this session we’ll explore the concept of PHP frameworks, and compare three popular frameworks (ZF3, Expressive, and Laravel) and show you how to get started with all three on the IBM i.

IBM i Ask the Experts

Mike Pavlak Beginner

In this session various IBM i centric experts will assemble for a rapid-fire Q&A session including folks like Rod Flohr, Mike Pavlak, Alan Seiden, and many more. No topic is off limits as long as it pertains to the web enablement of IBM i. 

Install MariaDB on IBM i - Tips, Troubleshooting, and More

Rod Flohr Intermediate

MariaDB is the new open source drop-in replacement for MySQL that has been adopted by IBM for use on Power Linux and IBM i. ZendDBi is the installer provided by Rogue Wave Software for installation of MariaDB on the IBM i. In this session we'll show how to use ZendDBi to install MariaDB and provide some important tips for post-installation. We'll also demonstrate troubleshooting some common installation issues. While most installations of MariaDB are trouble free, the troubleshooting procedures will give us a chance to understand a bit more about the operation of MariaDB on the IBM i. It'll also give us the opportunity to explore some concepts on IBM i that may not be familiar to some RPG programmers.

LAB - Basic PHP to Access Your Data on IBM i

John Valance Beginner

In this session you'll learn about and practice basic PHP syntax, as well as how to access DB2 data to populate HTML documents. You'll learn about how to read input from the browser and dynamically build an HTML document using a combination of HTML, PHP, and SQL. We'll review the HTML tags for tables, forms, and input fields in order to create prompt screens and database inquiries. This session is geared toward the RPG programmer with limited or no experience developing PHP web applications.

This will be a self-guided lab – i.e., you will follow clear instructions from a printed lab guide, sometimes writing code from scratch, and sometimes using templates with key pieces missing, in order to maximize your time.

Rather than focus on language syntax directly, these exercises will teach you syntax through the applications you are building. In the process, you will also get exposure to some of the most important HTML tags that you need to create useful business applications with PHP. You’ll also get some experience using Zend Studio, the premier IDE for PHP development on IBM i.

IMPORTANT!! – LAPTOP REQUIREMENTS: This is a hands-on lab. To participate in this workshop, you will need to bring your own laptop, with the Zend Studio IDE installed, before arriving. You can download this from Choose the OS that runs on your laptop (Windows/Mac/Linux) and click the Download button. If you already have an older version of Zend Studio installed on your laptop, it should be fine, but I recommend version 10 or higher. Please see the release notes for the version of Zend Studio you are using for specific system requirements. If you have trouble getting Zend Studio installed, you can contact the instructor for assistance: The server used is an IBMi server running DB2 and Zend Server, and this will be provided for you via remote access.

Make Your IBM i Sizzle with WordPress

Alan Seiden Beginner

WordPress lets you create a website by choosing a theme and adding your own graphics without touching a line of code. This popular open source application also has thousands of plugins to add features to your site. Best of all, it runs on IBM i, and can leverage your own DB2 data and RPG programs. Learn why WordPress on the IBM i can be the most powerful WordPress anywhere. Since WordPress is based on PHP and MySQL, you'll get a taste of those technologies as well.
In this session you'll:

  • See what your IBM i can do with WordPress, how you can quickly create a website that will wow the business people in your company
  • Get a taste of how open source technology runs the web
  • See your IBM i data and RPG output on a WordPress site on IBM i

PHP and DB2 In Depth

Alan Seiden Intermediate

DB2 is the heart of IBM i. For PHP applications, the DB2 database provides performance, data integrity, remote connectivity, and security. This tutorial will show the right way to use DB2 with PHP. Topics include: Performance tips, prevention of SQL injection, library list options, and how to connect IBM i's DB2 from Windows and Linux.
Learning objectives:
  • Understand how to get the best performance from DB2 with PHP on IBM i
  • Take steps to secure applications by using parameter markers (prepared statements)
  • Learn about new features that help performance and stability
  • Make the right choices when configuring your application for library lists and more

PHP Installed on IBM i - The Guided Tour

Rod Flohr Intermediate

Everyone knows installing PHP on IBM i is easy. Just download the save file and run the RSTLICPGM command. But not everyone knows what that RSTLICPGM does. What is it putting on the machine? Where is it putting it? How does it all work together? In this session we'll take a look at the IFS directories added by the Zend Server installer to see what's in them. We'll see where PHP and PHP extensions, Apache and FastCGI configurations, log files, and more are kept. We'll also talk about how these new file objects interact with existing prerequisite software on the IBM i to present dynamic pages to the web. This session is for PHP developers and administrators interested in learning how PHP fits in with the unique operating environment of IBM i.

PHP Package Management with Composer

Clark Everetts Beginner

Get a practical deep-dive into Composer, the dependency manager for PHP. We'll compare Composer to "global" managers like PEAR, apt, and yum; show how Composer helps you obtain the components your applications depend upon, install them into your project, and control their update to newer versions. We'll explain autoloading, demystify keys in the composer.json file, and get you confidently using Composer, with practical examples all the way. When you leave this tutorial, you'll understand:
  • What PHP source code dependency management looks like, and what problem Composer solves
  • How to install Composer (friendly to all developers, including IBM i developers)
  • How to use Composer to install, update, and lock code dependencies to appropriate versions
  • Autoloading in general, Composer's autoloader in particular
  • The difference between composer.json and composer.lock
  • What Semantic Versioning means, and what those version numbers communicate to you as developer
  • Packagist, the public clearing house for Composer-managed packages
  • Considerations when using Composer in development vs. production environments
  • Important do's and don'ts when using Composer
  • Intro to setting up and using a private repository

The World of Open Source on IBM i

Kevin Adler

There's a whole world of open source software available on IBM i, whether that software comes from IBM, another software vendor, or even something you found on GitHub. Learn about some of the available software packages available to you from all of these sources.

Who's Doing What with PHP on IBM i

Mike Pavlak Beginner

In this session we'll review three customer account stories where the combined PHP and IBM i solution is really changing the game for the company. We'll also talk about the latest and greatest product features and get the inside scoop on what's coming up soon.