Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services
Sun vs. Microsoft True interoperability is only going to be achieved if the major players including Sun and Microsoft work together We are trying . and it really isnt all that bleak a situation
The WS-I Blockade The Web Services Interoperability (WS-I) organization Sun was only informed of the WS-I's existence by IBM 48 hours ahead of the WS-I's February 6 launch. That's hardly enough time to do the necessary due diligence when a chief competitor approaches you about joining an industry group By contrast, Oracle had been invited to join in early January. Sun immediately requested a board seat on the WS-I IBM pushing Sun membership Last week we announced we were joining after Microsoft agreed to the creation of 2 new board seats
The Liberty Alliance By sharp contrast to Microsofts behavior on the WS-I we have specifically invited Microsoft to join the Liberty Alliance Microsoft wants to own everyones data through its proprietary Passport service Liberty Alliance, by contrast, standardizes identity management exchanges but leaves companies free to implement and maintain data
The Historic Sun Vision Sun has always had a services view of the network (part of our The Network is the Computer vision) The concept of building services on and around the Web and the network is really all that the network is about. Java (and J2EE) has always been about delivering services via the web Which is why Java has always been the platform of choice
Apples and Oranges Openness of the Platform APIs Availability of Vendor Products Architectural Dependencies of each Platform Can't exactly compare.NET to J2EE
J2EE Environment Facts Compatible across many available Platforms- No Vendor Lock-In Ample choices of vendors and tools Mix and Match of BOB components Freedom of choice Open standard & support from the industry Industry Standard
Industry Support of J2EE Over 30 J2EE platform providers 15+ Certified J2EE App Servers on www.sun.com www.sun.com 500+ JCP members SAP, Sybase, Oracle, IBM, BEA, Iona, SilverStream, ATG Best of the Breed approach
Slide 9 2 years Beyond experimental and prototyping stage">
Gartners Research Findings Java usage has not merely become more widespread - it has become a mainstream platform for e-business IT efforts. 80% adopted Java, 14% responded "not yet. 70% of the Java adoptions are > 2 years Beyond experimental and prototyping stage
Has Sun lagged on Web Services? Not really If you stack up the facilities available in J2EE in the marketplace, it's way ahead of.Net and always has been. Yes, Microsoft had a way of doing XML process-to-process communication before Sun shipped one. But we've been shipping one for awhile.
J2EE as Web Service Platform 75% of the developers would choose J2EE as the platform for Web Services Web Services Journal
The FUD around the Java Pet Store Microsoft picked on demo code that was never designed to be benchmarked See http://www.ibatis.com/jpetstore/jpetstore.html http://www.ibatis.com/jpetstore/jpetstore.html Oracles Java Pet Store was 22 times faster than.NET
The Blow-by-Blow WSDL: Both J2EE and.NET support UDDI .NET: first implemented in DISCO, now thorugh the.NET UDDI server J2EE: implemented in the Java API for XML Registries (JAXR) SOAP .NET: Variously implemented in SOAP message classes, MSXML, ASP, ISAPI, etc. J2EE: implemented in the Java API for XML-based RPC (JAX-RPC)
Comparing.NET to J2EE
Web Services with J2EE platform J2EE Platform Applets Browser Java Apps Data Sources Legacy Systems Other Systems Web Services Pack WS Apps
Java Web Service Model Platform Layer
Is J2EE XML-friendly? One of the things that we hear a lot is people saying we don't support XML because it's not native in J2EE. If you look at the J2EE 1.3 spec, it didnt say you must have XML But XML has been available as a drop-in plug-in for a very long time Sun was one of the authors of the XML spec All of the original XML parsers were all written in Java In fact, Microsoft was somewhat late to the game in XML.
What about SOAP in JDK 1.4? Just Microsoft FUD At a very real level, Native SOAP support in Java is meaningless It just isnt bundled in the JDK But it is enabled through the plug-in of Java APIa Besides, SOAP is Native in the Java SDK 1.5 edition
A hard look at.NET Microsoft.NET (formerly Next Generation Windows Services) is the umbrella term for the Microsoft strategy to move from a client-centric model to a network-centric model. It took Microsoft a while to come around to this point of view Microsofts core services platform didnt appear until late in the Windows 2000 cycle Sun has been preaching the network is the computer for the past decade
.NET isnt working On Wednesday, July 24 Bill Gates admitted that.NET hasnt gotten the traction he had hoped for against J2EE Microsoft customers have called the company's marketing plan confusing. Microsoft largely rebranded existing products under the.Net label but added little new technology "Maybe the.Net Enterprise servers," launched in September 2000, were "prematurely called.Net. The first generation of.Net products was putting a layer on top of existing functionality," Gates said. See http://www.microsoft.com/billgates/speeches/2002/0 7-24netstrategy.asp for Bills remarks http://www.microsoft.com/billgates/speeches/2002/0 7-24netstrategy.asp http://www.microsoft.com/billgates/speeches/2002/0 7-24netstrategy.asp
A Hard look at Microsoft A Typical week in the life of a monopolist An issue is whether the open-source.Net projects will be legal or illegal for commercial use. Microsoft is deferring patent questions to the European Computer Manufacturers Association (ECMA. The danger in all this is that if projects such as Mono cannot use the CLI, their products will be rendered unable to operate on a cross-platform basis. (Reported Aug 5) THE FEDERAL TRADE Commission (FTC) said Thursday (Aug 8) that it has reached a settlement with Microsoft Corp. over misrepresentations of the privacy and security of the companys Passport Internet sign-on service, Passport Wallet and Kids Passport. Microsoft's implementation of SSL (Secure Sockets Layer) certificate handling makes it possible for anyone with a valid VeriSign SSL site certificate to forge any other VeriSign SSL site certificate, and abuse Internet Explorer users with impunity. (Reported Aug 12)
J2EE vs.NET: The Communities J2EE is a market,.Net is a product. In the J2EE world there are hundreds of companies with components and tools and app servers The way it's organized, the community actually controls what happens. It isn't just dictated to them
Hailstorm: MSs Original view of Web Services Implementation Users must log in through Microsofts Passport authentication service Services are fee-based Runs on Microsoft servers; an issue because of Microsofts famous security weaknesses attitudes towards privacy (see current MSN flap) reliability Target here appeared to be AOL
.NET The world would have run through Microsoft
What about Performance? Microsofts Fabio Yeon has published (http://www.gotdotnet.com/team/asp/ASP.NET Performance Tips and Tricks.aspx) a how-to guide for manipulating.NET peformance results http://www.gotdotnet.com/team/asp/ASP.NET Performance Tips and Tricks.aspxhttp://www.gotdotnet.com/team/asp/ASP.NET Performance Tips and Tricks.aspx Basically, very easy to manipulate performance results in ways that have nothing to do with the reality of web services
Java Performance JSDK 1.3 is 10x faster than JSDK 1.0, and ~1.5x slower than C/C++ in average. Performance overhead on run-time checking, stronger OO support, garbage collector Our experience most of the poor performances are due to poor Architecture & Implementation. Proper Architecture design and code tweaking 10% code run 90% of the time. For Web applications network communication is the killer - Evaluating Java for Game Development University of Copenhagen
.Net for the front end and Java on the back end? It's certainly the case that Microsoft has a monopoly on the client Microsoft does have easy tools for the client It actually is easy it is to write client software on the PC in Java.
You say Po-tay-to, I say Po-tah-to J2EE is an open source solution that has a much wider choice of vendor implementations Since it was a pre-existing platform it is being extended to cover Web Services Enormous comfort in doing so by the major ISVs .NET was in fact engineered with Web Services in mind but with a view of the world that is Microsoft dominated
ebXML It is a global business standard for defining a framework for conducting B2B transactions based on XML templates Sponsored by the UN and OASIS Sun sees ebXML as foundational to B2B web services Microsoft vacilates: ebXML has a narrow focus Will ebXML even be around in four months?
Clearing the table Louis Columbus, Senior Analyst, AMR Research: The pervasiveness of J2EE on both the sell-side and buy-side of e-commerce initiatives translates into a challenge of execution for Microsoft and their.NET strategy. Today J2EE means to many people having an agnostic platform; Microsofts challenge is to promote.NET and still have the concept of platform freedom ringing true.