11 million installations can't be wrong

MySQL Journal

Subscribe to MySQL Journal: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get MySQL Journal: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

MySQL Journal Authors: Jnan Dash, Mehdi Daoudi, Progress Blog, AppDynamics Blog, Greg Schulz

Related Topics: Java EE Journal, Apache Web Server Journal, MySQL Journal

J2EE Journal: Article

Does LAMP Challenge J2EE?

LAMP Challenges J2EE and Microsoft .NET, Says Steve Michel

The acronym LAMP is gaining critical-mass credibility among developers. Staying away from describing how it will "light up" or "illuminate" the development landscape, let's just simply say that LAMP is an acronym that generally means Linux, Apache, MySQL and PHP.

LAMP is a collection of open-source tools that provide full-service web solutions. One of the things that makes LAMP so popular is the wide variety of hosting solutions for it; it's easy to find an inexpensive hosting service that offers these services.

One of the interesting things about taking a LAMP approach is the total flexibility of the solution. Any, or even all, of the particular technologies can be replaced, yet you will still have a LAMP solution. Let's look at the individual pieces (experienced developers, please bear with me):

Linux practically defines the term "open source," and represents the generally free or low-cost operating system behind it. Linux, as we know, is offered in commercial, hardened versions by a number of vendors, such as Red Hat and SuSe. It's often replaced by FreeBSD, (a free descendent of the original UC Berkeley Operating System). Many hosting services run in FreeBSD, and Apple's OS X runs under something very much like FreeBSD. Windows can also host other LAMP technologies, such as Apache, PHP, and MySQL.

Apache is the open-source web server software that actually responds to web requests, and is a powerful, flexible, yet fairly easy-to-manage tool. Most sites are running version 1.3.2 of Apache, though version 2 is growing in popularity. According to Netcraft, nearly 70% of all websites today are being served by Apache, and just over 20% are running Microsoft's Internet Information Server (IIS).

MySQL is generally considered to the database program most widely used for web purposes. It's a fast, easy-to-use, generally standards-compliant SQL database, and a variety of tools (such as phpMyAdmin) and support by popular scripting languages make it popular. The software is in transition now: version 4.1 with some sorely need capabilities (most notably, subqueries) has just been released, and a major new version 5, with significant new powers(stored procedures, triggers, functions) is due for release this summer.

A major issue going forward with regards to MySQL will be the costs (in time and work, not necessarily dollars) of upgrading, and how fast or slow providers include it on their servers. I think there will be a clamor.

Version 5.0 will bring MySQL much closer to Oracle, Sybase, and SQL Server in power, and it might make more inroads into non-web uses. It's hard to measure how many websites use MySQL, as that information isn't necessarily exposed to the public, as OS and server information is. Some sites use PostgreSQL, a generally more powerful SQL database engine instead of MySQL. Both MySQL and PostgreSQL can run under Windows in addition to *nixes, making it easy to mix and match.

And lastly, PHP has become an extremely popular scripting/templating language for web development. The "P" in LAMP can also refer to Perl or Python, both of which are also popular, though a bit harder to use as templating languages. As with MySQL it's difficult to measure exactly how many sites use these languages, although searches of job sites show demand for PHP scripters is strong, and Python looks to be growing.

As with MySQL, the PHP world is undergoing a big change. Version 5 was recently released, requiring some changes to implement old solutions, and adoption by hosting services is still pretty limited. PHP and Perl both run in Windows much the same way they run in *nix.

I should state again that one of the key things about these technologies is the way they mix and match. For example, I have a Windows server at home, and have been working with a client of mine on a FreeBSD server. But once I had them set up, to script them I didn't need to worry about making changes between my test environment on Windows and the production environment on FreeBSD.

I also have components running on my iMac, which was a bit easier to set up that Windows, as it came with Apache and PHP installed.

I agree with assessments that the LAMP open source stack is emerging as a strong challenger to the J2EE and .NET stacks. Given that these technologies are open source and very widely available, I see no reason to drink Microsoft's or Sun's Kool-Aid.


More Stories By Stephen L. Michel

Steve Michel is a developer and writer living in the Berkeley, CA area.

Comments (5) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

Most Recent Comments
Developer 05/18/05 01:51:29 AM EDT

Well... IMHO this is not a full/empty question: try to develop a real bussiness application with LAMP. It is feasible, but expensive in mantenaince.
I think it's better to use LAMP for small apps or even medium size, user interface intensive apps, and use J2EE for complex apps.

Nealle 05/12/05 03:55:08 AM EDT

Nice article, but I don't think that it really answered the question asked. I love LAMP and would like to think that the answer is yes. I am also a believer that not one solution will work for every problem. It depends on time and money available to throw at the problem.

I would like to see some one highlight those points in which LAMP is comparatively strong compared to J2EE and .net.

Your Opinion?

Ravi Sunchu 05/11/05 12:59:17 AM EDT

Just throwing a webserver and a scripting language does not make it competetor to J2EE or .Net (leaving the OS and DB out of this because they are external to J2EE or .Net also).

Of course, this will be enough to support a simple web site with moderately complex functionality around it (LAMP fans!! I am not challenging whether you COULD develop highly complex applications with those set of tools... my question is 'what's the cost?').

Moreover, if some company is using a full J2EE suite for simple or moderately complex web applications (without any business reasons to do so), they better get a new architect. In my opinion, non-Java solutions cater to these needs much better without the complexity and cost.


ranjix 05/10/05 09:45:29 AM EDT

you are comparing apples and elefants. pretty soon you'll have articles with lamp challenging assembler, and, a little later, miami heat.

Bob G. 05/09/05 09:25:16 PM EDT

I've been doing J2EE since it's inception, but I immediately liked LAMP better. Must be my C/C++ heritage.