Business Week has just published an article, "Java? It's So Nineties." It asks: "Can it possibly be that Java--once the hippest of hip software--has become a legacy technology?"
The article talks about competition to Java from LAMP, .NET, and AJAX. It points out that popular sites like Google and Yahoo don't use much Java.
This information may be correct, but it's also missing (a lot of) the point. The question is whether you need business logic in your Web site, or whether your Web site just shows users your database.
The article talks about tasks that don't require much business logic. Google just displays search results, e-mail, and map images. Yahoo is the poster child for portals, aggregating existing info and integrating it on the glass. They both use read-only data that can be highly replicated; users can configure the display. Those tasks require minimal programming logic, so PHP scripting and a simple SQL database be all you need (plus a Web server and OS). Even then, huge sites like Google and Yahoo must be doing much more than just using PHP.
But a lot of sites need more than scripting. Do your users need to: Find airline tickets? Trade stocks? Does your implementation need to: Integrate with EISs? Enforce security? Coordinate multiple users updating the same data concurrently? Good luck with PHP scripts. You're gonna need J2EE or .NET for that. I can tell you that this is what WebSphere (WAS) customers are doing.
This is an old argument. I remember in the early '90s when Smalltalk would compete with tools like PowerBuilder. PB would let you CRUD your data, but not much more. Smalltalk would give you business logic. Which was better? Depends on what you need. If you just need to CRUD your data, PB was easier. For more sophisticated apps, Smalltalk was more sophisticated and capable.
So LAMP may well work if you want open-source everything and just want to display (and CRUD?) your database. But for full-blown applications hosted on the Web, LAMP won't cut it. AJAX is a cool display technology (see Ajax and Java), but it's only a display; you still need a server behind it running something (LAMP, Java, .NET, etc.). .NET is on the same level as J2EE, and c# is very Java-like, so then that comparison is the old Microsoft-only vs. semi-open-standards and write once, run everywhere argument.
The article seems to miss a lot of emerging trends. It fails to distinguish between Java and J2EE (aka Java EE), comparing Java to .NET. It doesn't discuss the biggest trend in IT today, SOA; much less IBM's new SOA programming model, SCA. It seems like Java and J2EE have grown a lot since Peter Yared was an exec at Sun.
So yeah, Java may not be the technology of choice for displaying your database. But hopefully your Web apps are doing a lot more than that.
Is Java So Nineties?