Web Development Made SimplerBy David F. Carr | Posted 2005-11-08 Email Print
Open-source Web programming tools can get applications online quickly and cheaply. But which should you use, and when?
Like a lot of Web developers, professional and amateur, I like PHP, the open-source programming language. It's ideal if you're fielding a Web site on a limited budget; any number of hosting companies will sell you an account on a Linux server running the Apache Web server with PHP support and a MySQL database.
This is sometimes called the LAMP "platform," for Linux, Apache, MySQL and PHP (or Perl, or Python), the loosely knit family of open-source Web development technologies.
PHP originally stood for Personal Home Page, a name it has outgrown. Developers insert bits of PHP code between the formatting tags of a Web page, and those instructions use data submitted by a user or retrieved from a database to determine what gets displayed on the page.
Most large, technologically diverse corporations probably have a PHP application or two running somewhere. Serious big-business Web applications, however, tend to run on either Microsoft or Java technologies. PHP gets more respect from small businesses, cash-strapped community organizations and Web hosts.
But how much of this corporate embrace of Microsoft and Java is based on merit, as opposed to mind-share?
Marc Andreessen, the Netscape co-founder now serving as chairman of Opsware, recently gave PHP the kind of endorsement he once gave Java. On joining the board of Zend Technologies, which provides commercial support for PHP, Andreessen praised PHP as offering a simpler alternative for developing Web applications quickly.
I spoke with Mark Rankin, research and development manager at ADP's Dealer Services division, on Sept. 30, the day after he was quoted in a Wall Street Journal article about Andreessen's endorsement of PHP. The story used Rankin as an example of a development manager who had "abandoned" a Visual Basic project in favor of PHP, and the exposure had left him a little press-shy. But for Rankin, it was not a matter of forsaking one technology for another, but choosing the right tool for the job.
Dealer Services, which provides hardware, software and infrastructure to car and truck retailers, is a $1 billion division of ADP, so its use of PHP to Web-enable its core management application represents a big commitment. Rankin likes PHP's relative simplicity. Because it was born with the Web, it tends to offer simple ways of accomplishing common tasks such as turning a user's input into an e-mail.
Rankin, however, is also using Microsoft technologies such as the C# programming language for other projects. "If it makes sense to use Microsoft technologies, then that's just what you do," he told me back in April.
The Java and Microsoft platforms can do everything PHP can and moreso much more than a developer can become overwhelmed. Which is why Rankin decided PHP was better for Web-enabling Dealer Services' management application. His division had started rewriting the program in Visual Basic, but Rankin thought they were unnecessarily duplicating the business rules in the original language, Pick Basic.
"The rules in our application are the crown jewels," Rankin says; they keep track of complexities such as state, city and county taxes on every sale. So he boiled down the project to grafting a Web interface onto the legacy application, and picked PHP as the easiest means of accomplishing that.
It only took Rankin's team a couple of weeks to write a PHP extension that allowed them to connect with the Pick application, and in three months they displayed a prototype at a dealers' convention. The application is now used by thousands of dealerships around the country. ADP can add new features quickly, giving its legacy program the look and feel of a new, vibrant Web application.
There were trade-offs, such as switching from Microsoft's slick visual application development tools to the comparatively bare-bones Zend programming environment. But the Zend tools provided the essentials Rankin really cared about for creating and debugging code, such as the ability to set "break points" associated with specific lines of code to isolate the cause of a software bug.
Point being: Sometimes, simpler is better.