Google
 
 
Home arrow Other Articles arrow J2EE vs .Net

Main Menu
 Home
 Linux Articles
 FreeBSD Articles
 Apache Articles
 Perl Articles
 Other Articles
 Program Downloads
 Free Books
 News
 The Web Links
 Contact Us

Most Read
Automating SFTP using expect
FreeBSD PPTP VPN
Shorewall Router on Linux
Shorewall Stand Alone Firewall
SnortShorwall - Using Snort And Shorewall Together

Polls
Favorite Linux/BSD
Fedora
Mandrake
Debian
Slackware
Gentoo
Suse
FreeBSD
Other
  

Syndicate
Latest news direct to your desktop
RSS

Login Form
Username

Password

Remember me
Forgotten your password?
No account yet? Create one

Members Online
 Linux-BSD-Central Has a Total of 139 Members   Members (139) # Online
 We have 3 Guests Online. Guests 3
 We have 0 Users Online. Users 0

Online Users
No Users Online

Statistics
OS: Linux b
PHP: 5.2.5
MySQL: 5.0.45-community-log
Time: 16:30
Members: 139
Hits: 731648
News: 269
WebLinks: 15




J2EE vs .Net   PDF  Print  E-mail 
Contributed by Chad Brandt  
Saturday, 19 June 2004

There has been a large debate recently over what platform companies should choose to develop their enterprise applications on. The two leading technologies are Sun J2EE and Microsoft .Net. My feeling is J2EE is the clear winner

Microsoft’s biggest argument for .NET is their claim that .NET development can be done faster and performs and scales better than J2EE applications. Unfortunately, they don’t tell you the whole story. Having managed real, live, Windows and UNIX systems for years, I would never advocate deploying anything in production on Windows. The major draw back of .NET is that it is synonymous with Windows. Any application written for .NET is written for Windows so you are locked into one vendor. Performance and scaling benchmarks shows that .NET applications may run faster on their native environment.  A lot of the performance and scalability also depends on the underlying design of the application. Most of the benefits of .NET absolutely require that you use IIS server which has been proven to have a terrible track record for security and reliability.

 Claiming that .NET is superior to J2EE because you are able develop the application a bit faster without thinking about the long term costs and problems is terribly short-sighted.

 Here are some of the big advantages that J2EE has over .NET:

 1.       J2EE applications can run in a number of different application servers on many operating systems. With .NET you are tied to Windows, forcing you to reboot the servers for upgrades and deal with Microsoft’s security problems. J2EE application servers also run on Windows as well as Linux, UNIX, and many other Operating Systems.

 2.       .NET has license fees and subscription fees for the operating system and software. There are free and/or cheap J2EE application servers (Tomcat, Orion, etc.) that can run on Intel boxes with a Linux free Operating System.

 3.       Low cost commercial IDE are available for J2EE applications. Microsoft Visual studio is very expensive.

 4.       Standardized Connectivity to Legacy Apps. The Java Connector Architecture (JCA) is a standard for connecting to Enterprise Information Systems (EIS). JCA supports access to SAP, IBM CICS, PeopleSoft, Oracle, Siebel, Screens 3270, AS/400, Unisys, ADABAS-C, VSAM, Codasyl, IMS, Tuxedo, etc. This level of connectivity options is not available with  .NET.

 5.       The Java Messaging Service (JMS) standard is supported by multiple vendors such as BM, TibCo, Progress, SpiritSoft, Fiorina, Swift, Open3, JBoss, etc.  You have the freedom to pick the best messaging product for your situation; you don’t have that opetion with Microsoft where the only choice is MSMQ. 

 6.       Mature O/R mapping tools. It is best practice in Object Oriented development to decouple business objects from their underlying relational database representation. Java has several mature and robust products that support the mapping of relational databases to objects such as TopLink, CocoBase, Hibernate, OJB, etc. There is no equivalent of such a tool in the .NET world. Microsoft is trying to remedy the situation by building something called "ObjectSpaces", however it is still in beta and not mature enough to entrust your enterprise business with.

 7.       Embedded databases available. There are several relational databases that are implemented in Java such as Pointbase, HSQL, Instantdb, Firstsql and Cloudbase. These are important because they allow you to deploy a database everywhere you can deploy Java. Some even allow Java types to be used in the database.  An additional benefit is that they are much easier to install than a traditional RDMS. There is no equivalent to the RDMS written in .NET languages like C# or VB.NET.

 8.       Standardized Security. Java has a standard way of providing Authentication and Authorization (JSSE). The choices in .NET are limited and in fact a well-published bug in the way IE handled digital certificates required a service pack to fix.

 9.       Distributed Caching. There are multiple vendors and open source projects that provide distributed caching (i.e. SpiritCache, Coherence, Gemstone, JCS, Oracle). Distributed Caching solutions are not available in .NET. In fact "Centralized Caching" for .NET is in one site's wishlist.

 10.  Open Source Free Tools. There are many free tools available that make developing J2EE applications easier and standard across developers such as Ant, jUnit, Eclipse, etc.

Comments

Only registered users can write comments.
Please login or register.

Powered by AkoComment 1.0 beta 2!




 
Google Ads