The State of PHP on the Power Systems i
April 20, 2009 Timothy Prickett Morgan
When you follow the IT market for a living, sometimes you get lucky and spot a trend way out in the future and maybe you get to see it come true. Maybe you don’t. I have been, for instance, thinking that something akin to cloud computing (it was called utility computing back then) would be coming along since the dot-com boom started, just because of the economies of scope and scale aggregated computing farms offer and the high-touch, and therefore high-cost, nature of maintaining servers. We’ll see if this comes to pass. But back in early 2005, it didn’t take a genius to figure out that PHP was eventually going to come to the i platform–the iSeries back then.
That’s how most prognostications work, really. The closer you are to the events, the easier they are to predict. And then you advocate like crazy to see them come to pass. I started bugging IBM for native Linux in logical partitions as soon as it launched logical partitions with OS/400 V4R4, and two years later, thanks to the efforts of a lot of nags out there in the OS/400 base, Linux was an alternative operating system. With PHP adoption growing by leaps and bounds in 2003 and 2004, and so many applications written in it, and more importantly, so many people monkeying around with it, it didn’t take any brains at all to figure out that PHP would come to OS/400 in some shape or form. That’s not predicting the future so much as seeing what is in front of your face.
And four years ago, in this very newsletter, in the wake of a vague alliance between IBM and Zend Technologies, I simply stated the obvious that PHP would almost certainly be native on the iSeries, and gave lots of reasons why this was the case. Most i shops were about as familiar with PHP as I was at the time, which was not all that much. Ditto with Linux in 1997 for me. I am not on the bleeding edge of technology trends most of the time so much as right in front of the pommel.
At any rate, it has been my great satisfaction to see Zend embrace the i community, and to give it the respect it deserves. I have learned not to expect much of the open source community in regards to non-Linux platforms. But Zend isn’t just an open source company, it is one that wants to make money, with the i platform it saw an opportunity to help people who are not afraid to spend money on good application development tools–something you can’t exactly say is true for the DIY set in the Linux crowd. To each, their own.
After a year of work in the wake of the alliance, Zend and IBM started shipping a beta version of the Zend Core for i5/OS, which ran in the PASE AIX runtime environment inside i5/OS V5R4. In August of 2006, Zend Core for i5/OS became generally available and in a short time, there were thousands of downloads of the software, which IBM picked up the tab for on behalf of V5R4 shops that wanted to download a PHP engine and integrate it with their i boxes. IBM gave out statistics for downloads every couple of months, but since the creation of the Power Systems division, which converged the System i and System p lines last April, IBM has been pretty mum in terms of Zend Core for i downloads. The latest number that I have heard is that there have been 12,000 cumulative downloads of Zend Core for various i platforms, including machines running OS/400 V5R3, i5/OS V5R4, and i 6.1. Anyway, here is my best shot at what the downloads look like:
One note on this curve shown above. I don’t have all of the data points for month to month downloads, but just some point data I got out of various sources from IBM and Zend over the years. These numbers are for unique people who have downloaded Zend Core for i, and they are not a measure of the total number of possible downloads for each unique person that did the downloading. This is a much more conservative measure than most open source projects use. They usually multiply the number of people by the number of downloads. This is a more accurate measure, I think, of the installed base of users.
It was obviously pretty exciting at the front end of that adoption curve, and based on the initial uptake, back in January, I did a little back-of-the-envelope math and with my exuberance projected that Zend and IBM could be seeing 20,000 downloads by the end of 2007. So much for my skills as a wizard. . . . I guess that predicting that something would be popular and useful (and it really wasn’t even predicting so much as encouraging in early 2005) is not as difficult as predicting how popular something will be. The curve flattened out, as curves always do, a little earlier than I thought it would.
That said, I can’t say that I am disappointed with PHP on the i platform, and i shops and application vendors and end users don’t seem to be, either. Zend’s commercialized PHP tools get a little more rugged and a little more enterprise-class every year, and you can’t argue that there is not plenty of PHP talent and interest out there in the professional IT community as well as in the semi-pro open source community. (Yeah, I know the open source community likes to think of it as the other way around, but then again, bloggers think that they are journalists, too. There’s something about being responsible for what you code or what you write–and I mean legally and financially responsible–that actually makes you act differently. I think this is an important distinction, and I value free code and free speech no less than Linus Torvalds and Richard Stallman themselves.)
Of course, running PHP at an i shop doesn’t mean using the i platform to run the PHP engine. In fact, when PHP started out way back when, before early 2006, companies had to run Zend’s products or the open source alternatives on Linux or AIX partitions or on Integrated xSeries Servers (remember those?) running Windows or Linux. Integrating to the DB2/400 database was an issue, and that’s why running Zend Core natively (well, in PASE, anyway, with various bridges for database access and for the 5250 protocol) makes much more sense.
As you can see from the chart below, the adoption curve for official PHP engines on the i platform is pretty similar to the general uptake of PHP across domains out there on the Internet:
That the curves are similar is a good thing, of course. Both curves show a steepening of the curve in recent years. That is also good. But there is a problem with gathering data about Zend Core usage. During the PHP 5 generation, in response to requests from the PHP community, Zend eliminated the phone-home features that allowed it to count downloads. So it no longer has good information about downloads for 2008. And with the integration of Zend Core for i with i 6.1 and i5/OS V5R4 announced this year, customers don’t even have to download anything. They just run a script and it installs on the system. Neither IBM nor Zend will know how many people do this.
There are some big differences between the way i shops do PHP and the way Linux shops do. According to Jim Dillard, the alliance manager at Zend, who manages the company’s relationships with IBM, Microsoft, and others, the typical i shop rolls out a PHP application on one to three cores on a Power Systems machine. But in the Linux world, a PHP application usually runs on from four to six distinct servers, on average. And given how Linux is used in modern Web 2.0 companies, Dillard says that Linux shops are often running larger and more complex applications and that this is a function of having programmers that are more experienced with PHP. This may hurt the pride of i shops, but they should consider it a challenge, not a slight. It all comes down to education and putting PHP into practice.
The other encouraging thing is that PHP has gone from being an interesting programming language to a practical one for midrange shops. As evidence, I refer you to the case study we ran back in March about APi Group, which completely redid the front end of its ERP system in PHP–a set of applications that were originally coded in RPG-II for System/3X iron more than two decades ago.
“I will say that when I found out about APi Group, I was floored,” says Dillard. “Web enabling an ERP system with PHP was something I thought people would get to by the end of 2009, not in 2008.”
Well, there’s nothing like a recession to bring matters into sharper focus and to get companies to find lower-cost alternatives. And sometimes that means installing an already existing set of open source PHP applications on an i box, sometimes it means modernizing the screens of homegrown or third-party applications with PHP, and sometimes it means coding brand new applications from the ground up in PHP. And companies are deploying all kinds of applications based on PHP–supply chain, human resources, shop scheduling, content management, order management, reporting, customer relationship, online auctions, vendor portals, and on and on.
In short, PHP is going corporate. Look at this pretty picture:
According to this Gartner data, the vast majority of PHP developers in 2007 were part-time developers and hobbyists, with a small number of corporate PHP developers. But by 2013, Gartner expects there to be millions of professional PHP developers at software vendors and in IT shops, with the base of hobbyists and part-timers being about the same. And we all know who is going to be spending money on PHP tools, creating real-world, enterprise-class PHP applications, and making a living from PHP.
The trick for ISVs and i shops alike is to put PHP into their toolbox and make good use of it, just as they would any other tool. And that is certainly something that application development tool maker Business Computer Design has done with its WebSmart PHP tool, which comes with lots of application templates and which is basically a rapid application development tool that allows programmers that are familiar with RPG to create PHP applications that can be deployed on Zend Core for i or any other platform, using either the freebie PHP engine or commercially supported products from Zend. And according to Eric Figura, director of sales and marketing at BCD, giving i shops the templates to get them moving quickly is as big of a deal as allowing them to deploy PHP applications where they want.
(WebSmart is not itself a PHP engine, but a tool for creating PHP applications; WebSmart ILE is, by contrast, a server engine, and it is expressly designed to replace WebSphere as a means of providing a Web-friendly front end to RPG applications.)
So what does Figura think about the prospects for PHP on the i platform? “I think it just grows and grows,” he says. “I have a lot of ILE accounts that are using PHP tools because they want cross-platform capability even if they are deploying PHP on their i boxes.”
It is good, it seems, to keep your options open. And it is very likely that i shops will be mixing and matching RPG and PHP, and perhaps with more enthusiasm than they were mixing RPG and Java in prior years. I think, for instance, that PHP will get a heck of a lot more traction than IBM’s back-from-the-dead darling, EGL. And that is because PHP has all of the openness and community of Java without the IBM exclusivity of EGL. When you go down the EGL road, you are basically going to do whatever IBM tells you to. And that is not very 21st century, no matter how good EGL might be–technically speaking. Big Blue won’t like anyone saying that, of course, but that doesn’t make it any less true.