Emerging technologies

Download Report

Transcript Emerging technologies

By Muhammad Ali
Using .NET Platform
Note: Most of the material of these slides have been adapted from
Nakov’s excellent overview for .NET framework, MSDN and wikipedia
Components of .NET

Main components
 Common Language Runtime (CLR)
 Base Class Library
 Common Type System
 Common Language Specification
Common Language Runtime

Foundation of the .NET Framework

An agent that manages code at
 execution time, providing core services such as
○ Memory management
On the fly
○ Thread management
○ JIT
○ Code Access Security & Role Base Security
Installation Time

Managed code
 Code that targets the runtime
 Represented by Intermediate Language (IL)

Unmanaged code
 Code that does not target the runtime
Intermediate Language

MSIL … or CIL

CLR compiles IL using JIT Compiler
 Each function is compiled (to native code)
just before execution!

Recompilations of assemblies ~ Possible!
Base Class Library

Helps in accomplishing a range of common
programming tasks, including




String management
Data collection
Database connectivity
File access
Base Class Library
System
Collections
Security
Configuration
ServiceProcess
Diagnostics
Text
Globalization
Threading
IO
Runtime
InteropServices
Net
Reflection
Remoting
Resources
Serialization
Common Type System

Full Range of Types that CLR Understands

Defines how types are
 declared,
 used,
 managed in the runtime
Common Language Specification

Subset of CTS

All Languages in .NET are expected
to support CTS

Any Benefits?
 Cross Language Integration!
Difference between
Base Class Library & .NET
Framework Library
Relationship between
CLR & Framework Library
Code Compilation and Execution
Compilation
Source
Code
Language
Compiler
Execution
Native
Code
JIT
Compiler
Code
MSIL
Metadata
Also called
Assembly
(.EXE or
.DLL file)
Before
installation or
the first time
each method is
called
Assemblies
Types



Library Assembly (DLL)
Application Assembly (EXE)
Smallest deployable unit in the CLR
 Have unique version number
 No version conflicts (known as DLL hell)


Contains IL code to be executed
Assemblies
Security boundary


Permissions are granted at the assembly
level
Type boundary


All types include the assembly name they
are a part of
Self-describing manifest


Metadata that describes the types in the
assembly
Metadata in Assemblies
Type Descriptions
Classes
Base classes
Implemented interfaces
Data members
Methods
Assembly Description
Name
Version
Culture
Other assemblies
Security Permissions
Exported Types
Assemblies

More than One Assemblies… May Conflict!

Assemblies conflict resolution
 Using metadata
○ Local
○ Shared (Global Assembly Cache or GAC)

Different applications may use different
versions of an assembly
 Easier software updates
 Easier software removal
References

MSDN Library
 http://msdn.microsoft.com/en-au/default.aspx

Nakov’s Excellent Presentation
 http://www.nakov.com

WikiPedia
 http://en.wikipedia.org/wiki/.NET_Framework