RealTime IT News

Clash of the .Net, J2EE Clans?

Robert McLaws, president and chief software architect at Interscape Technologies, wants to pick a fight with the Java community.

The 22-year-old .NET developer recently started a clan, a group of .NET programmers who also play Microsoft's highly-popular Xbox game, Halo 2.

So far, "MastersOfDotNet" has accumulated eight or nine like-minded developers. McLaws, one of the youngest American to get Microsoft's Most Valuable Professional (MVP) award, has issued a challenge: take on any Java developer clan on the virtual fields to see who is the best.

The potential for virtual mayhem in the Halo world is light-hearted. But it also underscores the struggle for hearts and minds in the real world of developers between Microsoft's .NET platform and the competing Java 2, Enterprise Edition (J2EE) .

Who's winning? A report by Forrester Research in September found .NET has gained majority status in the enterprise world, if only by a slight margin.

Among 322 software decision-makers who participated in the survey (".NET Versus J2EE: .NET Has Clearly Arrived"), 56 percent said they use .NET as their primary software development platform. J2EE use clocked in at 44 percent in the survey.

Other findings in the report show:

  • .NET is the preferred platform in five of seven industries (public sector; business services; media, entertainment and leisure; retail and wholesale trade; and manufacturing), while J2EE is favored by the utilities/telecom and finance/insurance industries;
  • Firms with higher IT budgets are more likely to go with J2EE, while smaller firms and companies facing rough economic times are likely to choose .NET;

A number of factors help .NET's popularity, notably the dominance of the Windows operating system and the novice-friendly programming languages like Visual Basic and C# that are used on the platform.

Randy Heffner, Forrester Research vice president and author of the September report, said when Microsoft first announced .NET in 2000 (.NET Framework 1.0 and Visual Studio .NET didn't come out until 2002), there were big questions about whether Microsoft could get developers to accept a major architectural change from its prior Windows DNA platform. (DNA is short for Distributed interNet Applications Architecture, a marketing name for a collection of Microsoft technologies that enable the Windows platform and the Internet to work together.)

"There were a lot of folks, before .NET came out, who had been in the Microsoft world and doing things in the DNA architecture, who were just saying, 'look, Microsoft's just not cutting it, I'm going toward the J2EE world,'" he said.

"As opposed to .NET being a J2EE killer, it was really a Microsoft saver and it was their first enterprise-credible application delivery platform where you could think about doing more than departmental client-server applications."

The Complexity Debate

Java proponents don't see .NET maintaining its popularity edge much longer, especially with the advent of J2EE 5.0 (previously named J2EE 1.5).

With J2EE 5.0, an extension of the September release of J2SE 5.0, the Java community is making it easier for less-experienced developers to create applications.

Marc Fleury, chairman and CEO of open source application server company JBoss, acknowledged the simplicity edge .NET has maintained to date. But he doesn't expect it to continue much longer.

For instance, when he saw how Microsoft's C# was able to write Web service applications by tagging the source using annotations, he realized that that was the right way to go.

J2EE, on the other hand, used EJB (Enterprise JavaBeans (EJB), a Java API developed by Sun Microsystems that defines a component architecture for multi-tier client/server systems). J2EE also uses and XML to do the same thing, which he said was quite complex.

J2EE 5.0 will resolve that problem -- and make the development process more, well, .NET-like -- with the inclusion of its own annotations and EJB 3.0, an overhaul of the EJB specification, JAX-RPC 2.0 and JavaServerFaces 1.0.

But Microsoft has time before it feels the heat from J2EE 5.0.

Dennis MacNeil, Sun Microsystems J2EE senior product marketing manager, said version 5 won't be available until the first quarter of 2006.

Indeed, by the time J2EE 5.0 is out the door, said Dino Chiesa, Microsoft .NET technology strategy product manager, the next version of the .NET Framework, version 2, will have been out for months. Beta tests are underway; officials expect a final release of .NET Framework 2.0 in the summer of 2005.

Push-Me-Pull-You Innovation

Chiesa said the industry is full of rivalry stories between .NET and J2EE, a back-and-forth growth of innovations expanding on the ideas of the other.

Take Java's attempts to simplify the J2EE platform with JavaServerFaces (JSF) 1.0, which mimic Microsoft's ASP.NET's capabilities to build interactive Web pages. Microsoft has been delivering that capability since 2002.

"I think what you're seeing now, definitely, is [that] Sun and Java are starting to borrow some of the ideas Microsoft already had," he said. "JSF is one very clear example where they have been quite upfront about saying, 'we're going to match ASP.NET.' It remains to be seen whether they will match ASP.NET but at least they've identified that as the goal."

Sun's MacNeil doesn't think it will be too difficult to woo developers to J2EE, since Java is already attracting a sophisticated cadre of developers and architects. Plus, the upcoming J2EE version is designed to address the needs of less-skilled programmers.

"I think we're coming from a position of strength," he said. "The problem with .NET going forward, as I see it, is it'll be more difficult attract the more sophisticated developer in terms of the way .NET is designed, since it limits you to the Windows platform and a one-vendor solution."

Sometimes, though, the Java community's solidarity and open source spirit can become its own weakness, especially for .NET developers who are contemplating either incorporating J2EE application development or making the switch entirely.

"You can say there's a lot of community in the Java world but at the end of the day there's a lot of Java/open source people who are anti-Microsoft people and so it turns into a lot of animosity in terms of not so much, 'hey, let's learn about Java tools and Java programming,' but 'hey, lets bash Microsoft,'" said Interscape's McLaws. "That can be very counterproductive in terms of putting together a community that people want to be around."

If you have a problem with that, McLaws is happy to duke it out with you on the virtual fields of Halo 2. Signups are here.

Just don't forget your Xbox.