31
Sun Professional Services J2EE vs. .NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

Sun Professional Services

J2EE vs. .NET

Joseph Williams, Ph.D.Chief Technology StrategistSun Professional Services

Page 2: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

Sun vs. MicrosoftSun vs. Microsoft

True interoperability is only going to True interoperability is only going to be achieved if the major players – be achieved if the major players – including Sun and Microsoft – work including Sun and Microsoft – work togethertogether

We are trying…We are trying… ……. and it really isn’t all that bleak a . and it really isn’t all that bleak a

situationsituation

Page 3: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

The WS-I BlockadeThe WS-I Blockade The Web Services Interoperability (WS-I) The Web Services Interoperability (WS-I)

organizationorganization Sun was only informed of the WS-I's Sun was only informed of the WS-I's

existence by IBM 48 hours ahead of the WS-existence by IBM 48 hours ahead of the WS-I's February 6 launch. I's February 6 launch.

That's hardly enough time to do the That's hardly enough time to do the necessary due diligence when a necessary due diligence when a chief competitor approaches you chief competitor approaches you about joining an industry group about joining an industry group

By contrast, Oracle had been invited to join By contrast, Oracle had been invited to join in early January.in early January.

Sun immediately requested a board seat on Sun immediately requested a board seat on the WS-I the WS-I

IBM pushing Sun membershipIBM pushing Sun membership Last week we announced we were joining Last week we announced we were joining

after Microsoft agreed to the creation of 2 after Microsoft agreed to the creation of 2 new board seatsnew board seats

Page 4: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

The Liberty AllianceThe Liberty Alliance By sharp contrast to Microsoft’s By sharp contrast to Microsoft’s

behavior on the WS-I we have behavior on the WS-I we have specifically invited Microsoft to join the specifically invited Microsoft to join the Liberty AllianceLiberty Alliance

Microsoft wants to own everyone’s Microsoft wants to own everyone’s data through its proprietary Passport data through its proprietary Passport serviceservice

Liberty Alliance, by contrast, Liberty Alliance, by contrast, standardizes identity management standardizes identity management exchanges but leaves companies free exchanges but leaves companies free to implement and maintain datato implement and maintain data

Page 5: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

The Historic Sun VisionThe Historic Sun Vision

Sun has always had a services view of Sun has always had a services view of the network (part of our “The Network is the network (part of our “The Network is the Computer” vision)the Computer” vision)

The concept of building services on and The concept of building services on and around the Web and the network is really around the Web and the network is really all that the network is about.all that the network is about.

Java (and J2EE) has always been Java (and J2EE) has always been about delivering services via the about delivering services via the webweb Which is why Java has always been the Which is why Java has always been the

platform of choiceplatform of choice

Page 6: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

Apples and OrangesApples and Oranges

Openness of the Platform APIsOpenness of the Platform APIs

Availability of Vendor ProductsAvailability of Vendor Products

Architectural Dependencies of each Architectural Dependencies of each PlatformPlatform

Can't exactly compare .NET to J2EECan't exactly compare .NET to J2EE

Page 7: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

J2EE Environment FactsJ2EE Environment Facts

Compatible across many available Compatible across many available Platforms- Platforms- No Vendor Lock-InNo Vendor Lock-In

Ample choices of vendors and toolsAmple choices of vendors and toolsMix and Match of BOB components Mix and Match of BOB components

– – Freedom of choiceFreedom of choiceOpen standard & support from the Open standard & support from the

industry – industry – Industry StandardIndustry Standard

Page 8: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

Industry Support of Industry Support of J2EEJ2EEOver 30 J2EE platform providersOver 30 J2EE platform providers15+ Certified J2EE App Servers on 15+ Certified J2EE App Servers on

www.sun.comwww.sun.com500+ JCP members500+ JCP membersSAP, Sybase, Oracle, IBM, BEA, Iona, SAP, Sybase, Oracle, IBM, BEA, Iona,

SilverStream, ATG ……SilverStream, ATG ……Best of the Breed approachBest of the Breed approach

Page 9: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

Gartner’s Research Gartner’s Research FindingsFindingsJava usage has not merely become Java usage has not merely become

more widespread - it has become a more widespread - it has become a mainstream platform for e-business IT mainstream platform for e-business IT efforts.efforts.

80% adopted Java, 14% responded "not 80% adopted Java, 14% responded "not yet.“yet.“

70% of the Java adoptions are > 2 years 70% of the Java adoptions are > 2 years Beyond experimental and prototyping Beyond experimental and prototyping

stagestage

Page 10: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

Has Sun lagged on Web Has Sun lagged on Web Services?Services?

Not reallyNot really If you stack up the facilities available in If you stack up the facilities available in

J2EE in the marketplace, it's way J2EE in the marketplace, it's way ahead of .Net and always has been. ahead of .Net and always has been.

Yes, Microsoft had a way of doing Yes, Microsoft had a way of doing XML process-to-process XML process-to-process communication before Sun shipped communication before Sun shipped one. one.

But we've been shipping one for But we've been shipping one for awhile.awhile.

Page 11: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

J2EE as Web Service J2EE as Web Service PlatformPlatform

75% of the developers would choose 75% of the developers would choose J2EE as the platform for Web Services J2EE as the platform for Web Services – – Web Services JournalWeb Services Journal

Page 12: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

The FUD around the Java Pet StoreThe FUD around the Java Pet Store Microsoft picked on demo code that was never Microsoft picked on demo code that was never

designed to be benchmarkeddesigned to be benchmarked

SeeSee http://www.ibatis.com/jpetstore/jpetstore.htmlhttp://www.ibatis.com/jpetstore/jpetstore.html Oracle’s Java Pet Store was 22 times faster Oracle’s Java Pet Store was 22 times faster

than .NETthan .NET

Page 13: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

The Blow-by-BlowThe Blow-by-Blow

WSDL: Both J2EE and .NET supportWSDL: Both J2EE and .NET support UDDIUDDI

.NET: first implemented in DISCO, now .NET: first implemented in DISCO, now thorugh the .NET UDDI serverthorugh the .NET UDDI server

J2EE: implemented in the Java API for J2EE: implemented in the Java API for XML Registries (JAXR)XML Registries (JAXR)

SOAPSOAP .NET: Variously implemented in SOAP .NET: Variously implemented in SOAP

message classes, MSXML, ASP, ISAPI, message classes, MSXML, ASP, ISAPI, etc.etc.

J2EE: implemented in the Java API for J2EE: implemented in the Java API for XML-based RPC (JAX-RPC)XML-based RPC (JAX-RPC)

Page 14: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

Comparing .NET to J2EEComparing .NET to J2EE

.NET J2EEProgramming Language C# JavaInterpreted Language MSIL Java BytecodeRuntime Environment CLR JVM/JRERich-Client VB.NET SwingWeb Presentation ASP.NET JSP/ServletsBusiness Services ???? EJBsDB Integration ADO.NET EJB-SQL/JDBCMessaging Integration MSMQ Msg EJBs/JMSLegacy Integration COM TI JCA

Page 15: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

Web Services with J2EE Web Services with J2EE platformplatform

J2EE Platform

Applets

Browser

JavaApps

DataSources

LegacySystems

OtherSystems

Web ServicesPack

WSApps

Page 16: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

Java Web Service Java Web Service ModelModelPlatform LayerPlatform Layer

Page 17: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

Is J2EE XML-friendly?Is J2EE XML-friendly?

One of the things that we hear a lot is people One of the things that we hear a lot is people saying we don't support XML because it's not saying we don't support XML because it's not native in J2EE. native in J2EE.

If you look at the J2EE 1.3 spec, it didn’t say If you look at the J2EE 1.3 spec, it didn’t say you must have XML you must have XML

But XML has been available as a drop-in plug-in But XML has been available as a drop-in plug-in for a very long timefor a very long time

Sun was one of the authors of the XML spec Sun was one of the authors of the XML spec All of the original XML parsers were all written in All of the original XML parsers were all written in

JavaJava In fact, Microsoft was somewhat late to the In fact, Microsoft was somewhat late to the

game in XML. game in XML.

Page 18: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

What about SOAP in JDK What about SOAP in JDK 1.4?1.4? Just Microsoft FUDJust Microsoft FUD At a very real level, Native SOAP At a very real level, Native SOAP

support in Java is meaninglesssupport in Java is meaningless It just isn’t bundled in the JDKIt just isn’t bundled in the JDK But it is enabled through the plug-in of But it is enabled through the plug-in of

Java APIaJava APIa Besides, SOAP is Native in the Java Besides, SOAP is Native in the Java

SDK 1.5 editionSDK 1.5 edition

Page 19: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

A hard look at .NETA hard look at .NET

Microsoft.NET (formerly Next Generation Microsoft.NET (formerly Next Generation Windows Services) is the umbrella term Windows Services) is the umbrella term for the Microsoft strategy to move from a for the Microsoft strategy to move from a client-centric model to a network-centric client-centric model to a network-centric model. model.

It took Microsoft a while to come around It took Microsoft a while to come around to this point of view to this point of view

Microsoft’s core services platform didn’t Microsoft’s core services platform didn’t appear until late in the Windows 2000 appear until late in the Windows 2000 cyclecycle

Sun has been preaching “the network is Sun has been preaching “the network is the computer” for the past decadethe computer” for the past decade

Page 20: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

.NET isn’t working.NET isn’t working

On Wednesday, July 24 Bill Gates On Wednesday, July 24 Bill Gates admitted that .NET hasn’t gotten the admitted that .NET hasn’t gotten the traction he had hoped for against J2EEtraction he had hoped for against J2EE Microsoft customers have called the company's marketing Microsoft customers have called the company's marketing

plan confusing. Microsoft largely rebranded existing plan confusing. Microsoft largely rebranded existing products under the .Net label but added little new products under the .Net label but added little new technologytechnology

"Maybe the .Net Enterprise servers," launched in "Maybe the .Net Enterprise servers," launched in September 2000, were "prematurely called .Net. The first September 2000, were "prematurely called .Net. The first generation of .Net products was putting a layer on top of generation of .Net products was putting a layer on top of existing functionality," Gates said. existing functionality," Gates said.

See See http://www.microsoft.com/billgates/speeches/2002/0http://www.microsoft.com/billgates/speeches/2002/07-24netstrategy.asp7-24netstrategy.asp for Bill’s remarks for Bill’s remarks

Page 21: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

A Hard look at MicrosoftA Hard look at Microsoft

A Typical week in the life of a monopolistA Typical week in the life of a monopolist An issue is whether the open-source .Net projects An issue is whether the open-source .Net projects

will be legal or illegal for commercial use. will be legal or illegal for commercial use. Microsoft is deferring patent questions to the Microsoft is deferring patent questions to the European Computer Manufacturers Association (ECMA. European Computer Manufacturers Association (ECMA. The danger in all this is that if projects such as The danger in all this is that if projects such as Mono cannot use the CLI, their products will be Mono cannot use the CLI, their products will be rendered unable to operate on a cross-platform rendered unable to operate on a cross-platform basis. (Reported Aug 5)basis. (Reported Aug 5)

THE FEDERAL TRADE Commission (FTC) said Thursday THE FEDERAL TRADE Commission (FTC) said Thursday (Aug 8) that it has reached a settlement with (Aug 8) that it has reached a settlement with Microsoft Corp. over misrepresentations of the Microsoft Corp. over misrepresentations of the privacy and security of the company’s Passport privacy and security of the company’s Passport Internet sign-on service, Passport Wallet and Kids Internet sign-on service, Passport Wallet and Kids Passport.Passport.

Microsoft's implementation of SSL (Secure Sockets Microsoft's implementation of SSL (Secure Sockets Layer) certificate handling makes it possible for Layer) certificate handling makes it possible for anyone with a valid VeriSign SSL site certificate to anyone with a valid VeriSign SSL site certificate to forge any other VeriSign SSL site certificate, and forge any other VeriSign SSL site certificate, and abuse Internet Explorer users with impunity. abuse Internet Explorer users with impunity. (Reported Aug 12)(Reported Aug 12)

Page 22: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

J2EE vs .NET: The J2EE vs .NET: The CommunitiesCommunities

J2EE is a market, .Net is a product. J2EE is a market, .Net is a product. In the J2EE world there are In the J2EE world there are

hundreds of companies with hundreds of companies with components and tools and app components and tools and app serversservers

The way it's organized, the The way it's organized, the community actually controls what community actually controls what happens. happens.

It isn't just dictated to themIt isn't just dictated to them

Page 23: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

Hailstorm: MS’s Original view of Web Hailstorm: MS’s Original view of Web Services ImplementationServices Implementation

Users must log in through Microsoft’s Users must log in through Microsoft’s Passport authentication servicePassport authentication service

Services are fee-basedServices are fee-based Runs on Microsoft servers; an issue Runs on Microsoft servers; an issue

because of Microsoft’sbecause of Microsoft’s famous security weaknessesfamous security weaknesses attitudes towards privacy (see current attitudes towards privacy (see current

MSN flap)MSN flap) reliabilityreliability

Target here appeared to be AOLTarget here appeared to be AOL

Page 24: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

.NET – The world would .NET – The world would have run through Microsofthave run through Microsoft

Page 25: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

What about Performance?What about Performance?

Microsoft’s Fabio Yeon has published Microsoft’s Fabio Yeon has published ((

http://www.http://www.gotdotnetgotdotnet.com/team/asp/ASP.NET Performance Tips and Tricks..com/team/asp/ASP.NET Performance Tips and Tricks.aspxaspx)) a a “how-to” guide for manipulating .NET “how-to” guide for manipulating .NET peformance resultspeformance results

Basically, very easy to manipulate Basically, very easy to manipulate performance results in ways that have performance results in ways that have nothing to do with the reality of web nothing to do with the reality of web servicesservices

Page 26: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

Java PerformanceJava Performance JSDK 1.3 is 10x faster than JSDK 1.0, and JSDK 1.3 is 10x faster than JSDK 1.0, and

~1.5x slower than C/C++ in average.~1.5x slower than C/C++ in average. Performance overhead on run-time Performance overhead on run-time

checking, stronger OO support, garbage checking, stronger OO support, garbage collector …collector …

Our experience – most of the poor Our experience – most of the poor performances are due to poor Architecture & performances are due to poor Architecture & Implementation.Implementation.

Proper Architecture design and code Proper Architecture design and code tweaking – 10% code run 90% of the time.tweaking – 10% code run 90% of the time.

For Web applications – network For Web applications – network communication is the killercommunication is the killer

- Evaluating Java for Game Development – University of Copenhagen- Evaluating Java for Game Development – University of Copenhagen

Page 27: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

.Net for the front end and .Net for the front end and Java on the back end?Java on the back end?

It's certainly the case that Microsoft It's certainly the case that Microsoft has a monopoly on the clienthas a monopoly on the client

Microsoft does have easy tools for the Microsoft does have easy tools for the clientclient

It actually is easy it is to write client It actually is easy it is to write client software on the PC in Java. software on the PC in Java.

Page 28: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

You say “Po-tay-to, I say Po-tah-to”You say “Po-tay-to, I say Po-tah-to”

J2EE is an open source solution that J2EE is an open source solution that has a much wider choice of vendor has a much wider choice of vendor implementationsimplementations Since it was a pre-existing platform it is Since it was a pre-existing platform it is

being extended to cover Web Servicesbeing extended to cover Web Services Enormous comfort in doing so by the Enormous comfort in doing so by the

major ISVsmajor ISVs

.NET was in fact engineered with Web .NET was in fact engineered with Web Services in mind but with a view of the Services in mind but with a view of the world that is Microsoft dominatedworld that is Microsoft dominated

Page 29: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

ebXMLebXML

It is a global business standard for It is a global business standard for defining a framework for conducting defining a framework for conducting B2B transactions based on XML B2B transactions based on XML templatestemplates

Sponsored by the UN and OASISSponsored by the UN and OASIS Sun sees ebXML as foundational to Sun sees ebXML as foundational to

B2B web servicesB2B web services Microsoft vacilates: “ebXML has a Microsoft vacilates: “ebXML has a

narrow focus”… “Will ebXML even be narrow focus”… “Will ebXML even be around in four months?”around in four months?”

Page 30: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

Clearing the tableClearing the table

Louis Columbus, Senior Analyst, AMR Louis Columbus, Senior Analyst, AMR Research:Research:““The pervasiveness of J2EE on both the sell-The pervasiveness of J2EE on both the sell-

side and buy-side of e-commerce side and buy-side of e-commerce initiatives translates into a challenge of initiatives translates into a challenge of execution for Microsoft and their .NET execution for Microsoft and their .NET strategy. Today J2EE means to many strategy. Today J2EE means to many people having an agnostic platform; people having an agnostic platform; Microsoft’s challenge is to promote .NET Microsoft’s challenge is to promote .NET and still have the concept of platform and still have the concept of platform freedom ringing true.”freedom ringing true.”

Page 31: Sun Professional Services J2EE vs..NET Joseph Williams, Ph.D. Chief Technology Strategist Sun Professional Services

Sun Professional Services

[email protected]