24
.NET vs. J2EE Jagadeesh Danala 1 .NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

Embed Size (px)

Citation preview

Page 1: NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

.NET vs. J2EE Jagadeesh Danala 1

.NET vs. J2EEBATTLE OF THE TITANS

&

A PERFORMANCE CASE STUDY

Page 2: NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

.NET vs. J2EE Jagadeesh Danala 2

References

• The great debate: .NET vs. J2EE• http://www.javaworld.com/javaworld/jw-03-2002/jw-0308-j2ee

net_p.html

• Comparing J2EE with .NET – part 1 & part 2• http://internet.about.com/library/aa_netJ2EE1_080702

• J2EE and .NET (RELOADED)

Yet Another Performance Case Study• http://www.middleware-company.com/casestudy/

• The W3C definition of Shared context. http://www.w3.org/2001/03/WSWS-popa/paper29

Page 3: NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

.NET vs. J2EE Jagadeesh Danala 3

Overview

• Basic truths• J2EE

• .NET

• J2EE and .NET

• Comparing J2EE with .NET• Players• Legacy Integration and Backwards Compatibility• Single vendor vs. Multiple vendor• The language factor

Page 4: NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

.NET vs. J2EE Jagadeesh Danala 4

Overview

• Comparing J2EE with .NET (contd..)• Web services support• Shared context

• Performance case study• Tests conducted• Codebases used• Results• Summary

• Conclusion

Page 5: NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

.NET vs. J2EE Jagadeesh Danala 5

Basic Truths

• J2EE• Java-centric and platform-neutral

• J2EE is not a product you buy from Sun.

• J2EE is a set of specifications each of which indicate how various J2EE functions must interoperate

• If I don’t buy J2EE from Sun, how does Sun make money?

• J2EE 1.4 released with features to completely support web services – JAX-RPC 1.1 API, J2EE Management 1.0 API,

web service endpoints etc.

Page 6: NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

.NET vs. J2EE Jagadeesh Danala 6

Basic Truths

• .NET• Windows-centric and language-neutral

• .NET is a Microsoft product strategy that includes a range of products from development tools and servers to end-user applications.

• Plans to make .NET platform neutral are in progress,

Mono – the open source implementation of the .NET development environment, being the example.

( http://www.go-mono.com )

Page 7: NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

.NET vs. J2EE Jagadeesh Danala 7

Basic Truths

• J2EE and .NET• Both accelerate and simplify business application

development.

• Web services technology development was aided by Servlet Technology which was developed in response to the ASP technology. So one begets the other, which begets the other, which begets the other, ad infinitum.

• A J2EE application can invoke a service on .NET platform

and vice-the-versa.

Page 8: NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

.NET vs. J2EE Jagadeesh Danala 8

Comparing J2EE with .NET

• Players• J2EE is being is a set of specifications produced by the Java

Community Process which consists of Sun Microsystems along with the top software vendors such as BEA, IBM Oracle etc.

• .NET is the sole effort of Microsoft with some backing from the open source community.

Page 9: NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

.NET vs. J2EE Jagadeesh Danala 9

Comparing J2EE with .NET• Legacy Integration

• J2EE supports Java Connector Architecture (JCA) and use of adapters that eases linking with legacy code.

• .NET offers legacy integration with its Host Integration Server 2000 but with limited connectivity to select systems.

• J2EE legacy integration features are superior to those found in .NET since JCA market is building a huge marker place of adapters to ease application integration.

• Backwards Compatibility• ASP.Net is now a full programming language environment

compared to its script-based predecessor.

• Visual Basic is finally Object-oriented in VB.Net which makes upgrading from VB 6.0 or later difficult.

Page 10: NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

.NET vs. J2EE Jagadeesh Danala 10

Comparing J2EE with .NET

• Single vendor vs. Multiple vendor• J2EE tools often are not interoperable due to problems in

portability. The reason being that they are not from a single vendor and hence not well-tested.

• .NET provides complete solution of tools and services but which may lack some of the higher-end features found in J2EE solutions.

Page 11: NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

.NET vs. J2EE Jagadeesh Danala 11

Comparing J2EE with .NET

• The language factor• .NET framework based on CLR.• A single .NET component can be written in any language.• The above feature has two disadvantages

» Maintenance is made difficult since we need experts in different languages to develop, debug and maintain a particular application.

» Negatively affects team productivity since best practices are hard to be shared among knowledge workers

• Developers of other languages like Cobol, Perl etc feel disenfranchised due to the single-language standardization of J2EE.

Page 12: NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

.NET vs. J2EE Jagadeesh Danala 12

Comparing J2EE with .NET

• Web services support• J2EE enables eBusiness collaboration and Web services

through its JAXP (Java API for XML Parsing).

• .NET lacks support for ebXML, which is fast becoming an international standard for eBusiness collaboration, making it a real problem for industry-wide acceptance.

• Microsoft still pursues its own BizTalk proprietary framework with proprietary SOAP extensions.

Page 13: NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

.NET vs. J2EE Jagadeesh Danala 13

Comparing J2EE with .NET

• Shared context• Users don’t need to type in their user names and passwords

every time they use web services.

• J2EE proposes a shared context that is specific to various industry areas to serve customer needs such as banking and finance, medical history etc.

• .NET proposes to present a single shared context repository approach based on its Hailstorm services, which is user-centric and is risky in the context of security maintenance and dominance of a single entity over identity date of individual and businesses.

Page 14: NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

.NET vs. J2EE Jagadeesh Danala 14

Comparing J2EE with .NET

• Codebases used• JPetStore Demo 1.3.2 for J2EE-Servlets-JSP

• Modified Java Pet Store named mPetStore for J2EE-EJB-CMP2

• msPetShop for .NET-C#.

Page 15: NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

.NET vs. J2EE Jagadeesh Danala 15

Performance case study

• Tests conducted • Web application test

• 24 Hour Reliability Test

• Web Services Test

• Case study performed by THE MIDDLEWARE COMPANY.

Page 16: NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

.NET vs. J2EE Jagadeesh Danala 16

Performance case study

• Results – Web Application Test

Page 17: NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

.NET vs. J2EE Jagadeesh Danala 17

Performance case studyResults – Web Application Test

Page 18: NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

.NET vs. J2EE Jagadeesh Danala 18

Performance case studyResults – 24 Hour Reliability test

Page 19: NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

.NET vs. J2EE Jagadeesh Danala 19

Performance case studyResults – 24 Hour Reliability test

Page 20: NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

.NET vs. J2EE Jagadeesh Danala 20

Performance case study

Results – Web services test

Page 21: NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

.NET vs. J2EE Jagadeesh Danala 21

Summary

• Web application test• The test results showed that both .NET and the fastest J2EE

platform performed approximately the same. The J2EE solution was slightly better than the .NET solution (about 2%) when using Oracle 9i. When using Microsoft SQL Server, the .NET solution was slightly better than J2EE (about 11%). In general the J2EE implementations performed equally well against both databases . The .NET implementation performed almost the same as J2EE when using Oracle 9i

and slightly better when using Microsoft SQL Server.

Page 22: NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

.NET vs. J2EE Jagadeesh Danala 22

Summary

• 24 Hour Reliability test• The results of this test were that the fastest J2EE and

the .NET platform performed almost identically, with less than 2% difference in performance.

• Web Services Test• The results of this test showed that the .NET platform

outperformed the fastest J2EE platform, by over 200%.

Page 23: NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

.NET vs. J2EE Jagadeesh Danala 23

Conclusion

• The case study also finds that• For enterprise applications, performance is important. But not

all-important.• Moreover the perception of the vendor as an “enterprise

company”, conformance to standards, strength of the ecosystem around the product, the degree to which the product is a defacto standard among its class, stability of the product or technology, ease of use, IDE integration and other tools support, total cost of ownership (TCO), portability, scalability, and many other such factors often outweigh Performance.

• Hence the choice of the framework is best decided after taking all the above factors into consideration.

Page 24: NET vs. J2EEJagadeesh Danala1.NET vs. J2EE BATTLE OF THE TITANS & A PERFORMANCE CASE STUDY

.NET vs. J2EE Jagadeesh Danala 24

Thank You!