![]() |
|
|
J2EE and .Net: Two Roads Diverge in XML By Paul Rubens August 20, 2001
There's little argument that XML Web services are the future of computing, which explains why Microsoft is promoting .Net its XML Web services platform as heavily as it is.
»Is Microsoft Attacking Sun or Protecting Consumers?
»Sun Comes Out Slinging With Web Services Strategy
J2EE is backed by many heavyweight application server vendors, including IBM, BEA, Hewlett-Packard and Oracle. Sun's Web Services Pack, which contains key technologies to simplify building Web services using the current version of the J2EE platform and XML, will be available for developers soon.
The Wonder of Web Services In theory, standard specifications for Web services building blocks such as XML, SOAP (Simple Object Access Protocol), WSDL (Web Services Description Language) and UDDI (Universal Description, Discovery, and Integration) provide a common denominator that .Net and J2EE technologies can use to communicate with each other.
A significant difference between Microsoft's .Net platform and the J2EE specification is that J2EE involves many different companies. J2EE is not a product in itself, but is more a set of standards that developers need to adhere to.
The truth is that neither Microsoft's .Net product line nor the J2EE specifications are close to complete yet, although the picture for both platforms is slowly becoming more clear. So with two alternative platforms on which to build Web services, ASPs and software developers are faced with a choice: J2EE or .Net?
A Question of Platform vs. Language Dependence Source code written in these languages (and, in theory, other languages once suitable compilers are written) is compiled into Microsoft Intermediate Language (known as MSIL or IL). This MSIL code is then just-in-time compiled at run time by the Common Language Runtime (CLR) or is compiled directly into native code. The only target platform now, and for the foreseeable future, is Windows. Code written in other languages can use a shared set of components after being compiled into MSIL (assuming again that such compilers are developed).
J2EE, in contrast, is based on Java and Java only. Java source code is compiled to produce object code, known as bytecode (which is analogous to Microsoft IL code). When the code is ready to run, the Java Virtual Machine interprets this bytecode and executes it at run-time. Or the code can be just-in-time compiled or entirely compiled into native code. In theory, at least, any platform with a Java Virtual Machine (including mainframes, Unix systems and Windows) will be able to run the bytecode.
If platform independence is key, then this makes the choice simple, according to Jay Williams, senior vice president and chief technology officer of Texas-based consultants Concours Group. "If as an ASP you were looking at Microsoft Office subscriptions then clearly looking at .Net will make a lot of sense. If you are looking at doing HR apps or Oracle-based apps then you'd want to be looking at a much more portable platform [like J2EE]," he said.
Development Tools of the Trade
The tools available for J2EE are supplied by a variety of tool vendors including Sun, BEA, IBM, and to some extent they are interoperable. These tools should not be underestimated, but the pool of Visual Studio developers is likely to be far greater than the pool of developers with skills in any of the individual J2EE development toolsets. This is an important factor in .Net's favor, Williams said. "Visual Studio is hugely popular, and Visual Studio.Net will make .Net a significant development platform."
"There's probably general agreement among developers that the Java community has been playing catch-up. The conventional wisdom is it is a little behind .Net, but not as much as Microsoft would want you to think," Summit Strategies analyst Dwight Davis told ASPnews.
Many developers and customers seek a single-vendor solution whenever practical to avoid buck passing. While Microsoft provides a complete single-vendor Web services platform for existing Microsoft shops, anyone with legacy systems from J2EE vendors can create a single-vendor solution by integrating their legacy systems with a Web services platform from that same vendor.
For many developers, one feature will be enough to tip the balance in favor of one of the two platforms. Ian McBeath, CEO of London-based e-business software developer RemoteApps, is committed to the Java platform for reasons of platform independence. "J2EE allows us to use almost any technologies and application servers, so when we go to a client it is easy to sell a Java-based product.
Picking a Winner Concours Group's Williams said he agrees that the fear of backing the loser is overemphasised. "The key here is Microsoft's support for standards," he told ASPnews. "If it does stick to the standards, then it doesn't matter what the services are delivered in. But if Microsoft makes proprietary extensions (to enable .Net to work with Microsoft Office apps in a particular way, for example) then it could make choices more tricky. In reality, however, you always have to implement nonstandard things to make a specification work, and Microsoft has done this in the past and it has turned out to be a positive rather than a negative thing."
Summit Strategies' Davis points out that same thing is largely true for J2EE, "Developers will develop code for more than one platform, not just J2EE. As developers fine tune their app, it becomes less portable. ISVs will differentiate themselves to complete with other vendors. They'll want to add value; then things can get fragmented."
Ironically, developers may select a Web services platform for far more pragmatic reasons than their relative merits. For example, the skills sets of existing and potential staff are vital, said Eamus Halpin, CEO of U.K.-based ASP and systems integrator iRevolution (formerly iFuel). "Our development effort is based around Visual Basic and C this is client driven and we have the skill sets for that. If you have existing Microsoft code and tools, then migrating to .Net is obvious," he told ASPnews. "If we didn't have Microsoft skill sets, it would be reasonable for us to choose [either] J2EE or .Net," he said.
Common Ground in XML Ultimately, it's in everybody's best interest to ensure that Web services work regardless of the platform they were built on, and for them to succeed in the way that many are predicting this will be essential. Fairly or unfairly, many suspect that if anyone decides to ignore Web services standards, it will be Microsoft. But Web services may prove to be too important to be ignored. Concludes Williams: "I think that Microsoft has recognized that with Web services, it can't lock out the rest of the world."
Back to Trends |
||||||||
|
|
Featured
Links |