"We live in an exciting time. The Internet has become almost ubiquitous throughout much of the world, bringing with it freedom of information and an unprecedented power to all. My passion is seeing businesses leverage that power effectively and economically." - Dave Ranck

Feb
05

Java vs. .Net – Another Blast From the Past

By Dave Ranck

Here’s another ancient article I wrote that I recently reread. It is interesting to see what has changed since this was first published on SearchSOA almost 8 years ago (see link at end of article). There are also many things that have not changed in those years. Companies continue to be faced with the question of what technology platform to choose for their Line of Business (LOB) applications. Often decisions are made based on criteria that have not been properly matched to business objectives. Sometimes the result is that the new technology platform is abandoned in the not so distant future, with a corresponding loss of investment dollars.

With a Just Enough Technology approach, a company evaluates technology against its core problem or objectives. I work with business and technology leaders within a company to define their true objectives and then weigh the technology decisions with their business objectives as the main criteria. Read through this article on choosing between the Java and Microsoft platforms. Both technologies have evolved quite a bit since this was first published, but some of the core arguments remain to this day.

The article:
A user asks Dave, “Assume that we have a new mission critical Web application that we need to develop over the next six months. How would you recommend we compare & contrast the pros/cons of J2EE vs. .NET as the platform (assuming we have the proper skills)?”

There are many, many factors that come into play when deciding between J2EE and .NET. As a foundational statement, let me state that I personally believe you can build (and I have built) mission critical Web applications on both platforms. Sun Microsystems commissioned a white paper (see links at the end of this post) that states the theoretical scalability of each platform is unlimited. I say this because your decision should not based on whether or not you *can* build a more robust application in one or the other. It can be done.

As far as developing Web services, either platform offers a great foundation. Of course there are intrinsic advantages to each platform which I’ll list later. Web services and .NET are tightly integrated. It is *very* easy to create a basic Web service in .NET. It is simply a matter of placing a directive on each method you want exposed as a Web method. The compiler does the rest for you. Deployment is also a breeze. For the most part, you simply copy your files to the server and you’re done. Visual Studio .NET is also a development environment that has no peers, in my opinion. I still believe Microsoft has the edge in getting a project out the door as fast as possible.

J2EE on the other hand also has some good tools for creating Web services. IBM’s WebSphere Studio Application Developer 4 offers some great work-saving features for creating Web services. Basically you choose a Java bean or other object to “WebServicefy” and step through the wizard. When you are done, WebSphere Studio has created a wrapper for your object and all the SOAP, WSDL, etc. code needed. It also has created a JSP application to test your new Web service. It works and it is straightforward. I was able to create a simple Web service within 30 minutes of opening the environment for the first time. Pretty impressive for a Java IDE.

If you have developers skilled in one or the other platforms, then lean strongly toward that platform. The cost of training is high. Leveraging existing skills should be a priority.

That said then, what are the decision points one would consider when choosing between J2EE and .NET? Here are a few considerations and who I think has the advantage in each:

Multi-Platform: J2EE
———————-
Currently if you need to create applications that run on more than one platform, Java is your only choice. This may change in future as .NET is ported to other platforms – we’ll see.

Legacy Integration: J2EE?
———————-
If you need to integrate legacy systems you may have an easier time in J2EE. IBM for example, provided the iron for many of these systems and has very workable solutions to connect to mainframes through WebSphere. On the other hand, you *could* create a Web service on the legacy platform, making this point moot.

Multi-Language: .NET
———————-
If you have developers in VB, C++, Java and want a unified environment for them to work in, .NET is your choice. All languages are created equal and work together, including cross-language inheritance.

Choice of Vendors: J2EE
———————-
Is a choice of vendors important to you? There are advantages to a multi-vendor solution – you can choose the best-of-breed for each component of your system. There are also advantages to a single vendor solution, which include better interoperability between components. For example, .NET and SQL Server 2000 working together are a powerful, easy to use (relatively) combination.

Vertical Scalability: J2EE
———————-
If scaling up by buying bigger iron is your organizations preferred method, than lean toward J2EE.

Horizontal Scalability: .NET
———————-
If your organization likes the idea of a greater number of cheaper servers than there is probably an edge with .NET.

Finally, after all is said and done, many decisions are in reality based on shall we say, non-scientific criteria such as:

Like Microsoft: .NET
Don’t: J2EE

I say this only partly tongue-in-cheek. Prejudice against Microsoft and the underlying technology goes deep with many technical folks and some business folks. It is a real factor in making this decision. There is also a prejudice in the Microsoft community against Java that is also based on less than scientific findings.

LINKS:

Original Article:
( http://searchsoa.techtarget.com/news/article/0,289142,sid26_gci819020,00.html )

J2EE vs. Microsoft .NET: (Copyright2001 The Middleware Company Prepared for Sun Microsystems, Inc.
Transaction Processing Performance Council
Roger Sessions’ comparison of .NET to J2EE
Software Dev Magazine article
O’Reilly article comparing J2EE and .NET

Technorati Tags: Architecture, Business and Technology, Cost Benefit Analysis, Design, Programming, ROI, Software Development, TCO

  • Share/Bookmark

Related posts:

  1. Choosing Between Java and .Net
  2. Craftsmanship and Software Development
  3. Windows Azure Now Available
  4. Why Just Enough Technology?
  5. Enable Joins WebSiteSpark

Leave a Reply

Sponsored By :

 

 

Material in this site unless otherwise noted is Copyright David Ranck 2009, 2010