X
Business

Microsoft .Net: The alternatives

IT Priorities: Microsoft would like to think it's cornered the market in Web services with .Net but there are other options
Written by Matt Loney, Contributor
headerleft.jpg
Microsoft .Net: The alternatives
Matt Loney
Microsoft would like to think it's cornered the market in Web services with .Net but there are other options

Microsoft's marketing muscle is such that you would be forgiven for thinking that the company's .Net framework is the only way to do Web services. In fact, nothing could be further from the truth.

The most commonly thought-of alternative is J2EE, and there are many debates going on within companies as to which to go with. But some experts claim, all too often, the people holding these debates are asking the wrong questions.

"It's not an apples for apples comparison," said David Keene, senior product manager for Oracle 9i Application Server, who gave a talk at this year’s JavaOne conference titled J2EE vs Microsoft .Net. "The architectures are very different. With Microsoft you buy an operating system that contains the application server -- it all comes bundled as a 'black box' that just works. With J2EE you are buying into a 'white box' open architecture -- a standard as opposed to a product."

Keene believes that both .Net and J2EE are past the hype cycle, but what people really need now is help articulating the need to go down one route or the other. Ultimately, he says, the decision should be dictated more by buying cycles than by the technologies.

“The real debate is about whether you go with Microsoft or one of its competitors, such as Sun, IBM, BEA or even Oracle,” said Keene. “The problem with .Net is that when Microsoft releases a patch for the operating system you risk destroying everything you have built when you install it. With a Java stack, the patch cycles for these technologies tend to be much slower.”

Chad Vawter and Ed Roman of The Middleware Company, a firm that conducts enterprise Java training and consulting, might be expected to favour J2EE over .Net, but even they are not necessarily as partisan as you might expect. In a recent white paper authored by the two, and available here on IT Insight, they recommend single vendor solutions for Web services. "One of J2EE's strengths is that it has spawned a wide variety of tools, products, and applications in the marketplace, which provide more functionality in total than any one vendor could ever provide," they write, pointing out that this strength is also a weakness. "J2EE tools are often-times not interoperable, due to imperfections in portability. This limits your ability to mix and match tools without substantial low-level hacking."

With lower-end J2EE implementations, note Vawter and Roman, you need to mix and match to get a complete solution, and this is the trade-off when choosing a less complete package. Larger vendors, such as IBM, Oracle, BEA, and iPlanet, each offer a complete Web services solution.

.Net on the other hand provides a fairly complete solution from a single vendor. “This solution may lack some of the higher end features that J2EE solutions offer, but in general, the complete Web services vision that Microsoft will be providing is equal in scope to that of a larger J2EE vendor.”

Next page

headerleft.jpg
Microsoft .Net: The alternatives
Matt Loney
Page Two: Microsoft would like to think it's cornered the market in Web services with .Net but there are other options

On balance, the two find more arguments for using J2EE to develop Web services than they find for Microsoft’s .Net.

Arguments supporting both platforms according to Vawter and Roman:

Regardless of which platform you pick, new developers will need to be trained (Java training for J2EE, OO training for .Net).
You can build Web services today using both platforms. Both platforms offer a low system cost, such as jBoss/Linux/Cobalt for J2EE, or Windows/Win32 hardware for .Net.
Both platforms offer a single-vendor solution.
The scalability of both solutions are theoretically unlimited.

Arguments for .Net and against J2EE according to Vawter and Roman:

.Net has Microsoft's A-team marketing it.
.Net released their Web services story before J2EE did, and thus has some mind-share.
.Net has a better story for shared context today than J2EE.
.Net has an awesome tool story with Visual Studio.Net.
.Net has a simpler programming model, enabling rank-and-file developers to be productive without shooting themselves in the foot.
.Net gives you language neutrality when developing new e-business. applications, whereas J2EE makes you treat other languages as separate applications.
.Net benefits from being strongly interweaved with the underlying operating system.

Arguments for J2EE and against .Net according to Vawter and Roman:

  • J2EE is being marketed by an entire industry.
  • J2EE is a proven platform, with a few new Web services APIs. .Net is a rewrite and introduces risk as with any first-generation technology.
  • Only J2EE lets you deploy Web services today. Existing J2EE code will translate into a J2EE Web services system without major rewrites. Not true for Windows DNA code ported to .Net.
  • .Net Web services are not interoperable with current industry standards. Their BizTalk framework has proprietary Soap extensions and does not support ebXML.
  • J2EE is a more advanced programming model, appropriate for well-trained developers who want to build more advanced object models and take advantage of performance features.
  • J2EE lets you take advantage of existing hardware you may have.
  • J2EE gives you platform neutrality, including Windows. You also get good (but not free) portability. This isolates you from heterogeneous deployment environments.
  • J2EE has a better legacy integration story through the Java Connector Architecture (JCA).
  • J2EE lets you use any operating system you prefer, such as Windows, Unix, or mainframe. Developers can use the environment they are most productive in.
  • J2EE lets you use Java, which is better than C# due to market-share and maturity. According to Gartner, there are 2.5 million Java developers. IDC predicts this will grow to four million by 2003. Seventy-eight percent of universities teach Java, and 50 percent of universities require Java.

Going Mono
There is, however, a third option. This comes in the shape of the open-source Mono project backed by Ximian, which is now in the process of being acquired by Novell.

When the acquisition was announced, Novell expressed a commitment to continuing to support the Mono project, which is designed to allow applications developed using Microsoft .Net to run on Linux, Unix, Windows and other platforms -- right where Novell believes its network and infrastructure services will help. More than 150 developers worldwide contribute to Mono, including a range of companies building commercial products using Mono technology, according to Ximian.

Ximian founders Miguel de Icaza and Nat Friedman, well-known open-source visionaries, helped found the Mono project as well as the Gnome project, and at the time the acquisition was announced were slated to continue leading these initiatives as Novell. Because a lot of open-source projects tend to be personality-led, the movements of de Icaza and Friedman are likely to be watched with interest.

The Mono project can be found at www.go-mono.com.

Previous page

Editorial standards