New Open Source PHP Toolkit for IBM i in the Works
April 12, 2011 Alex Woodie
IBM and Zend Technologies are expected to formally announce a new open source PHP Toolkit for IBM i at the COMMON conference in Minneapolis next month. IBM claims the new toolkit, which is currently in beta, will do a better, more transparent job of connecting PHP applications with IBM i programs and services than the old toolkit–an assertion that is rejected by the developer of the old toolkit, AURA Equipments.
The PHP Toolkit for IBM i is a set of classes that allows PHP programs to interact with native IBM i services, applications, and data. This includes making RPG and COBOL program calls, accessing DB2/400 and data queues, utilizing native system APIs, and accessing spool files. It is a critical component of the Zend Server for IBM i stack, especially for IBM i shops that want to modernize their green-screen applications by building new PHP Web interfaces that run against time-tested RPG logic.
The initial version of the PHP Toolkit for IBM i was developed by the French IBM i software company AURA Equipments, which partnered with Zend to offer an OEM version of its EasyCom product. It was first made available in 2006 in Zend Core for IBM i, and today it is distributed through the new Zend Server for IBM i product (which combines the old Zend Core and Zend Platform products). This original toolkit will be available through Zend through the end of 2011. After that, customers will need to license the software directly from AURA Equipments.
The decision to move away from the AURA-designed PHP toolkit and to institute an open source product was jointly made by IBM and Zend. The PHP language, after all, is an open source project, which gives programmers full visibility into the inner workings of the source code and the capability to make their own modifications if desired. It makes sense that the connecting toolkit needed to be open source, and support the same level of transparency and modifiability.
In addition to offering the ethical and philosophical benefits of being open source, proponents of the move say the new toolkit performs faster, offers more functionality, and is easier to code in than the old toolkit. These improved capabilities may resonate with pragmatic IBM i programmers, who never seemed that impressed with open source software for its own sake. (The folks at AURA Equipments say the new toolkit is a step backward, but we’ll get to that later.)
In an article on the new toolkit that published in System i Network, PHP-on-IBM-i expert Mike Pavlak (who is also a Zend employee) says one of the drawbacks of the old toolkit was the amount of code required to write program calls. A lot of PHP code was required to make program calls and fill in all the necessary parameters in the old toolkit, he says, but it’s been simplified in the new open source toolkit.
Another benefit of the new toolkit, Pavlak says, is its use of object-oriented programming, which can simplify some integration tasks. Pavlak says RPG programmers who are accustomed to procedural programming should not worry–the new PHP Toolkit for IBM i allows users to gradually ease into OO at their own pace.
IBM and Zend are expected to unveil more information about the new PHP Toolkit for IBM i in the weeks ahead. If you’re going to COMMON, you can expect to hear a lot about the new product at the show. (Hopefully IBM also has some news regarding Oracle‘s decision to end IBM i support for MySQL, on which so many PHP applications run. We’ll have to wait and see.)
The folks at AURA Equipments aren’t impressed with the new toolkit. That is not surprising on its face, considering AURA will no longer get the license and technical support revenue associated with this OEM agreement. But Sylvain Rubele, CEO of AURA Equipments, tells IT Jungle that the new toolkit will simply not be as easy to use as the old one, and that it won’t offer the same level of performance.
Rubele says the fact that program calls and database access jobs don’t run in the same environment in the new open source toolkit will hurt performance of IBM i-based PHP apps accessing DB2/400, and that it has already caused confusion among programmers. Rubele says that, because EasyCom can initiate program calls and use DB2 Connect to access the database within the same environment, it will run faster and be more stable than the new toolkit, which requires database calls to be handled in a separate IBM i environment.
In his article, Pavlak argues that not including database-related functions in the toolkit will actually improve performance. We’ll undoubtedly hear more details about database access using the new toolkit in the weeks to come.
Meanwhile, AURA is coming out with a new version of its EasyCom for PHP product. In version 4, Rubele says the company has addressed the large amount of coding required to make program calls in the old PHP toolkit. The use of XML in version 4 simplifies this process, he says. Look for a story on EasyCom for PHP version 4 in next week’s issue of this newsletter.