View
218
Download
0
Tags:
Embed Size (px)
Citation preview
Sun Professional Services
J2EE vs. .NET
Joseph Williams, Ph.D.Chief Technology StrategistSun 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
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
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
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
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
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
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
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
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.
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
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
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)
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
Web Services with J2EE Web Services with J2EE platformplatform
J2EE Platform
Applets
Browser
JavaApps
DataSources
LegacySystems
OtherSystems
Web ServicesPack
WSApps
Java Web Service Java Web Service ModelModelPlatform LayerPlatform Layer
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.
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
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
.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
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)
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
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
.NET – The world would .NET – The world would have run through Microsofthave run through Microsoft
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
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
.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.
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
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?”
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.”
Sun Professional Services