Comparison of J2Ee and .Net

INTRODUCTION Technological changes can put a company into turmoil. Multiple requirements need to be taken into consideration when deciding upon new technologies which include usability, functionality, performance and cost. When looking into the decision upon which platform to use within a business, the debate between using . NET and J2EE can be critical. Extensive research must be done to find out if currently used programs will work correctly with either platform or if new programs need to be put in use. NET is very tightly integrated into Microsoft operating systems, so the decision needs to be made whether to have a Microsoft framework in place. J2EE will work on any operating system, but is more complex and its GUI environment is very limited compared to . NET. There are pros and cons to using both platforms and this paper will discuss the differences and similarities between . NET and J2EE which should be considered before making the decision to use either platform. PURPOSE OF PAPER The purpose of this paper is to compare and contrast Microsoft.

NET with the Java 2 Platform, Enterprise Edition. An overview of both platforms will be provided along with technologies that are being used in both platforms. Server and client requirements will be discussed along with open and closed source technologies. While this paper will not provide the overall answer as to whether to use Microsoft. NET or J2EE as a platform solution, it will provide the information that can allow businesses to decide which platform may be best suited for their particular enterprise solution.

J2E OVERVIEW J2EE stands for Java 2 Platform, Enterprise Edition. In later versions, the name was simplified to Java EE. The original J2EE was developed by Sun Microsystems, with later editions being developed under the Java Community Process (Wikipedia, the free encyclopedia, 2008). The primary programming language used in J2EE is Java, and it supports only this one language, although Sun is starting to explore possibilities of supporting other languages on the J2EE platform, such as JavaScript (Taft, 2006).

What makes J2EE so unique is that it is a platform that can be run on multiple operating systems and can be supported by multiple vendors (Lyons, 2004). What makes this possible is the Java Virtual Machine (JVM), which is a virtual “machine” that both compiles and executes Java byte-code without the need for a dedicated computer or hardware component (Venners, 2006). This allows anyone to run Java code from any computer. Hence, the Sun Microsystems slogan “write once, run anywhere”, which sums up the overall portability Java has to offer (Wikipedia, the free encyclopedia, 2008).

TECHNOLOGIES IN USE Enterprises are continuously looking for ways to increase productivity, provide a stable working environment that is secure and functions to the company’s needs and specifications. Putting the Java 2 Platform, Enterprise Edition (J2EE) to work allows for businesses to develop, deploy and manage their enterprise applications with a framework that allows for cost reduction, rapid deployment and an environment that is easily enhanced.

J2EE provides the framework for complete Web services, which are Web based applications that use XML based standards and transport protocols to transfer information (data) between two points. Using standard JAX-RPC programming models, Simple Object Access Protocol (SOAP) based web service clients and endpoints are developed which allows Java and Com objects to communicate with each other in a Web based environment. Using containers, J2EE offers a simplified, faster deployment which allows for developers to concentrate on writing the logic for a business instead of writing the infrastructure.

Using the Enterprise JavaBeans container (EJB), allows for handling of distributed communication along with threading, scaling and transaction management. The use of Java Servlets to provide dynamic Web content simplifies web development by providing the infrastructure in a web container that holds methods for communication and session control. Other technologies that are included in the J2EE platform include Java Server Pages (JSP) which allows for faster development and an environment that is easily maintained.

It allows for the change of the outward appearance or design of a page without having to change the underlying dynamic content. Java Management Extensions (JMX) has multiple uses as it allows for the adaptation of legacy systems along with the implementation of new management and monitoring solutions. JMX provides the resources for the monitoring of devices, applications and service driven networks and defines the J2EE Management Model which has been designed to operate with various protocols and management systems.

Other technologies included in the J2EE platform are: J2EE Connector Architecture which specifies architecture that is standard for accessing resources in diverse Enterprise Information Systems (EIS); J2EE Deployment API which enables the use of components and applications by defining the standard APIs; J2EE Authorization Contract for Containers defines new java. security. Permission classes which are needed to satisfy the J2EE authorization model; and Java API for XML Registries (JAXR) which uses a standard uniform way to use business registries that have been based on open or industry led specifications.

SERVER REQUIREMENTS The J2EE platform requires specific server software in order to function as a web service and application server. The most basic requirements include the J2EE Application server product. The application server product also has a list of requirements that must be met to function properly. In addition to the application server and its subsequent requirements, a plethora of third-party software is available to add specific functionality to the platform itself. The following tables list the requirements that must be met before installing the J2EE Application Server product (Sun Developer Network (SDN), 2003).

Operating System Requirements Operating System Architecture Minimum Memory Recommended Memory Minimum Disk Space Recommended Disk Space JVM Sun Solaris 9 32 and 64 bit 256 MB 512 MB 250 MB free 500 MB free JDK 1. 4. 2 Redhat Linux 8. 0 32 bit 256 MB 512 MB 83 MB free 300 MB free JDK 1. 4. 2 Microsoft Windows 2000 Professional Intel 32 bit 256 MB 512 MB 250 MB free 500 MB free JDK 1. 4. 2 Microsoft Windows XP Professional Intel 32 bit 256 MB 512 MB 250 MB free 500 MB free JDK 1. 4. 2 Microsoft Windows 2000 Server SP3+ Intel 32 bit 256 MB 512 MB 250 MB free 500 MB free JDK 1. . 2 Microsoft Windows Server 2003 Intel 32 bit 256 MB 512 MB 250 MB free 500 MB free JDK 1. 4. 2 JDBC Driver Requirements JDBC Vendor JDBC Driver Type Supported Database Server Datadirect Technologies Connect JDBC 3. 2 (Type 4) Oracle (R) 9. 2 PointBase Type 4 PointBase Network Server 4. 6 Datadirect Technologies Connect JDBC 3. 0 (Type 4) Oracle (R) 8. 1. 7 iNet Software iNet JDBC Driver Oracle (R) 8. 1. 7 v2. 03. 08 Other requirements include: •Free space: your temporary directory must have a minimum of 100 MB free. Using the uninstall program: If you need to remove the application server from your system, it is important to use the uninstall program that is included with the software. If you attempt to use another method, problems will arise when you try to reinstall the same version, or when you install a new version. •Free ports: You must have seven unused ports available. •The installation program automatically detects ports in use and suggests currently unused ports for the default settings. By default, the initial default ports are 80 for the HTTP server (Windows), 1024 for the HTTP server (UNIX), 1043 for HTTPS, and 4848 for the Admin Server. The installation program will detect used ports and assign two others for you: Sun JavaTM System Message Queue (by default, 7676), and IIOP (by default, 3700 for IIOP and 1060 and 1061 for IIOP/SSL). If these default port numbers are in use, the installation program will assign the next available port (for example, 7677 or 7678, and so on). •(For UNIX) Starting previously-installed servers-If there are previously-installed application servers or web servers on the target machine, you must start them before you begin the J2EE 1. 4 Application Server installation process.

This allows the installation program to detect ports that are in use and avoid assigning them for other uses. •(For Microsoft Windows) Shutting down firewall-You must stop any firewall software before installing the J2EE 1. 4 Application Server software, because some of this software disables all ports by default. The installation program must be able to accurately determine which ports are available (Sun Developer Network (SDN), 2003). CLIENT REQUIREMENTS The most basic requirement for a client to run a J2EE application served by a J2EE Application Server is that the client machine has a compatible Java Virtual Machine (JVM) installed.

Most computers connected to the Internet, or Intranet, today have a JVM installed by either a web page that was visited that required the JVM software (pushed to the client) or by an enterprise support team installing deliberately. This means that most computers are already setup to run a J2EE application and if perchance the computer is not running a JVM nor has an incompatible version, the client will be asked to download the compatible client. The client machine then has the capability to run any J2EE application server by a J2EE Application Server or even from the local machine utilizing a distributed . jar file. OPEN SOURCE SOFTWARE

CLOSED SOURCE SOFTWARE EXAMPLE Java is an object-oriented language and code must be saved with a . java extension. Once the code is compiled, a . class file is generated in order to run the code. For this example, the file name for the code will be Hello. java, and after it is compiled, the run file is called Hello. class: class Hello { public static void main(String[] args) { System. out. println(“hello, world”); } } .NET OVERVIEW .NET is Microsoft’s bid to enable solutions for Web services and multi-device communications. It primarily uses the C# programming language, which is similar to Java since both languages were derived from C/C++.

Even though . NET is limited to the Windows operating system and is only supported by one vendor, its ability to support multiple programming languages is one advantage it has over J2EE (Lyons, 2004). A user can program in any language, and then compilers are used to translate the languages so that they will run on any specific platforms. Microsoft uses a virtual machine model similar to J2EE called the Common Language Infrastructure (CLI). Microsoft has a byte-code called Common Intermediate Language (CIL) and on . NET the byte-code is always compiled before execution. This is what enables .

NET to support multiple programming languages since it takes care of compiling all languages so that they will be able to execute on the Windows operating system (Wikipedia, the free encyclopedia, 2008). TECHNOLOGIES IN USE Microsoft technologies have been in the fore front of computer technologies for quite some time. Included in those technologies is Microsoft. NET which offers users a complete integration strategy that runs from front to back and from top to bottom. Using one platform is the biggest architectural advantage that Microsoft. NET offers as it makes working in the environment simpler.

This can also be a big disadvantage when it comes to integrating other systems into the environment. Microsoft. NET has an integrated communications technology which allows the connection of systems and devices along with the exchange of information through Web services. These Web services are small applications which are reusable and are based on protocols such as Extensible Markup Languages (XML), Simple Object Access Protocol (SOAP) and Web Services Description Language (WSDL). These protocols enable computers to connect to each other and work together across platforms and different programming languages.

Software that is available from Microsoft that works with Web service based connectivity includes Microsoft Visual Studio. NET developer tools, Windows Server System that hosts Web services and Microsoft Office Systems that are desktop applications. Other technologies are available that work with Microsoft. NET such as the . NET Passport which is a Web based service that was implemented to allow for quickly and easily signing into Web sites. Participating sites allow for authentication of users with a single set of login credentials. Smart Clients are another technology that reside on the user’s computer or other ardware and are client applications which are very easily deployed and consume Web services. Web Services Enhancements (WSE) is an add-on to Microsoft Visual Studio. NET and Microsoft. NET and aids developers in increasing and building better security features into Web services. This add-on allows programmers to create a system that is a security enhanced connected system which will improve business systems and the way they process information, thus improving business profitability. SERVER AND CLIENT REQUIREMENTS As there are many versions of .

NET available at this time, only the latest version (3. 5) server and client requirements will be discussed. It is important to note that the . NET framework is completely vendor specific in that only Microsoft Operating Systems and Servers are able to run the framework and thus a good portion of the population is unable to utilize applications created with the . NET technologies. Even so, there are many older Microsoft operating systems that are incompatible with the latest . NET offerings and as such it is important to show a table outlining the incompatible systems.

The following tables outline the server and client requirements followed by a table outlining the incompatible Microsoft operating systems. In addition tables are presented with the minimum software and hardware requirements for utilizing the . NET Framework 3. 5. All tables were sources from http://msdn2. microsoft. com/en-us/library/bb882520. aspx. ScenarioTarget platforms 32-bit based systemsWindows XP Professional with SP2 Windows XP Home Edition with SP2 Windows XP Media Center Edition 2002 with SP2 Windows XP Media Center Edition 2004 with SP2 Windows XP Media Center Edition 2005

Windows XP Professional Reduced Media Edition with SP2 Windows XP Home Reduced Media Edition with SP2 Windows XP Tablet PC Edition with SP2 Windows XP Starter Edition Windows Server 2003 Standard Edition Windows Server 2003 Enterprise Edition Windows Server 2003 Datacenter Edition Windows Server 2003 Web Edition Windows Small Business Server 2003 Standard Edition Windows Small Business Server 2003 Premium Edition Windows Server 2003 R2 Standard Edition Windows Server 2003 R2 Enterprise Edition Windows Server 2003 R2 Datacenter Edition Windows Vista Starter Windows Vista Home Basic

Windows Vista Home Premium Windows Vista Ultimate Windows Vista Business Windows Server 2008 Standard 32-Bit Windows Server 2008 Enterprise 32-Bit Windows Server 2008 Datacenter 32-Bit x64-bit based systemsWindows XP Professional x64 Edition Windows Server 2003 Standard x64 Edition Windows Server 2003 Enterprise x64 Edition Windows Server 2003 Datacenter x64 Edition Windows Server 2003 R2 Standard x64 Edition Windows Server 2003 R2 Enterprise x64 Edition Windows Server 2003 R2 Datacenter x64 Edition Windows Vista Home Premium x64 Edition Windows Vista Ultimate x64 Edition

Windows Vista Business x64 Edition Windows Server 2008 Standard x64 Edition Windows Server 2008 Enterprise x64 Edition Windows Server 2008 Datacenter x64 Edition Itanium-based systemsWindows Server 2008 Enterprise for Itanium-based Systems . NET Compact FrameworkMicrosoft Windows Mobile™ for Pocket PC Windows Mobile for Smartphone Microsoft Windows CE Unsupported Operating Systems The . NET Framework cannot be installed on the following operating systems. ScenarioOperating system All platformsMicrosoft Windows 95 Microsoft Windows 98 Microsoft Windows Millennium Edition Microsoft Windows NT Server

Windows NT Workstation Windows NT Server Enterprise Edition Microsoft Windows 2000 Professional Windows 2000 Server Windows 2000 Advanced Server Windows 2000 Datacenter Server Windows Server 2003, Enterprise Edition for Itanium-based Systems Windows Server 2003, Datacenter Edition for Itanium-based Systems Minimum Software requirements •Microsoft Internet Explorer 6. 0 with Service Pack 1. •Microsoft Data Access Components (MDAC) 2. 8 for data access applications. •Windows Installer version 3. 0. Processors ScenarioMinimum Recommended .NET Framework 400 megahertz (MHz) 1 gigahertz (GHz)

RAM ScenarioMinimum Recommended .NET Framework 96 megabytes (MB)256 megabytes (MB) Hard Disk Space ScenarioMinimum 32-bit280 MB 64-bit610 MB OPEN SOURCE SOFTWARE OPEN SOURCE SOFTWARE EXAMPLE C# is also an object-oriented language; however the code is usually saved with a . cs extension. Once the code is compiled, a . exe file is generated in order to run the code. For this example, the file name for the code will be Hello. cs, and after it is compiled, the run file is called Hello. exe: class Hello { static void Main() { System. Console. WriteLine(“hello, world”); } } CONCLUSION

Leave a Reply

Your email address will not be published. Required fields are marked *