I. Preface Some of the statements we make will offend you, and hopefully more of them will agree with you. So as you read this paper, please remember our three promises: Although both J2EE and .NET cover a great deal of technologies and standards, we will focus specifically on building server-side systems as web services using these architectures (for example, we will not be mentioning Jini or Office XP). After reading this white paper, you will have a solid understanding of how these architectures compare, and be empowered to make intelligent decisions in new web services initiatives. The first half of this whitepaper is background information about web services, J2EE, and .NET. If you already understand these technologies, feel free to skip ahead to the 2nd half of the paper, which is the juicy comparison. The next generation of distributed computing has arrived. Over the past few years, XML has enabled heterogeneous computing environments to share information over the World-Wide Web. It now offers a simplified means by which to share process as well. From a technical perspective, the advent of web services is not a revolution in distributed computing. It is instead a natural evolution of XML application from structured representation of information to structured representation of inter-application messaging. The revolution is in the opportunities this evolution affords. Businesses have been offering products and services on the World-Wide Web for the past few years. Have they not then been offering web services? In what way are web services actually new? In an article entitled The Web Services (R)evolution - Applying Web Services to Applications" Graham Glass, the CEO and Chief Architect of The Mind Electric defines a web service as: Prior to the advent of web services, enterprise application integration was very difficult due to differences in programming languages and middleware used within organizations. The chances of any two business systems using the same programming language and the same middleware was slim to none, since there has not been a de-facto winner. These 'component wars' spelled headaches for integration efforts, and resulted in a plethora of custom adapters, one-off integrations, and integration 'middlemen'. In short, interoperability was cumbersome and painful.
In this whitepaper, we will make a powerful comparison between the two choices that businesses have for building XML-based web services: the Java 2 Platform, Enterprise Edition (J2EE)1 , built by Sun Microsystems and other industry players, and Microsoft.NET2, built by Microsoft Corporation.
II. Introduction
"A collection of functions that are packaged as a single entity and published to the network for use by other programs. Web services are building blocks for creating open distributed systems, and allow companies and individuals to quickly and cheaply make their digital assets available worldwide."3






