Presentation is loading. Please wait.

Presentation is loading. Please wait.

.NET and Java By Mike Elges.

Similar presentations


Presentation on theme: ".NET and Java By Mike Elges."— Presentation transcript:

1 .NET and Java By Mike Elges

2 Objectives History of programming Application platform .NET structure
Building blocks of .NET Summary

3 History of Programming (I)
Win32/C programming Using C language with windows API Disadvantages: Not a OO language Pointer operation Manual memory management

4 History of Programming (II)
C++/MFC programming Object Oriented layer on the top of C Microsoft Foundation Classes provide the developer with a set of existing C++ classes facilitate the construction of windows applications Disadvantages: Remains some difficulties given its historical roots in C

5 History of Programming (III)
Visual Basic 6 VB6 is popular due to it ability to build complex user interface, code libraries, data access logic Disadvantages: Object-aware instead of Object-Oriented language No intrinsic support for building multi-threaded applications

6 History of Programming (IV)
Java Platform independent Java as a platform provides programmers with a large number of predefined “packages that contains various classes and interfaces Disadvantages: little language – independence Long execution time for graphic intensive product

7 History of Programming (V)
COM programming “if you build your classes in accordance with the rules of COM, you end up with a block of reusable binary code” Language independent Location transparent Disadvantages: No classical inheritance (can not derive a new COM type using an existing COM type) Complexity of COM

8 History of Programming (VI)
Windows DNA programming Distributed iNternet Architecture Requires many technologies and languages (ASP, HTML, XML, JavaScript, VBScript, COM+, ADO) Disadvantages: Many items are completely unrelated, for example, Javascript has a syntax like C, VBScript is a subset of VB Highly confused mishmash of technologies

9 Application Platforms: Some History
1996 1998 2002 Microsoft Windows DNA MTS (COM+) ASP ADO .NET Framework CLR C#, VB.NET Enterprise Services, ASP.NET, ADO.NET Web services Java Java Java VM Java language J2SE J2EE EJB JSP JDBC

10 Objectives History of programming Application platform .NET structure
Building blocks of .NET Summary

11 Application Platforms Today
Browser Apps Web Services Apps Local Apps Other Apps Standard Library GUI Services Transaction Services Web Scripting Data Access More Runtime Environment Operating System

12 The Competition: The Java Environment
Browser Apps Web Services Apps Local Apps Other Apps Standard Java Packages Swing Enterprise JavaBeans JavaServer Pages JDBC More Java Virtual Machine (VM) Windows, Solaris, Linux, others

13 .NET Framework Class Library Common Language Runtime
The .NET Framework Browser Apps Web Services Apps Local Apps Other Apps .NET Framework Class Library Windows Forms Enterprise Services ASP.NET ADO.NET More Common Language Runtime Windows

14 J2EE vs. .NET

15 Developer .NET Overview
Introductions .NET Developer Overview .NET Runtime Environment .NET Framework .NET Deployment .NET Security .NET Languages .NET Applications Web Forms Web Services Windows Forms

16 Experiences & Solutions
Microsoft .NET Web services support across the Microsoft platform Tools Clients Services Servers Experiences & Solutions

17 5 Key Points to Remember…
Developers can use any .NET Language The .NET Framework provides a foundation of classes for developers to build a wide variety of applications Source code is compiled to MSIL within an Assembly Assembles contain rich meta data and are the primary units of deployment MSIL is compiled to native code and executed by the Common Language Runtime

18 A Unified Programming Model
.NET Framework Consistent API availability regardless of language and programming model VB Object Model RAD, Composition and Delegation MFC/ATL Subclassing, Power and Expressiveness ASP Stateless, code embedded in HTML pages Windows API

19 Visual Studio .NET and the .NET Framework
Common Language Specification VB C++ C# J# Visual Studio .NET Base Class Library ADO .NET and XML ASP .NET Web Forms Web Services Mobile Internet Toolkit Windows Forms Common Language Runtime Windows Operating System

20 Common Language Runtime
Manages running code Threading, Memory management Eliminates memory management drudgery Kills entire classes of bugs (e.g., memory corruption, ref counting) Auto-versioning, no more DLL Hell Scalability, performance, reliability all improve Fine-grained evidence-based security Code access + Role-based Integrated with underlying OS Security model ensures safety No-touch deployment XCOPY, no registry required Object remoting with SOAP

21 Base Class Library Support
CLR: Internals Base Class Library Support Thread Support COM Marshaler Type Checker Exception Manager Security Engine Debug Engine IL to Native Compilers Code Manager Garbage Collector Class Loader

22 Framework Classes Spans all programming languages
Enables cross language inheritance and debugging Integrates well with tools Object-oriented and consistent Increases developer productivity by reducing the number of APIs to learn Common type system built-in Extensible Makes it easy to add or modify framework features Secure Allows creation of secure applications

23 .Net Framework Classes Unified and Comprehensive API
System & Runtime Functions Windows & Web Development Web Services Data Access & XML Services Networking & IO Enterprise Services (COM+ & MSMQ) Directory & Security Services Diagnostics, Perf-Mon, Debug And many more…

24 .Net Framework Classes System System.Data (ADO .NET) System.XML
System.Web (ASP .NET) Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Design ADO SQLTypes SQL XPath XSLT Runtime InteropServices Remoting Serialization SessionState Caching Services Description Discovery Protocols UI HTMLControls WebControls System.Drawing Imaging Drawing2D Printing System.WinForms ComponentModel

25 Referencing the Framework

26 .Net Assemblies Compilation
csc.exe or vbc.exe Compiler Assembly DLL or EXE Source Code C++, C#, VB or any .NET language

27 .Net Execution Model Common Language Runtime
Source code VB C# C++ Compiler Compiler Compiler Assembly IL Code Managed code Common Language Runtime JIT Compiler Native Code Operating System Services

28 .NET Security Role-based Security Code Access Security
What the user is allowed to do within the application .NET Roles = Windows Active Directory® groups Code Access Security What the code is allowed to do on this machine Evidence Based (Policies, Permissions, Evidence) Cryptography Built In to .NET FX

29 Visual Basic .NET Evolution, not revolution, of language used by developers worldwide Builds on existing technology while adding power True OOP Multithreading NT Services Web Services The fastest way to build scalable applications for industry

30 Visual C# .NET Component Oriented Language
C# is the first “component oriented” language in the C/C++ family Component concepts are first class: Properties, methods, events Design-time and run-time attributes Integrated documentation using XML Enables one-stop programming No header files, IDL, etc. C++ heritage – simplification with no unnecessary sacrifices

31 Visual J# .NET Native support for XML Web services
Fully integrated with Visual Studio .NET development environment Full access to the .NET Framework ASP.NET, ADO.NET, Windows Forms Integration with >20 other languages Protection of existing investments Use java language syntax on .NET Move applications and skills forward

32 Visual C++ .NET Continue to provide most powerful and flexible language
Better ANSI/ISO conformance Enable seamless, incremental use of .NET Framework Enhanced ATL Servers Improved ATL and MFC Clients Enhanced STL

33 .NET Applications Web Form – Next Generation ASP Page
Win Form – Next Generation Win32 App Web Services – Key to Interoperability Others – Server Objects Console Applications Window Services Mobile Clients Many more…

34 ASP.NET Server-side Web Forms and Web Services components separate code from content Developer productivity increases Tools easily use ASP.NET Any programming language: full VB, JScript, C++, COBOL, Perl, etc. 40% to 70% reduction in lines of code Compiled No-touch deployment system Intelligent state management Backwards compatible with ASP Controls sense client and adapt output: HTML, DHTML, WML

35 What Is an XML Web Service?
A Component That Uses XML & HTTP To Define and Deliver A Service Global reach Based on open set of standards Reuse across platforms Works with any operating system, programming language, or network Expose legacy code Different systems can actually talk

36 Web Services Open Standards & Protocols
XML Universal data format Standards-based integration User-customizable HTTP Ubiquitous protocol Universally understood

37 Summarizing the Technologies (1)
.NET Java Application Server .NET Framework IBM WebSphere, BEA WebLogic, others Runtime Environment Common Language Runtime (CLR) Java Virtual Machine (VM) Standard Libraries .NET Framework class library J2SE, J2EE GUIs Windows Forms Swing Transactions Enterprise Services EJB

38 Summarizing the Technologies (2)
.NET Java Web Scripting ASP.NET JSPs Data Access ADO.NET JDBC Small Device Platform .NET Compact Framework J2ME Development Tools Visual Studio.NET WSAD, Borland JBuilder, others Web Services Support ASP.NET, .NET My Services, others WSAD, ECLIPSE, more planned

39 Summarizing the Non-Technical Issues
.NET Java Vendor Issues: Locked into Microsoft Locked into IBM or BEA Microsoft isn’t a traditional enterprise vendor IBM and BEA have longer enterprise histories Trust New, but builds on Windows DNA Older than .NET, but younger than Windows DNA Installed Base Operating System Support Windows Windows, Unix, others Low Usually medium to high but getting cheaper Cost

40 Conclusions The development world has bifurcated
Microsoft .NET The Java environment Both have similar architectures Both will survive Which is a good thing .NET will dominate in the Windows environment


Download ppt ".NET and Java By Mike Elges."

Similar presentations


Ads by Google