slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
A Comparative Analysis of Microsoft s and Sun s J2EE PowerPoint Presentation
Download Presentation
A Comparative Analysis of Microsoft s and Sun s J2EE

play fullscreen
1 / 55
Download Presentation

A Comparative Analysis of Microsoft s and Sun s J2EE - PowerPoint PPT Presentation

fia
121 Views
Download Presentation

A Comparative Analysis of Microsoft s and Sun s J2EE

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

    1. A Comparative Analysis of Microsofts .NET and Suns J2EE ..

    2. Outline Part 1 Introduction Part 2 High level description Pros & Cons Paralleling Technologies Part 3 Key Differences/ Underlying Philosophies JVM vs CLR Part 4 .NET Overview

    3. Part 1 Introduction

    4. 1. Application Servers In the beginning, there was darkness and cold. Then,

    5. Application Servers In the 90s, systems should be client-server

    6. Application Servers Today, enterprise applications use the multi-tier model

    7. What is...? Enterprise Computing A framework Ties together a bunch of discrete objects/components Makes it easier to use complex technologies. A Wrapper A skeleton/building block J2EE and .NET

    8. Forrester Report: The State of Technology Adoption Source: http://download.microsoft.com/download/c/7/5/c75837dc-90bb-44d8-ae70-db7bcc5980b9/TheStateofTechnologyAdoption.pdf

    9. Part 2 High level description Pros & Cons Paralleling Technologies

    10. J2EE High Level Description A specification (not a product) Based on J2SE http://java.sun.com/j2ee/compatibility.html

    11. J2EE High Level Description

    12. J2EE High Level Description Containers Access underlying Services Interface between component and low- level functionality Specific types of containers for different components: EJB Container Web Container

    13. J2EE High Level Description

    14. J2EE High Level Description Client Tier Web Clients Applets, HTML, XML, etc.. Application Clients GUI

    15. J2EE High Level Description Web Tier Servlets javax.servlet.Servlet JSP Pages Compiled into a servlet

    16. J2EE High Level Description Business Tier Enterprise Java Beans Session Beans Stateless Statefull Entity Beans Message Driven Beans . .

    17. .NET High Level Description Developer Choice Common Language Runtime Platform Interoperability "You very seldom want to port an existing application between platforms, but you do want to interoperate between applications regardless of platform; therefore, industry standard support for Web Services is of great importance. -Dan Fox, Solutech, Inc. Author of: Building Distributed Applications with Visual Basic.NET

    19. .NET Framework Programming model of the .NET environment for building, deploying, and running Web-based applications, smart client applications, and XML Web services. It manages much of the plumbing, enabling developers to focus on writing the business logic code for their applications.

    20. .NET Framework The .NET Framework includes the common language runtime and class libraries.

    21. The .NET Framework

    22. Common Language Runtime The Common Language Runtime (CLR) is a runtime engine Manages .NET Code (such as C# applications) Provides features such as memory management, thread management, object type safety, security, etc. Is a part of the .NET Framework Managed code Code that targets the CLR Any .NET Language, including C#, Visual Basic, C++, Java, Cobol, etc.

    23. Running User Written Code When you compile your application, you create an assembly Intermediate language (IL) IL contains all information about your application Methods, properties, events, security, etc JIT Just in time compilation Happens when someone executes your code Turns IL into actual machine specific code

    24. JIT Process

    25. Common Language Specification CLS describes the requirements that make a .NET language compliant with the common language runtime Allows .NET languages to interoperate Languages may include non-compliant features No interoperability

    26. The Framework Class Library A huge collection of reusable types Classes, interfaces, enumerations and structures For use by any managed code Including code written in any managed programming language Types for Common tasks such as collections, file IO, memory and thread management GUI and window manipulation Web form and web service applications

    27. The Framework Class Library Totally object oriented toolbox for developers Ships as part of the .NET Framework

    28. Using the FCL Types are arranged in a hierarchy of Namespaces A types full name includes its namespaces Form class is actually System.Windows.Forms.Form Use using to indicate namespaces in source code

    29. Using the FCL Assembly references are necessary for many types The SDK documentation is critical for using SDK types Includes descriptions Often includes useful code samples Indicates namespaces and assemblies for types

    30. Pros and Cons of J2EE Pros Portability Vendor choices for tools and application servers Proven Track record (Java 1995, J2EE 1998) Rich developer community, many free tools. Cons Complex application development environment Tools can be difficult to use Java Swing limited for developing GUI's (?) No provided IDE Performance

    31. Pros and Cons of .Net Pros Easy to use tools Strong framework for building GUI's Language support Performance Cons Portability Choice of IDE's Limited A lot of piecing together components.

    32. Paralleling Technologies

    33. Paralleling Technologies

    34. Part 3 Key Differences JVM vs CLR

    35. .Net and J2EE key differences Fundamental Philosophy: One language, Many Systems vs. Many Languages, One System. Languages Supported CLR vs. JVM

    36. J2EE's Java Virtual Machine hypothetical computer. Translates compiled Java code (byte-code) into machine language for your computer. A Java byte-code interpreter. Provides the portability of the J2EE framework. Java can run on any computer with a JVM

    37. .NET's Common Language Runtime Runtime Engine Loads classes, performs JIT compilation, executes code, handles garbage collection. CLR Portable Executable (PE) files are either EXE or DLL files Consist of metadata and code. Run on top of CLR. Microsoft Intermediate Language (MSIL or IL) Any .Net language can be converted into IL.

    38. .NET's Common Language Runtime .Net treats all languages as equal C# class == VB.NET class How: Common Type System (CTS) Common Language Specification (CLS)

    39. .NET's Common Language Runtime Common Type System Every language must abide by CTS Important types supported: Value types Reference types Boxing and unboxing Interfaces Delegates

    40. .NET's Common Language Runtime Common Language Specification Problem: C++ is case sensitive but VB.NET is not. Solution: define a set of basic rules that are required for language integration.

    41. .NET's Common Language Runtime CLR Execution Major components: Class loader Verifier JIT compilers Execution Support and Management

    43. JVM vs. CLR Both abstract the underlying platform differences. Portability (J2EE JVM) vs. Language Support (.NET CLR) JVM only supports Java, CLR supports any language represented in its Common Intermediate Language (IL) April, 2003: CLI (subset of CLR) recognized as an international standard. JVM interprets Java, IL is never interpreted.

    44. Part 4 .NET Overview

    45. .NET Developer Tools Visual Studio.NET is an integrated development environment for developing .NET applications It includes support for multiple languages Visual Basic.NET Visual C#.NET Visual J#.NET ASP.NET

    46. .NET Developer Tools It can be used to develop client based applications and Web based applications

    47. ASPX Microsoft Active Server Pages, .NET IIS Server Old ASP HTML with embedded server scripts Session Support VB Scripts ASPX.NET Separation of HTML and code Additional State Preservation Capabilities Multiple Languages

    48. Running .NET Applications IIS is comparable to the J2EE Application Server The .NET Framework redistributable package includes everything you need to run applications developed using the .NET Framework. Version 1.1 is the current version of the .NET Framework

    49. Internet Information Services

    50. IIS Internet Information Services (IIS, sometimes Server or System) is a set of Internet-based services for servers using MS Windows Used for corporate, commerce and secure websites. Originally, it was supplied as part of the server editions of Windows NT IT is integrated with Windows 2000 and Windows 2003 Server.

    51. IIS IIS is bundled with Windows operating systems Default web directory is C:\Inetpub\wwwroot Publish applications to http://localhost Installation of Visual Studio .NET will install the .NET Framework On systems without Visual Studio, you need to install the .NET Framework insure that the .NET Framework matches that used by Visual Studio .NET

    52. IIS The current version is IIS 6.0 and includes servers for FTP, SMTP,NNTP and HTTP/HTTPS and is only available for Windows Server 2003. IIS 6.0 major security enhancements IIS 5.1 , a restricted version, that supports one web site and a limited number of connections is also supplied with Windows 2000 and Windows XP

    53. .NET Online Resources http://www.msdn.microsoft.com/netframework/ http://www.gotdotnet.com/ http://www.startvbdotnet.com http://www.asp.net http://www.dotnetwire.com

    54. J2EE Online Resources http://java.sun.com/j2ee/index.jsp http://library.theserverside.com/rlist/term/J2EE.html http://www.javaworld.com http://www.springframework.org http://www.eclipse.org

    55. Additional References Platt, David S.: Introducing Microsoft .NET 3rd Edition Thai, Thuan & Lam, Hoang Q.: .NET Framework Essentials, 3rd Edition Sharp, John & Jagger, Jon: Microsoft Visual C# .NET Step by Step. Farley, Jim, Crawford, William & Flanagan, David: O'Reilly's Java Enterprise In a Nutshell