Author Archive
Zend Server, PHP, RIAs and Flex
I recently attended an Adobe Flex user group meeting here in New York where the title of the presentation was “Zend Server: A Flex Perspective”. I knew that earlier this year, Zend officially announced the Beta release of their new PHP application server product, and as a developer of large scale RIA web applications using PHP and Flex, I was anxious to learn how this new product might impact our next project. The presentation was a good, albeit brief, overview of Zend Server. However, despite the title of the presentation and the theme of the user group, no connection was made between this new product and Flex. I thought I’d try to make that connection here.
A Little Background: Zend?, Zend Server?, Flex?
Zend is known as “The PHP Company”. Their founders are key contributors to the core PHP language and the company focuses on creating products to help improve the entire PHP application development life-cycle experience. They provide products and services to help with configuration and installation, development, deployment and with production application administration and maintenance.

Zend Server dashboard
Zend Server is one of Zend’s most recent products and is a package of several different Zend offerings. On one hand, Zend Server is a certified PHP distribution that includes the most reliable and up-to-date version of PHP, tested PHP extensions, database drivers and comes bundled with Apache. It also wraps a nice, user-friendly interface around the configuration management of PHP, Apache and all these extensions to provide ease of initial environment configuration and maintenance. On the other hand, it is a suite of development components providing tools to ease development and deployment, optimize application performance by speeding up PHP execution and by providing data caching options, and assist in monitoring and debugging multiple environments running remotely. Zend Server comes in two flavors: A free community version and a commercial version. The commercial version has extra features as well as full support from Zend.
Flex is an Adobe development framework that assists in the creation of cross-platform rich internet Flash applications (RIAs). Flex has really opened-up the Flash door to non-Flash developers. It removes the need to work within the esoteric Flash movie “timeline” and allows traditional programmers a more familiar environment in which to build applications. You use the ActionScript scripting language and an XML-based markup language called MXML to build Flex applications.

Adobe Flex Builder 3
Okay, so what does one have to do with the other?
Well, as developers are turning to Flex as a presentation tier to help meet the ever growing demands of Web applications to manage and deliver rich media and deliver rich interactive user experiences, they have to turn somewhere for the application tier to deliver the services and data management that drive these flashy front-ends. To date, Java has been by far the most popular choice for this tier. So much so, that some claim there are no other “real” options. I would never argue against a decision to use Java as the application tier in an n-tier Web application environment. But I do think there are options. And I do believe PHP is one of those options.
Among many professional software developers, PHP has a reputation for not being particularly well-suited to large or extremely complex site implementations. Some even believe that PHP is nothing but a simple templating language, only to be used for initial mockups and quick demonstration POCs, and has no role in serious, production, “Enterprise” applications. I don’t want to go down the long path of refuting such misconceptions. Please take a look at Zend’s own John Coggeshall’s rebuttal of such claims. But one fair criticism of PHP, also acknowledged in Mr. Coggeshall’s article, is that PHP has been weak in “Enterprise” tooling. Java has been in this space for a while, and has several free and commercial application servers from which to choose that provide a wealth of tools and functionality to support serious, enterprise-grade applications. Zend Server is striving to fill this gap in PHP and move PHP onto the short-list of viable options when CTOs, CIOs and Managers are choosing the technology stack on which to run their next next big RIA project.
One last point, with regard to Abode Flex in particular, is that previously there has been no official supported implementation of Adobe’s Action Message Format (AMF) integration with PHP. The teaming of Adobe and Zend to back Zend_Amf, which is part of the Zend Framework bundled with Zend Server, has changed this fact. With the release of Zend_Amf, PHP can now officially speak in the native tongue of Flex’s ActionScript, making integration fast and seamless. This, along with the introduction of Zend Server, goes a long way in support of using PHP as the application server tier behind an Adobe Flex UI.