Throughout most of the evolution of IBM i, RPG has remained, perhaps, the most significant constant. It has changed and evolved, too, but never truly beyond the bounds of IBM i and its predecessor systems. Great language? No doubt. Mainstream? Depends on how you want to define mainstream. With PHP, though, there’s no hemming and hawing about mainstream: PHP is a language that has usage widely distributed throughout the world on a pair of popular platforms, Linux and Windows. Heck, you can even run PHP with Amazon’s Elastic Compute Cloud, EC2.
And you can, of course, run it on your IBM i with Zend Server for IBM i.
In fact, PHP on IBM i goes back at least five years, and even back in 2006, PHP and a treasure trove of open source applications caught the imagination of our industry. Since then, PHP, along with Zend’s frameworks and tools and IBM’s support, has not only evolved, but thrived.
At least, it sure seems that way. Let me explain.
The Tracking Is Soft
First of all, IBM ships Zend Server for IBM i (and previous instances) free with the IBM i operating system. If you buy a Power System with IBM i, you get Zend Server for IBM i. If you upgrade your IBM i OS, you also get Zend Server for IBM i.
IBM, however, has no way of knowing if you actually implement Zend Server for IBM i and use it in any meaningful way.
Similarly, Zend doesn’t know either.
The only time you really get on Zend’s radar is if you buy support packages, tooling, or ask for help in some way . . . or start your first year of free support with Zend.
As you can imagine, this means IBM i customers are using Zend and PHP without either company being aware of any hard usage data. As for the number of companies that engage Zend’s free or paid support, well, not surprisingly, Zend keeps those numbers close to its vest, too.
PHP Is Popular
As publishers in this industry, we see the PHP activity and interest, too. We see need and interest and try to produce articles and education that help. But when does “interest” turn into hard-core programming aligned with the scope and importance of RPG applications? It’s one thing to implement SugarCRM with PHP on IBM i and it’s quite another thing to actively develop web-front ends, engaged in application modernization, and write new applications that interact with — or replace — mission-critical business applications.
To get a better sense of what is going on, I reached out to some of the most active application-development gurus in our industry and asked them what they think about PHP, along with what they’re seeing as they travel the world and engage with programmers, companies, and clients. Their collective insight starts painting the PHP picture.
“PHP today is being used as a solid foundation for serious, mission-critical web applications on IBM i. The days of tentative tire kicking are over. Programmers and shops are digging in and building real apps to supplement or replace green screen applications, with PHP-based architecture,” notes Alan Seiden, a senior developer and consultant specializing in PHP and IBM i at Strategic Business Systems, Inc., a partner of IBM and Zend.
“One sign of PHP’s ascension is the increased adoption of Zend Framework, which, once it is mastered, provides an easily maintainable architecture for larger applications. For example, I've recently been mentoring the team at CrossPointe, LLC, of Winter Park, Florida. CrossPointe is building a web-based replacement for their venerable ‘TERMS’ Enterprise Resource Planning suite, which is specially designed for K-12 school districts,” Seiden says. “Their revamped package, called TERMS 2020, is built with PHP and Zend Framework, all on IBM i, making use of traditional DB2 tables and COBOL while implementing a modern PHP and javascript front end, using best practices for visual appeal, security, and performance.”
A Phenomenon?
“PHP has been an interesting phenomenon in the IBM i community,” says Trevor Perry, a consultant and speaker on modernization and IT strategy. “For example, the general rule for accepting a new OS release is still a minimum of eighteen months, normally much longer—even though the most recent ones have been stable and relatively easy to install. Accepting the latest PC-based Eclipse tools for development has taken almost ten years before it is starting to become mainstream. PHP, on the other hand, has seen more acceptance, publicity, and use in a couple of years than any other major language, OS feature, software, or tool, etc.,” he explains, adding, “In the user groups I attend and speak at, PHP is almost always mentioned, and many companies are working with PHP or considering PHP. Companies I visit and work with also know about PHP, and many of them are using it. It is definitely part of the IBM i vernacular—and the IBM i community.”
This ongoing movement, of course, has continued despite the little stunt pulled by Oracle last year when the company dropped support for MySQL, essentially freezing the development effort of the free database widely used by PHP applications. MySQL remained available, of course, from Oracle as well as through Zend, but the lack of Oracle support raised questions about its long-term viability if the need for enhancements or fixes ever arose. Zend, along with a recommitment of support from IBM, will begin producing its own IBM i version of MySQL called Zend DBi.
As for IBM, it will continue to enhance the DB2 Storage Engine for MySQL, which PHP applications act as if they are working with MySQL but really interact with data in DB2. Plus, later this year, Zend will make Zend Server 5.5 for IBM i generally available.
But back to what’s going on. Is the interest real and systemic or more about curiosity?
Susan Gantner, an application development consultant and educator with Partner400, is seeing a lot of interest.
“It remains one of the hottest topics at conferences, both in the U.S. and elsewhere. We were just in Paris and Stockholm in the last few weeks and the interest level there was also high,” she says. “Some are still in the tire-kicking phase, but many shops have found after kicking the tires that PHP is more easily adapted into an RPG-oriented shop than many other languages and environments they have looked at in the past. Some people are moving from tire kicking to implementation at a faster pace that they ever imagined.”
In addition, notes Paul Tuohy, CEO of ComCon and co-founder of System i Developer LLC, “PHP is getting quite a bit of attention from companies because, in a lot of areas, there is a ready supply of PHP programmers. A lot of traditional i programmers are taking to PHP as well—they find it easier to get to grips with as opposed to Java. The fact that it is preinstalled on the system and there is no—or little—configuration required also has a lot to do with it.”
Beyond interest, what kinds of applications are being used, integrated, or built?
“Quite a few seem to be deploying—or investigating deploying—tools like SugarCRM. CMS systems like Joomla and Drupal also seem to be getting some attention,” notes Jon Paris, an application development consultant and educator with Partner400.
“We have seen several build new apps—or new front ends for existing apps. We were with a client the other week that has purchased BCD’s WebSmart PHP to give their programmers a jumpstart on building new apps. This is a shop that already uses—in a different group—PHP for some of their web presence and the RPGers will now be joining in the fun.”
Application development options with PHP, it turns out, are surprisingly open and flexible.
“The fact that the IBM DB2 for i storage engine for MySQL makes it easy to integrate RPG or native IBM i query tools with open source applications means that the data from those applications doesn't end up on some seemingly inaccessible island somewhere,” Gantner says.
“New PHP applications and/or browser-based front ends into existing RPG applications are another big use for PHP—either hand-written in PHP, because learning PHP is very doable for RPGers, or using frameworks or a tool to generate PHP code,” she adds.
Not Yet Core?
“PHP applications, in my experience, tend to be new and auxiliary applications rather than core applications for the majority of IBM i companies,” Perry notes. “Some ISVs are replacing their entire application set with PHP applications, and while this allows for the flexibility of delivering their applications on multiple platforms, they tend to stay faithful to IBM i on Power for all the other benefits—speed, scalability, integration capability, security, and availability, etc.”
In addition, “One of the popular means for custom development to get IBM i applications to the web was a combination of RPG and CGI [but now] PHP seems to have replaced CGI as the latest developer’s choice to get IBM i applications to run in a browser,” he says.
Meanwhile, if PHP applications are not replacing core RPG applications on IBM i, is it just another language? Just another tool to have on a programmer’s belt? Is PHP overhyped? Or absolutely critical?
“Critical,” Paris answers. “Despite much lower levels of hype and expenditure from IBM than there was with Java it seems to have taken hold. Along with RPG Open Access-based tools, PHP is vital to the ongoing success of the platform. We need a mainstream language and the level of staffing needed to keep a set of WebSphere-based Java apps up and running is beyond the means of many IBM i shops,” he explains.
And Gantner’s take?
“I think PHP is very important to IBM i,” she says. “It isn't the silver bullet—there isn't one! In one sense, it's another tool to have on the belt. But I think it is a key tool on that belt. Many of us long-time RPGers found making the whole Java/OO/WebSphere jump a daunting task. Some began to wonder if developing and supporting modern web-oriented applications really had to be such hard work. Along comes PHP to the platform—a modern, web-oriented language that RPGers can identify with, easily comprehend and have fun with. . . . Not every IBM i shop is going to use PHP. But the fact that it is a well supported and popular option on i is just one more piece of evidence that IBM i is a platform second-to-none for modern applications.”
Of course, there’s a reason PHP is attractive to RPG programmers. “Personally, I like PHP,” Tuohy notes. “It can be both procedural—hence, easy acceptance from traditional RPG programmers— and/or OO. So, programmers can ease their way to the OO side as opposed to jumping in the deep end. Absolutely critical? That is really a question that depends on the business requirement—but I do think PHP has had a much bigger impact on the platform than Java had and it is ever increasing. If a programmer feels the need to pick up a new programming language, I usually recommend they have a look at HTML, CSS, Javascript—for all that web stuff—and PHP.”
Chris Maxcer is content strategy director for System iNEWS. “One of the things I find interesting about PHP is that it is so rarely badmouthed by anyone,” Chris say. “I find that telling.”