Title: .net frame work
1Microsoft.NET Framework
Overview
2.NET Enterprise Vision
UsersAny device,Any place,Any time
XML Web ServicesIntegrate business applications
and processes
Authentication
Scheduling
Notification
Back OfficeHeterogeneous application and server
infrastructure
Sales
Customer Service
ERP Billing
3Category of Programmers
- System Programmers One who programs directly
for a given hardware eg Device Drivers or
extremely low level o/p services. - Application Programmers One who programs
applications used by people for their
requirements eg Calculator, Calendar,
MS-Office like packages, Accounting Packages etc - .NET is for Application programming and not for
System programming.
4Definitions
- Platform is an environment for developing and
executing application. - Framework is ready to use collection of Classes
and Interfaces used for developing a particular
type of application.
5What is a Platform?
Assembly Code Operating System
MS.NET Framework
MS.NET Applications
JAVA Applications
H/W
JRE
C/ C Applications
6What is .NET?
- MS.Net is a Framework built on open internet
protocols standards with tools and services
that meld computing and communication in new ways - Its an environment for developing and running
software applications featuring ease of
development of web based services, rich standard
runtime services available to components written
in variety of programming languages provides
inter language inter machine inoperability
7Framework Components
- MS.NET Framework Runtime
- Used for both Development and Production of .NET
applications - MS.NET Framework SDK
- Mostly used only for Development of .NET
application - Visual Studio.NET
- IDE and RAD Tool for Developing .NET applications
- Not needed on Production machine
- Common environment for multiple languages like
VB.NET, C, VC - Can be used any type of MS.NET Application
- Can be used also for non .net based applications
like PHP pages. For this we need a plug-in to be
installed over Studio.
8MS.NET Framwork Versions
- Version 1.0 in Year 2002
- Version 1.1 in Year 2003
- Version 2.0 in Year 2005
- Version 3.0 in Year 2006
- Version 3.5 in Year 2007
- All versions can be installed side by side on
same machine.
9Versions Dependency
- 1.0 is a standalone version
- 1.1 is also a standalone version
- 2.0 is also a standalone version
- 3.0 is installed over 2.0
- 3.5 is installed over 3.0
- So the machine having 3..5 will also have version
2.0 and 3.0 installed on it but 1.0 and 1.1 need
not will be installed
10Version Compatibility
- Doesn't support Forward or Backward
compatibility. - The version used on development machine and
production machine must be same. - If 1.1 has been used for development and on the
production machine even if 2.0 is installed and
if 1.1 is not, then the application will not work.
11The Core of .NET Framework
- Application Services
- Framework / Base Class Library
- Provides the core functionality
- ASP.NET, Web Services, ADO.NET, Windows Forms,
IO, XML, etc. - Common Language Runtime
- Garbage collection
- Language integration
- Multiple versioning support (no more DLL hell!)
- Integrated security
12.NET Framework Stack
C
C
VB
Perl
J
Common Language Runtime
Operating System
13TYPES OF MS.NET APPLICATION
- Console Based Applications (e.g. Compiler)
- Windows Application (WinForms)
- Windows Services
- ASP.NET Web Applications
- ASP.NET Web Services
- Remoting Application.
- Mobile / Smart Device Applications
14Base Class Libraries (BCL)orFramework Class
Libraries (FCL)
15Base Class Library
- The .NET base class library is a collection of
object-oriented types and interfaces that provide
object models and services for many of the
complex programming tasks we routinely face
during application development
16Base Class Library Adv
- Language Independent.
- Completely Object Oriented.
- Most of the types presented by the .NET base
class library are fully extensible, allowing you
to build types that incorporate your own
functionality - Packaged with .NET Framework in the form of DLL
files. - Well optimized for performance
17Base Class Library includes
- Data types, conversions, formatting
- Collections ArrayList, Hashtable, etc.
- Globalization Cultures, sorting, etc.
- I/O Binary and text streams, files, etc.
- Networking HTTP, TCP/IP sockets, etc.
- Reflection Metadata and IL emit
- Security Permissions, cryptography
- Text Encodings, regular expressions
18What is Namespace?
- A namespace is a logical collection of classes
and other types with unique name. - The structure of the namespace is like a tree
where all the related classes are like leaves - All BCL begin with the namespace System.
19Base Class Library Namespaces
System
Security
Collections
ServiceProcess
Configuration
Text
Diagnostics
Threading
Globalization
IO
Runtime
InteropServices
Net
Remoting
Reflection
Serialization
Resources
20MSIL and PE
21.NET Languages
- Languages provided by Microsoft
- C, C, J, VB.NET, JScript
- Third-parties languages
- Perl, Python, Pascal, APL, COBOL, Eiffel,
Haskell, ML, Oberon, Scheme, Smalltalk - Advanced multi-language features
- Cross-language inheritance and exceptions
handling - Object system is built in, not bolted on
- No additional rules or API to learn
22Code Compilation and Execution
Compilation
Also called Assembly (.EXE or .DLL file)
Before installation or the first time each method
is called
Execution
23MSIL
- It stands for Microsoft Intermediate Language.
- MSIL instructions are platform independent
instructions. - MSIL is an intermediate instruction set which is
independent of processor and hardware.
24Example of MSIL Code
- .assembly MyAssembly
- .class MyApp
-
- .method static void Main()
-
- .entrypoint
- ldstr Hello, IL!"
- call void System.ConsoleWriteLine("Hello")
- ret
-
-
25PE Portable Executable
- Is a Microsoft Win32 compatible format file for
.Net applications which contains the MSIL code
and Metadata in binary form. - It has the extension .exe or .dll.
- PE is based on all Win32 platforms compatible
COFF (Common Object File Format) specification.
26Compiler Assembler
Language Source Code
Portable Executable (MSIL - Binary Format)
Language Compiler
ILASM.EXE
Reverse Engineering
ILDASM.EXE
MSIL (Text Format)
27COMMONLANGUAGE RUNTIME(CLR)
28What is the Difference between
29Managed Code
- Code that targets the CLR is referred to as
managed code - All managed code has the features of the CLR
- Object-oriented
- Type-safe
- Cross-language integration
- Cross language exception handling
- Managed code is represented in special
Intermediate Language (IL)
30CLR Advantages
- Vastly simplified development.
- Seamless integration of the code written in
various languages. - Evidence-based security with code identity.
- Assembly-based deployment that eliminates DLL
Hell. - Side-by-side versioning of reusable components.
- Code reuse through implementation inheritance.
- Automatic object lifetime management.
- Self describing objects.
31Components in CLR
- Common Type System (CTS)
- Automatic Memory Management
- JIT Compiler
- Garbage Collector
- Security Manager
- Class Loader
32CTS and CLS
- The common Type System defines how types are
declared, used, and managed in the runtime, and
is also an important part of the runtime's
support for cross-language integration. - Common Language Specification is an agreement
among language designers and class library
designers to use a common subset of basic
language feature that all language have to follow.
33Automatic Memory Management
- The CLR manages memory for managed code
- All allocations of objects and buffers made from
a Managed Heap - Unused objects and buffers are cleaned up
automatically through Garbage Collection - Some of the worst bugs in software development
are not possible with managed code - Memory Leakages
- Dangling Pointers
- Reading of uninitialized variables
- Pointerless environment
34JIT Compiler
- CLR compiles IL in just-in-time (JIT) manner
each function is compiled just before execution.
Also the JIT code stays in memory for subsequent
calls - NGen.EXE (Native Generator) is used for compiling
all the MSIL code in PE file into Native code.
This is done before the code is executed or
during the deployment of PE on target machine.
This way even the first time execution of code is
fast as it doesnt need any more runtime
compilation
35.NET Framework on Linux
- Mono Project
- Open Source C compiler, CLR and Framework Class
Library - Runs on various platforms and hardware
- Linux, Unix, FreeBSD, Windows JIT-compiler for
x86 - s390, SPARC, PowerPC interpreter for these
hardware architectures - Supports also
- ADO.NET and XML
- Windows Forms (not fully)
- ASP.NET
- Web Services
36By.RAMESH.PAGILLA