Posts Tagged ‘db2’

Introducing the i7 Framework

Friday, September 28th, 2007

"Oh no, yet another framework for PHP..."

Admit it: that was what you thought when you read the title, didn't you?

But rest assured, we haven't created a new framework.

But we did launch something.

For 7 years now, we've been working on ATK, and it has found its niche as a framework for developing business applications. Where some frameworks focus on providing components, and other frameworks focus on websites, ATK has more and more focussed on business apps: these internal applications that companies use to run their business. (And also often as an easy-to-build administrative backend to some webapplications).

ATK typically lives on an internal Linux or Windows server in an office or corporate environment.

This year, a specific set of circumstances led to a whole new market for the framework.

The most important in this respect was the release of Zend Core for IBM's System-i. "System i" may be relatively unknown in the PHP community, but it's the new name (they change it every few years) of what was once called the AS400, and if that doesn't ring a bell, it's the big machines that run all these enterprise 'green screen' environments of large retailers, factories etc.

Zend Core basically brings native PHP to the System i world. This means that PHP is now a valid alternative to Java, when modernizing all these enterprise applications, and creating a web frontend for them.

The fun thing is: about 90% of the apps running on System i are business applications. Data management, data flows, workflows, business processes. Things that ATK is good at.

So this provides a great opportunity for the framework.

The operating system running on System-i is called 'i5/OS', so the calculation we did was:

i5 + PHP + ATK = i7

Corny, granted; but giving it a new name (which seems to be relevant in the IBM world) gives us the possibility to make this a separate product range. i7 basically is ATK for i5, with native i5 drivers, and an extensive support package. For some reasons, in the big blue IBM world, 'free software' is considered evil, so we had to add a support package in order to be taken seriously. ;-)

The past 2 days, we have presented "the i7 Framework for System-i" at the System-i Expo in the Netherlands. We did 2 sessions of 50 minutes demonstrating the framework to IT managers, most of which hadn't even heard of PHP yet. And the results are promising. Not only for our little framework, but also for PHP in general.

Info on the i7 framework can be found at i7.nl. Currently in Dutch (because of time pressure before the Expo), but an international version will follow soon.

PHP on IBM’s System-i

Friday, June 8th, 2007

Some of the developers at Ibuildings are working with PHP on IBM's System-i platform. If that name doesn't ring a bell, it has been called 'iSeries' for a while and it's basically a new name for the old AS/400. If you're old enough to remember Happy Days you probably remember those nifty 'green screens' that they used to use in stores, banks etc. There's a 90% chance that these green screen applications were running on AS/400.

The green screens have mostly made way for more modern interfaces, but the servers that run them still exist today. Many of the applications on them have been modernized by adding a web-interface to the existing applications.

There are several ways to make a web interface for green screen applications, or 'RPG programs', as System-i developers call them; RPG is the programming language that they traditionally use on those machines, and it is complete abacadabra to most PHP developers.

For a while now it is possible to use Java to make webinterfaces on System-i, and there are several cgi based tools. And recently IBM and Zend have teamed up to port PHP to the i5/OS operating system. So far this port seems succesful; one of the reasons is perhaps that PHP is easier to adopt by traditional System-i developers than Java, which forces you to learn Object Oriented Programming. In PHP you can do OOP, but you don't have to. You don't even have to use functions, and this is a lot closer to classic System-i languages (although I would of course recommend any System-i developer moving to PHP to learn at least about procedural programming).

When running PHP apps on System-i, you can use the standard db2 database extension to access the db2 database, but alternatively you can also use the 'i5 toolkit' that is available in PHP on i5/OS. There are some subtle differences, and if you find yourself having to write PHP applications for System-i, it's good to know about how to use the i5 toolkit to use the db2 database. Harrie Verveer has written an article on this topic on our company blog. It explains one of the differences between the db2_* and i5_* functions, but it contains some sample code and as such is a nice example of how to use the i5 functions.