16
DotNet Vs. J2EE Mosaad Alomery CIS- 764

DotNet Vs. J2EE

Embed Size (px)

DESCRIPTION

DotNet Vs. J2EE. Mosaad Alomery CIS- 764. the internet platform. Services Electronic commerce Communications (e-mail, news, chat, etc.) Requirements Development Maintenance Security Usability. Solutions. J2EE Manufacturer: Sun Language: Java Date of Birth: 05/23/1995 - PowerPoint PPT Presentation

Citation preview

Page 1: DotNet Vs. J2EE

DotNet Vs. J2EE

Mosaad Alomery

CIS- 764

Page 2: DotNet Vs. J2EE

Mosaad Alomery - CIS 764

the internet platform

– Services Electronic commerce Communications (e-mail, news, chat, etc.)

– Requirements Development Maintenance Security Usability

Page 3: DotNet Vs. J2EE

Mosaad Alomery - CIS 764

Solutions

• J2EE Manufacturer: Sun Language: Java Date of Birth: 05/23/1995

• NET Manufacturer: Microsoft Language: C # Birthday: ~ 2000

Page 4: DotNet Vs. J2EE

Mosaad Alomery - CIS 764

A typical .NET Enterprise Solution

SQLServer

IIS on W2k Server

.NET managed

componentASP.NET

WindowsClient

Browser

Page 5: DotNet Vs. J2EE

Mosaad Alomery - CIS 764

A typical J2EE Enterprise Solution

DB Server

Java App Server

EJBServlet

JSP

Java Client

Browser

Page 6: DotNet Vs. J2EE

Mosaad Alomery - CIS 764

Java vs .Net Solutions

– Both multi-tiered

– similar technologies

– Both support “standards”

– Both offer different tools & ways to achieve the same goal.

– A lot of parallelism can be seen.

Page 7: DotNet Vs. J2EE

Mosaad Alomery - CIS 764

Microsoft .Net vs. J2EE Comparison CLR vs JVM

C# ManagedC/C++

Lots of otherLanguages

VB.Net

CLRCTS GC Security Runtime Services

MSIL

Windows OS

Java

JRE (JVM)GC Security

Runtime Services

Byte Codes

Mac Unix LinuxWin

Both are ‘middle layers’ between an intermediate language & the underlying OS

Page 8: DotNet Vs. J2EE

Mosaad Alomery - CIS 764

The TMC Petshop Performance Case Study

• Java Pet Store is Sun’s primary blueprint application for J2EE– Source: http://java.sun.com/j2ee/blueprints – Illustrates best coding practices for J2EE– Ships as a sample application in IBM Websphere, Oracle

Application Server 9i, Sun iPlanet, and BEA WebLogic

• The .NET Petshop is a port of the J2EE Java Pet Store to .NET– Source: http://www.gotdotnet.com/compare– Implements the same functionality as Java Pet Store– Illustrates best coding practices for .NET Framework

• In the TMC Petshop Performance Case Study, The Middleware Company implemented both the Java Pet Store and the .Net Petshop.– All versions used the same hardware and OS

Page 9: DotNet Vs. J2EE

Mosaad Alomery - CIS 764

Java Pet Store vs. .Net Pet Shop

Page 10: DotNet Vs. J2EE

Mosaad Alomery - CIS 764

1400014000

75007500

90009000

50005000

25002500

1550015500

1150011500Java Pet StoreJava Pet Store

Lines of Code RequiredLines of Code Required

User User InterfaceInterface

4,410

Data TierData TierMiddle TierMiddle Tier

2,865

.NET Petshop.NET Petshop

14,273

5,891

ConfigurationConfigurationTotal Lines Total Lines of Codeof Code

710

5,404

761 412 74

2,566

Porting Java Pet Store to .NET

Page 11: DotNet Vs. J2EE

Mosaad Alomery - CIS 764

The “Conclusions”

• Microsoft concludes: ".NET is 28 times faster than J2EE"– Because:– “Java PetShop” is Sun’s “best practice” example– Numbers compared with published Oracle results– Identical functionality, all code published and documented

• Can we believe the raw numbers?

Page 12: DotNet Vs. J2EE

Mosaad Alomery - CIS 764

The Shootout afterwards

• Java PetShop: J2EE blueprint application– Built by Sun to show "best practice" design– Implementation by TMC missed quite a few optimizations

• .NET PetShop– Built by TMC (with help from MS) with different design

• Plain classes instead of container managed components• Middle tier moved into ASP.NET• Using stored procedures instead of ad-hoc SQL• Uses server-side caching of ASP.NET• Many performance optimizations applied

• Most Java devotees find this highly unfair

Page 13: DotNet Vs. J2EE

Mosaad Alomery - CIS 764

Access to Data

JDBC Driver Access to Data

ADO + OLE DB

Page 14: DotNet Vs. J2EE

Mosaad Alomery - CIS 764

Choosing between Java and .Net

• The ultimate choice usually depends not on technical superiority, but on:

– cultural/”religious”/political preferences– Skill set of your developers– Customer preference– Vendor relations

Page 15: DotNet Vs. J2EE

Mosaad Alomery - CIS 764

References

• J2EE: • http://java.sun.com• http://java.sun.com/j2ee/• .NET• http://www.microsoft.com/net/• http://elric.fib.upc.es/punto_net_archivos/v3_document.htm• Microsoft .Net vs. J2EE, Suresh Ramachandran & Duke Energy• Java vs. .Net, Bent Thomsen, Department of Computer

Science ,Aalborg University.

Page 16: DotNet Vs. J2EE

Mosaad Alomery - CIS 764

Questions