|
May 2002
THEORY AND PRACTICE
Java vs. .NET: Which Route to Web Services?
by Lowell Rapaport
While Java and .NET seem to be different one's a programming language and the other a Web
services implementation they both fill the same niche in enterprise computing: Java and .NET are
both tools for distributing applications across the enterprise's IT infrastructure.
Each has advantages and disadvantages. Corporate and commercial developers need to look at the
two development environments and decide which will best fit their needs for short- and long-term
use. A key component of .NET is the common language runtime engine (CLR). Applications written in
Visual Studio .NET and C#, Microsoft's .NET programming languages, are compiled to run on a CLR. The
CLR is similar to the Java Virtual Machines used to execute Java byte code. Programs that run on
Microsoft's CLR use more hardware-native instructions than Java's fully abstracted bytecode and can,
in theory, run faster than their Java counterparts.
There are other benefits to using Microsoft's .NET framework. For example, Microsoft's .NET tools
allow developers to leverage their existing code and libraries. This also leaves .NET open to the
criticism that it leaves developers too dependent on Windows.
"If you program [Web services] with Microsoft's .NET tools, you lose cross-platform capability,"
says James Palo, vice president of research and development at Snowbound Software, a Java and .NET
toolkit supplier based in Newtonville, MA. "Programming with .NET restricts you to using Windows
operating systems, Microsoft servers and Web services supplied by Microsoft, such as Passport."
Answering this charge, Microsoft's Mike Iem, Visual Basic product manager, insists that ".NET can
interface with any Web services application on any platform, including non-Windows platforms."
This statement implies that there is no real penalty in using Microsoft's .NET framework, but if
you do use .NET, you'll always have to include Windows in your enterprise. It remains to be seen if
developers will be able to use .NET Web services such as Passport without having to use the .NET
libraries contained within Windows. Microsoft may require users to have a version of Windows on
their networks, even if those users prefer to employ non-Microsoft operating systems such as Solaris
or Linux for enterprise applications.
Critics charge that Microsoft will maintain market share in a Web services world by making
Windows a prerequisite to using essential .NET Web services online or to interoperate with
.NET-based systems run by business partners.
Ask Lowell
Do you have a question about current technology or the next wave? Ask Lowell and he'll explain;
write asklowell@transformmag.com.
|