Computer Science Essays - J2EE and Microsoft

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Explain the obstacles and advantages of the competing technologies J2EE and Microsoft's .NET with respect to teaching andlearning in a university environment

J2EE and Microsoft .Net are two competing technologiesthat aim to achieve the same thing. That aim is to simplify development of webapplications by providing a standard set of components and services that can beaccessed regardless of operating system. This enables focus to given to thebusiness logic and development of it. The benefit of Web services is that theycan be used by anyone, regardless of the underlying technology choices made.This is made possible because they all speak the same "XML-based"language. Examples of web services are Microsoft's passport service which applicationproviders can use to provide application log in, instead of having to developtheir own. This has the added advantage that it can act as a single sign on solutionfor others applications and websites that use MS Passport. E.g. eBay. Some keyfeatures of the two frameworks are discussed below.

J2EE is platform independent as it runs in itsown virtual machine (JRE) on top of the operating system. This means thatprograms and applications developed can run on Windows, UNIX ands Linux. Microsoft.NET programs on the other hand need to be developed and deployed on a Windowsplatform as it uses a .NET framework which can only be installed on a machinerunning a Windows operating system. However UNIX based applications can stilluse the services being exposed by .NET developed web services.

Because of its cross platform capability J2EEwould be ideal in a university environment as it does not tie you to a singleplatform and also from a learning point of view you can gain practical experienceby running on multiple platforms. Furthermore universities are likely to have heterogeneousenvironments with a mix of IT infrastructure with legacy applications. A J2EEarchitecture will enable this investment to be protected, as moving to a .NETenvironment would effectively render it useless. Also funding and resources area key issue and being able to run applications on the available infrastructurewill help to reduce and manage this cost. Typically universities are likely tohave older UNIX based machines and infrastructure and a move to Microsoft .NETwill require investment in new expensive infrastructure and support, and incur licensingcosts. This further strengthens the case for using J2EE in academia.

Form a purely learning perspective, thearchitecture of the two technologies is similar as they both wish to provideweb services. Therefore to understand the concepts behind web services andservice oriented architecture either or both technologies would be good to usein learning. Some of the key similarities are listed below.




Type of technology



Middleware Vendors




Java Runtime Environment(JRE)

Common Language Runtime (CLR)

Dynamic Web Pages



Middle-Tier Components

Enterprise Java Beans (EJB)

.NET Managed Components

Database Access






Implicit Middleware (load-balancing, etc)



An important thing to understand is that J2EE isnot a product like .NET but a standard, and therefore there a number ofimplementations of it, most notably from IBM and SUN and it enjoys industrywide support which also acts in its favour. Hence there is now genuinecompetition to Microsoft in the sense that previously the big advantage forMicrosoft was that it was a one stop shop with everything integrated andprovided by one vendor. The big drawback to J2EE was that although thetechnology was available, bits of it were provided by multiple vendors and itwas not fully integrated e.g. IBM supplied the hardware, Oracle the database, Sunthe operating system. Now IBM and SUN in particular have positioned themselvesto be able to supply a single vendor solution based on J2EE just as Microsoftdoes with .NET. This includes application integration software such as Portal,Message Queuing and Application Servers. However it should be noted that theseoffering of J2EE although, complying with SUN standards (discussed furtherdown), are highly proprietary with their aim being to secure profits for thepromoting organisation. E.g. IBM Webshere. The licensing cost of the softwareis comparable to Microsoft's .NET.

When migrating code, existing J2EE developmentswill port to J2EE web services without having to be re-written. This is usefulfor research based computing projects already using Java as it incurs no cost. Howevermigration to Microsoft .NET is not straight forward as it is a total shift fromthe existing platform. To gain the advantages afforded by .NET it is estimatedthat approximately 60% of an applications code will need to be modified andthat the cost of migration could be up to 60% of the original development cost.Also as the .NET platform is new, re-work will carry with it significant risksin terms of scalability and performance.

Although J2EE is able to run on any platform, portabilitybetween vendors provides an issue that will need to be managed as each vendoroffers proprietary functions to provide feature richness. J2EE will allow applicationsto be ported from one vendor to another so you are not locked into a particularcompany and have a choice going forward. Companies will see this as criticalwhen negotiating prices with suppliers, as effectively if you are locked into asingle supplier they can essentially charge you over the market rate. Thishelps to maintain a level of competition and avoids a major issue with being atotal .NET development shop.

Another advantage of J2EE being portable toother suppliers is the fact that it will drive innovation as well as price. Inthis instance there will be a number of suppliers trying to secure businessthey will not only try to be competitive on price but try to differentiatetheir product from the competition in order to secure a business advantage. Infact a required feature of a product not found elsewhere can become a sellingpoint. For example since Netscape, there has not been a browser war, soMicrosoft has not had the need to push the development of Internet Explorer. Howeverrecently a browser called Firefox was released and is enjoying popularityparticularly with developers as it offers neat features not found in Internet Explorer.This process of innovation will drive suppliers to a greater number of productreleases as they rush to release new features. In contrast as a Microsoftplatform has a greater level of lock-in so less pressure to innovate. Also MS.Net is integrated with the operating system the number of releases will belimited as a major enhancement of .NET will require a new release of theoperating system and not just a single product.

To assist vendors in providing portable versionsof J2EE, SUN has provided a portability test suite that vendors must conform toin order to become certified.. This is critical if portability is to bemaintained. It is important to understand that portability will never be costfree, as complex applications are never able to be developed without using someof the propriety features provided by a vendors offering. Portability will be alot easier with J2EE when using SUN certified products rather than non-certifiedones.

Microsoft .NET on the other hand does not haveany portability issues because it is not portable as it only runs on thewindows platform supplied only by Microsoft. This is only a problem ifportability is an issue. In a learning environment this should not really bethe case. Taking the case of an Independent Solution vendor (ISV), it wouldmake business sense for them to go with J2EE as they cannot predict whatplatform their customers will be running. Thus to prevent automatic lockout ofan application they need to go with J2EE by default. This is quite significant becauseas time goes by the number of ISV and consultancies offering support for J2EEwill be huge in number, and customers are likely to go with technology that hasthat kind of base.

One of the main features of MS .Net is that youcan develop in multiple languages e.g. VB, C++. This is possible through the useof a MSIL (Microsoft Intermediate language) which converts to an intermediatelanguage and the CLR (Common Language Runtime) which is similar to the Java'sJRE. The big issue is that you cannot code in JAVA but Microsoft has provided avery similar language called C#. This means that business organizations inparticular do not need to retrain developers to Java but can leverage existingskills and that someone with Java skills can easily convert to coding in C#. Inthis sense Microsoft is trying to promote platform independence. If moving tothe .NET platform universities will need to modify their courses to make one ofthe Microsoft compatible languages a part of the syllabus. This will alsorequire investment in new books and materials.

J2EE has new features but these are less riskythan .NET. MS.NET is effectively a completely new architecture with no historybehind it. J2EE can be considered to be a more mature technology with applicationsdeployed by a large number of vendors including corporations and educational institutions.J2EE is built on the Java programming language which is widely used. Currentlythere are around 2.5 million developers in JAVA and 78% of universities teachit and 50% require it.

The Microsoft .NET framework can be seen to beintegrated with the operating system, therefore an upgrade to it willinseparably require an upgrade to the operating system. In this sense J2EE isnot tied to any operating system and does not suffer from such an issue.

Microsoft is the clear leader when it comes to devolvementtools i.e. Visual Studio. The Windows environment enables simpler developmentof web services through use of wizards. All the tools required are availableand are fully integrated with the underlying operating system and .NETframework. Although it can be argued that J2EE toolsets provide greaterfunctionality then .NET, they originate from multiple vendors and so are notfully compatible. However as discussed products such as Webshere from IBM arebeginning to catch up in this area. Even so Microsoft development tools enjoywide acceptance and popularity in the development community and thisstranglehold will be hard to break. The point is that development is driven bydevelopers and if they like using a particular tool they will find a way to useit. The advantage Java development tools have is that the standard versions aremostly free and open source which lends itself very well to academia. Universitiesare able to lend support and research into its development and indeed receivefunding from government and business organizations to engage in such activitiesi.e. for example the same way UNIX and the internet were developed.

Although not a direct concern for learning andteaching no discussion is complete with mentioning security which is a seriousissue particularly with respect to the internet. This a major problem forMicrosoft in particular and its image suffers very badly because of it. Windows.NET has multiple security models which complicate and diminish security. Thecost of continuously patching bugs and security holes is very high both for Microsoftand for organizations as the process has to be managed and implemented. J2EE onthe other hand has a more secure security architecture and consistent securitymodel particularly if deploying onto LINUX which in regarded to be much moresecure than windows.

To conclude, both J2EE and MS.NET are in theirinfancy, and web services is a new area of development. Currently there is aplace for both technologies and ultimately whether you are UNIX based or Windowsbased you will be able to use the services provided by both frameworks. HoweverJ2EE provides the biggest advantage of being able to run on both Windows andUNIX and of being independent of the underlying operating system. Microsoft .NEThowever currently provides the richest toolset with its fully integratedenvironment for developing web applications and has the best infrastructure fordeploying and managing them. J2EE is the preferred technology for universitiesfrom a learning perspective as existing investment can be used to demonstratethe key concepts and use without major investment. References