Documente Academic
Documente Profesional
Documente Cultură
NET Framework
Overview
.NET and the .NET Framework
Objectives
Learn basic principles and concepts of.NET and the
.NET framework
Contents
Looking Back
.NET and .NET Framework Overview
Summary
Questions
Section 1: Looking Back
Challenges for the development organization
Challenges for the corporate customer
Missing ????
Challenges for Development
Organization
Development
Language and operating system choices
Delivery
CD-ROM: production, packaging, transport
Stability
DLL compatibility issues
Operating system—pollution leads to instability
Compatibility tests with “popular” solutions
Maintenance
Customer involvement, even for critical updates
Packaging, production, and delivery of medium
Challenges for the
Corporate Customer
Deployment
Installation often requires time and personnel
Testing for compatibility with existing applications and OS
License management
Stability and security
Requires (even more!) testing
Can lead to inadvertent breaches of security
Can destabilize the system or other solutions [ Registry]
Maintenance
All the problems of deployment and security revisited!
Missing ????
We need all system features to be available to
programmers in any language.
We’d like our code to be able to run on a variety of
platforms.
Weneed help with managing different versions of the
same software package.
We’d like object-oriented programming features to be
available in and between all programming languages.
Forsafety, we want to be able to restrict the operations
of pieces of code we don’t fully trust.
The .NET Framework Design
Goals
What were missing are goals !!!
"Cross-Language Development”
Inheritance, Debugging, Exception handling
Reliability and Security
Simple Development and Deployment
Device-agnostic
Section 2: .NET Framework
Overview
What Is .NET?
Migration Paths—from Anywhere to .NET
Key Benefits of .NET
Concept of Platform
independence &
Language
Independence
Java Code Byte Code Native Code
Java Compiler JRE
IL Compiler CLR
VB.NET Code
IL Compiler
Managed code
Code running under control of the CLR is called Managed code
Platform Independence :
Mono - Linux
Mono - Mac
.NET framework - windows
Visual Studio.NET
ASPServices
XML .NET Windows Forms
User Interfaces
ADO .NET and XML
Data Connectivity
Operating System
Common Language Runtime
Base Class Library Support
Class Loader
JIT – Just In Time
IL is always JIT compiled where java byte code was interpreted
IL never compiled to native code in one go, JIT compiler simply
each portion of code as it is called (Just In Time)
Then resultant native code is stored until the application exits. So
no need to recompile
Since final stage JIT Compiler know exactly what processor type
the program will run on. Take advantage of particular machine
code instruction.
Garbage Collector
Before GC
Makethe application code do it
manually [ C++ ]
Resources
never occupied for longer than
unnecessary.
Code that request memory should explicitly
inform the system when it no longer
requires that memory.
Make objects maintain reference
counts [ COM ]
COM component maintain a count of how
many clients are currently maintaining
reference to it.
GC – Clean up memory
Dynamically
requested
memory allocated on heap.
When heap gets full and
needs tidying up, it calls
garbage collector.
GCexamining references to
objects stored on the heap to
identify which one are
accessible from your code.
Objectsthat are not referred
to are deemed to be no
longer accessible from your
code and therefore be
removed.
Languages
Ada lcc
(MS Research Redmond)
APL
Basic (Visual Basic)
Mondrian (Utrecht)
C# ML
(MS Research Cambridge)
C
Mercury
C++ (Melbourne U.)
J# Oberon (Zurich University)
COBOL Oz (Univ of Saarlandes)
Component Pascal
(Queensland Univ of Tech) Perl
ECMAScript (JScript) Python
Eiffel (Monash University) Scheme (Northwestern U.)
Haskell SmallTalk
(Utrecht University)
Key Benefits of .NET
Ease of Use
Object-oriented model
Everything is an object
Namespace and Framework structure
Easier to comprehend and use
Naming scheme of namespaces reflects the underlying functionality
Freedom to Choose:
The language that meets your needs
The development tool that is best for you
The “features and functionality” to “plug in to”
Key Benefits of .NET
Stability
Say “goodbye” to memory leaks
Garbage collection manages memory
Assembly eliminates DLL compatibility issues
Deliverables are restricted to an assembly
Security
Restricting or containing the illegal memory reference
Comprehensive security model
Assembly specific
System wide
Code inspection through MSIL
Key Benefits of .NET
Deployment and Management
Deployment: Code is “Assembled” and Run “Securely”
Maintenance: Version Maintenance Simplified
The Web the Way You Want It
Anywhere
Anytime
On any device
The Framework
Sample of what’s in the framework
System.Data System.Xml
ADO SQL XSLT Serialization
Design SQLTypes XPath
System
Collections IO Security Runtime
Configuration Net ServiceProcess InteropServices
Diagnostics Reflection Text Remoting
Globalization Resources Threading Serialization
IL Compilers
CSC & vbc
out
target:exe winexe library
o
warn: 0-4
nowarn
unsafe
checked
nologo
main
reference
lib
Configuration and
Deployment Tools
Type Library Exporter (Tlbexp.exe)