When you think of enterprise web applications, it’s only natural to think of J2EE and .Net. After all, these are the technologies most developers choose when implementing mission-critical apps. But as Friendster found out, the open source LAMP platform is a mature alternative that has a lot to offer, particularly for projects on a tight budget.
The first three letters in LAMP stand for Linux, Apache, and MySQL, which comprise the OS, Web server, and database management system, respectively. Some developers dispute that Linux should be part of the equation; the same stack runs on Mac OS X, Unix, and even Windows. Linux, however, has the advantage of offering the same low cost and access to source code that the other components provide. The P in LAMP is a matter of preference; it stands for either Perl, PHP (PHP: Hypertext Preprocessor), or Python, although some would argue that other scripting languages, such as Ruby, deserve a place at the table as well.
Whereas J2EE and .Net development extend classic systems programming techniques and technologies to the Web, LAMP can be seen as a more direct descendent of the CGI programming model from the early days of Web development. The PHP scripting language, in particular, evolved with Web development squarely in mind, including numerous features designed to eliminate the drudgery of CGI programming. What’s more, the process overhead associated with traditional CGI has been all but eliminated in the modern LAMP platform. By loading either Perl, PHP, or Python as an Apache module, Web applications can execute quickly and efficiently.
Extensions to PHP allow developers to create Web-based software using sophisticated techniques, including template-based presentation and Model-View-Controller design. Early PHP applications could often be dismissed as hacks built using crude methods, but modern versions of the language offer many of the object-oriented tools available to C# or Java developers, and its execution core is stable and efficient.
Corporate support for LAMP applications is available from a number of sources. Most notably, Zend Technologies offers a full suite of consulting services around PHP, in addition to being responsible for a number of core PHP technologies. Support for MySQL is available from its parent company, MySQL AB, as well as other, independent sources.