.Net and J2EE – A High Level Comparison David White Architectural Evangelist Microsoft Corporation firstname.lastname@example.org Agenda .NET and J2EE – An architecture comparison Why or Why not .Net? Application Platforms Today Browser Web Services Local Other Apps Apps Apps Apps GUI Transaction Web Data More Services Services Scripting Access Standard Library Runtime Environment Operating System The .NET Framework Browser Web Services Local Other Apps Apps Apps Apps Windows Enterprise ASP.NET ADO.NET More Forms Services .NET Framework Class Library Common Language Runtime Windows The Competition: The Java Environment Browser Web Services Local Other Apps Apps Apps Apps Swing Enterprise JavaServer JDBC More JavaBeans Pages Standard Java Packages Java Virtual Machine (VM) Windows, Solaris, Linux, others Application Platforms: Some History 1996 1998 2002 Microsoft Windows DNA .NET Framework - MTS (COM+) - CLR - ASP - C#, VB.NET - ADO - Enterprise Services, ASP.NET, ADO.NET - Web services Java Java J2EE - Java VM - EJB - Java language - JSP - J2SE - JDBC .NET and Java: Application Platforms .NET The .NET Framework Java Java application servers Products include: IBM WebSphere Application Server BEA WebLogic Application Server Sun iPlanet Application Server Oracle Application Server Many others .NET and Java: Runtime Environments .NET Framework Intermediate language is MSIL Provides JIT compilation There is no interpreter in the CLR Java Intermediate language is bytecode Original design targeted interpretation Java VMs with JIT compilation are now also used Languages in .NET All .NET languages are built on the CLR All have much in common Visual Studio.NET supports: C# Visual Basic.NET C++ JScript Other languages will also be available .NET and Java: Programming Languages A simple-minded view is “C# vs. Java” The true story is more complex .NET vs. Java: Standard Libraries .NET Framework class library Defined by Microsoft Somewhat Windows-oriented Organized into a hierarchy of namespaces J2SE, J2EE Defined by Sun and the Java Community Process Not bound to any operating system Defined as packages and interfaces XML Support .NET Framework class library System.Xml namespace Streaming and navigational access to XML documents XPath XSLT XML Schema description (XSD) language J2EE 1.3 Java APIs for XML (JAX) Streaming and navigational access to XML documents Document Type Definitions (DTDs) Web Services Support .NET Framework class library System.Web.Services namespace Implements ASP.NET‟s .asmx pages System.Runtime.Remoting namespace Provides SOAP support for remote access J2EE 1.3 Indicates that web services support will be added in the next version Small Device Platforms A subset of the enterprise platform aimed at Windows CE, PalmOS, mobile phones, etc. .NET The .NET Compact Framework will ship soon Java Java 2 Micro Edition (J2ME) has been available for a while Yet J2ME hasn‟t been terribly successful Summarizing the Technologies (1) .NET Java Application .NET IBM WebSphere, BEA Server Framework WebLogic, others Runtime Common Language Java Virtual Machine Environment Runtime (CLR) (VM) Standard .NET Framework J2SE, J2EE Libraries class library GUIs Windows Swing Forms Transactions Enterprise EJB Services Summarizing the Technologies (2) .NET Java Web ASP.NET JSPs Scripting Data ADO.NET JDBC Access Small Device .NET Compact J2ME Platform Framework Development Visual Studio.NET IBM Visual Age for Java, Tools Borland JBuilder, others Web Services ASP.NET, .NET My Some support from IBM and Support Services, others others, more planned Agenda .NET and J2EE – An architecture comparison Why or Why not .Net? Why not .Net? Existing applications sets Homogeneity of application development across disparate platforms Homogeneity of communication protocols Perception of enterprise readiness „Big‟ Computer Science TRUST Why .NET? Existing skill sets Developer Productivity Time to Market Agility Not „big‟ Computer Science Architectural guidance enforcement end- to-end Unified end-to-end development story Price/performance Questions?
Pages to are hidden for
"NET- J2EE"Please download to view full document