Click Here to Install Silverlight*
IndiaChange|All Microsoft Sites
MSDN
|Developer Centers|Library|Downloads|How To Buy|Subscribers|My MSDN
 
Chat Transcript
 
Benchmark Comparison: .NET vs J2EE
Host
: Tarun Anand - .NET Evangelist, Microsoft India
May 2, 2002
 
KunalS_MS: Hello All and welcome to MSDN India Online Developer Forums - Expert Chat

TarunA_[MS]: Hi All

KunalS_MS: Todays topic is Benchmark Comparison: .NET vs J2EE

KunalS_MS: and please join me in welcoming Tarun Anand

KunalS_MS: Our expert of the day

KunalS_MS: and .NET Technical Evangelist, Microsoft

KunalS_MS: Let me let you all into another secret also

KunalS_MS: Tarun has been part of the CLR development team in US

KunalS_MS: So you all are speaking with the REAL Expert

Guest: In j2ee we have support for EJB or entity beans, does .net provide similar concept?

TarunA_[MS]: EJB == MTS and so this support has been there before .net also - we also have support for a concept similar to entity beans

Guest: what is the similar concept for Applet in .Net?

TarunA_[MS]: look at .net remoting and serviced components - far richer and much better architecture

Guest: Please do not mind but i think Websphere or weblogic=MTS

TarunA_[MS]: yes but MTS came first

Guest: Tarun i have not seen support for entity beans in MTS. it supports only components with session management

TarunA_[MS]: MTS and even COM+ does not have entity beans

TarunA_[MS]: the reason is that we have tried this before and all the times the perf is just too bad

Guest: are there any issues with stability compared to j2ee?

TarunA_[MS]: so if you look at the MS way of doing entity beans it is to use ADO to do persist and depersist operations, in other words you do BMP of JEE

Guest: otn.oracle says the revised Pet Store in Oracle 9i is 18 times better performance than .NET Pet Shop.. What is the answer from MS for this?

TarunA_[MS]: as I said we have tried that before - also it is recommended by j2ee best practices

TarunA_[MS]: not to go for CMP but BMP

TarunA_[MS]: well oracle is free to say that - I would like to look at their source code - is that freely available ?

Guest: i think that is one great feature missing from MTS and com+. does Microsoft have any plans for incorporating this concept in com+?

TarunA_[MS]: they have claimed to be the best appserver also (Oracle) but no benchmarks to support that

Guest: Yes It is available at

TarunA_[MS]: Sumeet - we have not found good perf after implementing entity beans so we have not released it ....

Guest: J2EE provides several design pattern (frame work). Is this available in .net?

TarunA_[MS]: entity beans have intrinsic problems with CMP - so you can do the other half BMP with ADO

TarunA_[MS]: I will have to take a look at oracle's code - I cannot comment without looking at it ...

TarunA_[MS]: design patterns are a good concept and we have something similar either implicitly (like the singleton concept) or explicitly via Enterprise templates

TarunA_[MS]: we will also release design patterns

Guest: what are the main advantages of .Net over j2ee?

TarunA_[MS]: I find it a better, more productive dev environment and also richer support for architects in terms of UML, ORM, templates, analyzer and so on

TarunA_[MS]: but there are a lots of reasons - look at the security framework - java has one for JVM and another for JEE - we have one framework for both configurable by a policy file

Guest: So what's Microsoft's response for IBM's claims?

TarunA_[MS]: as far as the performance goes - we will have to wait till there are benchmarks - jee community has consistently shied away from benchmarks

TarunA_[MS]: tell me which benchmarks are you referring to when you say the perf is better....

Guest: ok why should i use .net instead of j2ee?

TarunA_[MS]: there is no compulsion - try both - I like the VS.NET IDE, I like ASP.NET I like CLR... and so on... I like delegates events ...

TarunA_[MS]: I like the .NET compact framework...

Guest: can .net run on other platforms like linux?

TarunA_[MS]: I don't think anyone has complained that MS technologies are more costly - we give the appserver away for free

TarunA_[MS]: where as BEA and others charge for it..

TarunA_[MS]: .net can run on linux and freebsd

Guest: any way while comparing the deployment cost and license .Net is costlier than j2ee. right?

TarunA_[MS]: why is .net costlier - what costs more intel servers or solaris boes ? What is more costly - a free appserver or a 10000 dollar appserver ?

RahulCh_[MS]: The .Net compact framework can be tuned to run in less than 2 Mb of RAM, so issue about running on low end machines is not a problem

TarunA_[MS]: Do you have numbers to support this claim ?

Guest: But from customers point, they are looking for low cost and performance. Then why they go for .Net ?

TarunA_[MS]: Because I believe that .NET has *both*

Guest: can u tell us more on the web services standards for financial services and is there a compilation of these that one can study?

TarunA_[MS]: I would like to see benchmarks and actual numbers to prove otherwise...

TarunA_[MS]: You should check the www.w3c.org site for references I am not current with financial industry standards

Guest: How would you compare the statelessness of COM+ to that of the stateful model of EJB's?

TarunA_[MS]: .net remoting and serviced components support BOTH stateless and stateful components... amen!

Guest: How true are your stats for .NET implementation of JPS (Java Pet Store). JPS was a tutorial and not the performance tuned example. In your implementation you have put lot of code inside the database (SQL Server). Is your comparison ok?

RahulCh_[MS]: CAL model is not used for web servers. Instead a processor model is used.

TarunA_[MS]: pet store was meant to be a blueprint application to show the best practices of jee if performance is not a best practice then what is it ?

TarunA_[MS]: we used stored procedures and datareaders because we advocate that as a best practice

TarunA_[MS]: if that give us better perf so be it

TarunA_[MS]: the oracle app server was used in the comparison

Guest: Microsofts cost estimate for deploying a Web Service does not include client access licenses (CALs). In reality, instead of costing $9,999 for a 4-server deployment, Microsoft .NET would cost $399,996. [Comment]

Guest: This is due to the fact organizations accessing the Web Service would require their own Windows 2000 client access licenses to use the Web Service.

Guest: Microsoft requires the use of BizTalk Server and Application Center Server, which would add another $311,968 to their cost estimates.

TarunA_[MS]: As Rahul said CAL model is not used for web servers. Instead a processor model is used

RahulCh_[MS]: Perhaps all the licenses for the clients are being counted

TarunA_[MS]: you should contact your local MS office to find out the real price - they will give you a quote Guest: tarun kindly comment on the cost estimates offered!

TarunA_[MS]: Well - client access is important but is not used to estimate the cost when accessing webservers - that is if you have 1 client or 1000 clients accessing your webserver your cost is based on the number of processors in your webserver not the number of

TarunA_[MS]: people accessing it

Guest: can uml be operated from within the .net environment. If so is it available with beta version or we need to install rational rose as well?

TarunA_[MS]: UML is available since beta days in the enterprise architect edition

TarunA_[MS]: it is visio that has support for UML and ORM

RahulCh_[MS]: UML Support has been present for the past 4 years

RahulCh_[MS]: in the form of Visual Modeller

RahulCh_[MS]: What has varied was the round trip engineering support for unmanaged and managed code.

Guest: .NET is a radical departure from COM+, and Visual Studio developers will have trouble grasping Web Services concepts. Web Services are a natural and trivial extension to Java, however. Right?

TarunA_[MS]: ok if you say so... but my colleague here tells me that webservices is not tied to a language or a platform - is he wrong ?

Guest: Tarun whats the fate of MFC and ATL programmers?? they dont prefer to work with a cobol guy on .net!! RahulCh_[MS]: ATL has some classy additions. So does MFC. One radical addition is the ATL server which takes the ATL fundamentals and applies it to ISAPI programming

TarunA_[MS]: MFC and ATL will eventually be phased out ...... sorry

RahulCh_[MS]: + there is a good chance of standardization with ANSI so if eventually managed C++ enters the standardization annals, we can look at it forever.

Guest: Benchmark Comparison on Response time, User load curve, Coding lines, CPU Usage, resource allocation and access, Varied platform support, Standardization, Functionality, etc.

TarunA_[MS]: these are all part of the study that is at www.gotdotnet.com

TarunA_[MS]: what I want to add is that your mileage varies depending on your application

TarunA_[MS]: Let me clarify that ....

TarunA_[MS]: You should write some samples in both the platforms and compare - I have done some simple comparisons - and clr two to five times than jvm

TarunA_[MS]: but take that with a pinch of salt - these comparisons are done using a loop to do number crunching TarunA_[MS]: faster

TarunA_[MS]: asp.net with clr works wonders as compared to jsp

Guest: clr two to five times than jvm - Slow or Fast?

TarunA_[MS]: no one has referred to the NILE benchmark which is a true benchmark as opposed to PetShop

TarunA_[MS]: that shows clear numbers on how we compare

TarunA_[MS]: I will publish these little tests

Guest: Tarun, why not publish these little benchmarks you performed online?

TarunA_[MS]: to the community site

TarunA_[MS]: PetShop has not been recognized as a benchmark - the day it will be then people will take it more seriously

TarunA_[MS]: we believe that it is a good best practice comparison

Guest: does .net give high performance with Oracle database also. I mean using using OleDB?

TarunA_[MS]: nope - sql server just screams with .net

TarunA_[MS]: the reason is that we by pass ole db, and odbc and talk directly to the TDS stream in ADO.NET SQL provider

TarunA_[MS]: so oracle perf will always lag till someone talks natively to the binary protocol of oracle

RahulCh_[MS]: The managed providers for SQL were written ground up in managed code and don't result in a managed-unmanaged hit, so perf is amazing

Guest: In fact what they did was to put lot of code inside the Database Server (stored stuff) and claimed that the lines of code required is 1/4! Funny, Isn't it! [Comment]

TarunA_[MS]: that is not correct - the sql server lines were counted and in that part our lines are higher - please check again

Guest: what happened to Pet Shop Contest - Any Optimised codes received from the Industry?

TarunA_[MS]: Yes - we have received some good stuff - we are evaluating them and will publish the top three

Guest: One thing that was not evedent from the PetShop application, was that how much performance gain was made from SQL Server and how much from the ASP.NET pages ... any comments Tarun?

RahulCh_[MS]: There was not much benefit using the managed OLE DB Provider. Main advantage is that there is no managed-unmanaged transition. Of course, the enhanced OLE DB API would result in a better overall design.

RahulCh_[MS]: As it is, the native ODBC/OLEDB Providers have been tuned for a long time. The main benefit resides from a overall better design, usage of the framework and the ASP.net compilation and execution model of ASP.net

SonaliG_[MS]: You need to realize that we are looking at implemeting the same functionality in .NET. So the performance that we are looking at is that of the complete application

SonaliG_[MS]: Not just one part of it

SonaliG_[MS]: In ASP.NET you run the compiled code as opposed to interpreted

Guest: How fast (relatively) is ASP.NET compare to JSP. What makes it different!

TarunA_[MS]: look at the nile benchmark - it shows two to times more perf of asp.net vs jsp

TarunA_[MS]: two to four times I meant

TarunA_[MS]: we do not have it in vb.net

Guest: Do we have pet shop written in VB.Net rather than C# ?

Guest: Sonali - that's true .. but when you are doing some benchmark analysis ... this kind of information would be useful to prove the raw power of ASP.NET .. wouldn't it ?? May be you could direct me to some other study that shows the exact performance.

TarunA_[MS]: look at nile - that comes closest to a direct asp.net/jsp comparison

Guest: ASP.NET .. instead of the combined power of ASP.NEt and SQL Server

Guest: Where is this Nile benchmark comparison?

SonaliG_[MS]: Like Tarun said check the Nile benchmark

TarunA_[MS]: but I agree with Sonali - no real world application is complete without the database stuff so a comparison in isolation is not very useful

TarunA_[MS]: http://gotdotnet.com/compare/compare/nileperf.aspx

KunalS_MS: Hi All, the time is up and we shall have to draw this exciting session to a close

KunalS_MS: I wish to thank Tarun for taking out time for this highly interactive session

TarunA_[MS]: BYE

KunalS_MS: and also thanks to Rahul and Sonali for chipping in!

KunalS_MS: If we have not been able to answer any queries, please post your queries in the online forums - www.microsoft.com/india/onlineforums

KunalS_MS: The chat session next week is .NET Compact Framework and Mobility and it shall be hosted by Sonali herself

KunalS_MS: So see you on 9th May, next week.

KunalS_MS: Bye All and thanks for joining in.
     

©2009 Microsoft Corporation. All rights reserved. Contact Us |Terms of Use |Trademarks |Privacy Statement
Microsoft