Docstoc

NET- J2EE

Document Sample
NET- J2EE Powered By Docstoc
					.Net and J2EE – A High
  Level Comparison

           David White
     Architectural Evangelist
      Microsoft Corporation
     dwhite@microsoft.com
              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?

				
DOCUMENT INFO