M Vs. J - People

Download Report

Transcript M Vs. J - People

DotNet Vs. J2EE
Mosaad Alomery
CIS- 764
the internet platform
– Services
Electronic commerce
Communications (e-mail, news, chat, etc.)
– Requirements
Development
Maintenance
Security
Usability
Mosaad Alomery - CIS 764
Solutions
• J2EE
Manufacturer: Sun
Language: Java
Date of Birth:
05/23/1995
• NET
Manufacturer:
Microsoft
Language: C #
Birthday: ~ 2000
Mosaad Alomery - CIS 764
A typical .NET Enterprise
Solution
IIS on W2k Server
Browser
ASP
.NET
.NET
managed
component
Windows
Client
Mosaad Alomery - CIS 764
SQL
Server
A typical J2EE Enterprise
Solution
Java App
Server
Servlet
EJB
JSP
Browser
Java
Client
Mosaad Alomery - CIS 764
DB
Server
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. Mosaad Alomery - CIS 764
Microsoft .Net vs. J2EE Comparison
CLR vs JVM
C#
Java
VB Managed Lots of other
.Net C/C++ Languages
MSIL
Byte Codes
CLR
CTS GC Security
Runtime Services
JRE (JVM)
GC Security
Runtime Services
Windows OS
Mac
Win Unix Linux
Both are ‘middle layers’ between an intermediate
language & the underlying
OS
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
Mosaad Alomery - CIS 764
Java Pet Store vs. .Net Pet
Shop
Mosaad Alomery - CIS 764
Porting Java Pet Store to .NET
15500
14,273
Lines of Code Required
14000
.NET Petshop
11500
Java Pet Store
9000
7500
5,891
5,404
4,410
5000
2,865
2,566
710
2500
Total Lines
of Code
User
Middle Tier
Mosaad Alomery - CIS 764
Interface
761
412
74
Data Tier Configuration
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?
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
Mosaad Alomery - CIS 764
Access to Data
JDBC
Driver Access to Data
Mosaad Alomery - CIS 764
ADO +
OLE DB
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
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.
Mosaad Alomery - CIS 764
Questions
Mosaad Alomery - CIS 764