net framework and architecture by sanjeev nagaraddi
DESCRIPTION
.NET Framework and Architecture By Sanjeev Nagaraddi Sonal Patidar. Overview. What is Microsoft .NET? New computing platform that simplifies application development in the highly distributed environment of the Internet. - PowerPoint PPT PresentationTRANSCRIPT
1
.NET Framework and Architecture
By Sanjeev Nagaraddi
Sonal Patidar
2
What is Microsoft .NET?What is Microsoft .NET?– New computing platform that simplifies application development in the highly New computing platform that simplifies application development in the highly
distributed environment of the Internet.distributed environment of the Internet.– It is a protocol stack and computing model for TCPI/IP-based, distributed It is a protocol stack and computing model for TCPI/IP-based, distributed
computing. computing. – The .NET Enterprise servers are built for interoperability from the ground up, The .NET Enterprise servers are built for interoperability from the ground up,
using open Web standards such as XML with increased scalability and using open Web standards such as XML with increased scalability and reliability.reliability.
Primary .NET ComponentsPrimary .NET Components
– Common Language Runtime (CLR)Common Language Runtime (CLR)
– .NET System Class Libraries.NET System Class Libraries
– ASP.NET used to create XML Web ServicesASP.NET used to create XML Web Services
Overview
3
.NET Architecture Overview
.NET Framework Elements.NET Framework Elements– A runtime engine, called the "Common Language Runtime" (CLR) that handles A runtime engine, called the "Common Language Runtime" (CLR) that handles
memory allocation, error trapping, and security features.memory allocation, error trapping, and security features.– A set of extensive Framework class libraries, written from the ground up that A set of extensive Framework class libraries, written from the ground up that
comprise practically any functionality you could ask for.comprise practically any functionality you could ask for.– Two top-level development "arenas" for web applications (ASP.NET) and regular Two top-level development "arenas" for web applications (ASP.NET) and regular
Windows applications (Windows Forms).Windows applications (Windows Forms).
4
Common Language Runtime (CLR)
CLR ArchitectureCLR Architecture
– .NET applications are compiled to a common language known as Microsoft .NET applications are compiled to a common language known as Microsoft
Intermediate Language, or "IL".Intermediate Language, or "IL". – The CLR, then, handles compiling the IL to machine language, at which point the The CLR, then, handles compiling the IL to machine language, at which point the
program is executed.program is executed. – The CLR architecture provides expansive tool support , simpler deployment (end of The CLR architecture provides expansive tool support , simpler deployment (end of
"DLL Hell"), superior scalability, support for multiple programming languages and a "DLL Hell"), superior scalability, support for multiple programming languages and a common data type system. common data type system.
5
Common Type System (CTS)
– Defines how types are declared, used, and managed in the runtime.Defines how types are declared, used, and managed in the runtime. – Establishes a framework that enables cross-language integration, type safety, Establishes a framework that enables cross-language integration, type safety,
and high performance code execution.and high performance code execution. – Provides an object-oriented model that supports the complete implementation Provides an object-oriented model that supports the complete implementation
of many programming languages.of many programming languages.– Defines rules that languages must follow, which helps ensure that objects Defines rules that languages must follow, which helps ensure that objects
written in different languages can interact with each other. written in different languages can interact with each other.
6
Managed Code, Managed Data and MetadataManaged Code, Managed Data and Metadata
- Code that targets the runtime is called managed code. It runs under “contract of cooperation” with the runtime. Managed code must supply metadata necessary for the runtime to provide its services. All code based on MSIL executes as managed code.
- Objects whose lifetime are managed by the runtime are called managed data. The runtime automatically handles object layout and manages references to these objects, releasing them when they are no longer being used.
-Metadata is information that describes every element managed by the runtime: an assembly, loadable file, type, method and so on.
7
.NET Framework ClassesSystem Class LibrarySystem Class Library - - collection of reusable types that tightlycollection of reusable types that tightly
integrate with the runtime.integrate with the runtime.
– Framework classes include user interfaces (Windows Forms (conventional Win32 apps); Web Forms (the forms engine for ASP.NET); Framework classes include user interfaces (Windows Forms (conventional Win32 apps); Web Forms (the forms engine for ASP.NET); – Server Controls (reusable user interface components dwelling server-side); Server Controls (reusable user interface components dwelling server-side); – Console Applications; as well as program interfaces—Web services which are third-party applications available over the Internet.Console Applications; as well as program interfaces—Web services which are third-party applications available over the Internet.
8
.NET Framework Class Library.NET Framework Class Library
System System
System.DataSystem.Data System.XmlSystem.Xml
System.WebSystem.Web
GlobalizationGlobalization
DiagnosticsDiagnostics
ConfigurationConfiguration
CollectionsCollections
ResourcesResources
ReflectionReflection
NetNet
IOIO
ThreadingThreading
TextText
ServiceProcessServiceProcess
SecuritySecurity
CommonCommon
OleDbOleDb
SQLTypesSQLTypes
SqlClientSqlClient
XPathXPath
XSLTXSLT
RuntimeRuntimeInteropServicesInteropServices
RemotingRemoting
SerializationSerialization
SerializationSerialization
ConfigurationConfiguration SessionStateSessionState
CachingCaching SecuritySecurity
ServicesServicesDescriptionDescription
DiscoveryDiscovery
ProtocolsProtocols
UIUIHtmlControlsHtmlControls
WebControlsWebControls
System.DrawingSystem.Drawing
ImagingImaging
Drawing2DDrawing2D
TextText
PrintingPrinting
System.Windows.FormsSystem.Windows.Forms
DesignDesign ComponentModelComponentModel
9
.NET Framework and Tools.NET Framework and Tools
Operating SystemOperating System
Common Language RuntimeCommon Language Runtime
Base Class LibraryBase Class Library
ADO .NET and XMLADO .NET and XML
ASP .NETASP .NETWeb Forms Web ServicesWeb Forms Web Services
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindowsFormsForms
Common Language SpecificationCommon Language Specification
VBVB C++C++ C#C# J#J# ……V
isua
l Stu
dio
.NE
TV
isua
l Stu
dio
.NE
T
10
AssemblyAssembly• An Assembly is a collection of types and An Assembly is a collection of types and
resources that are built to work together and form resources that are built to work together and form a logical unit of functionality.a logical unit of functionality.
• .exe, .dll, application(only has one entry point)or a.exe, .dll, application(only has one entry point)or a
library.library.• Can reference other assemblies.Can reference other assemblies.• These resources, types and references are described inThese resources, types and references are described in
a block of data called a a block of data called a manifest.manifest.• Defines a type boundary, security boundary , versionDefines a type boundary, security boundary , version
boundary.boundary.• Can be private or shared.Can be private or shared.
Compilation and ExecutionCompilation and Execution
Source Source CodeCode
CompilationCompilation
At installation or the At installation or the first time each first time each
method is calledmethod is called
Language Language CompilerCompiler
AssemblyAssembly
ExecutionExecution
JIT JIT CompilerCompiler
NativeNative
CodeCode
Code (IL)Code (IL)
MetadataMetadata
12
PerlPerl PythonPython COBOLCOBOL JscriptJscript EiffelEiffel JavaJava HaskellHaskell PascalPascal MLML AdaAda APLAPL
Languages and Platforms Supported by .NETLanguages and Platforms Supported by .NET
C C
C++C++ Visual BasicVisual Basic C#C# SmallTalkSmallTalk OberonOberon SchemeScheme MercuryMercury OzOz RPGRPG Objective CamlObjective Caml
Windows XPWindows XP Windows 2000Windows 2000 Windows NT4 Windows NT4
SP6aSP6a Windows ME/98Windows ME/98
13
ASP.NETASP.NET
ASP.NET is a set of technologies in the Microsoft .NETASP.NET is a set of technologies in the Microsoft .NET
framework for building Web Applications and XML Web framework for building Web Applications and XML Web
services. ASP.NET pages execute on the server and generate services. ASP.NET pages execute on the server and generate
markup such as HTML or XML that is sent to a browser. markup such as HTML or XML that is sent to a browser.
ASP.NET pages and XML web services contain a server side ASP.NET pages and XML web services contain a server side
logic written in VB.NET or C#.NET.logic written in VB.NET or C#.NET.
Uses XML for data storage, configuration and manipulation. Uses XML for data storage, configuration and manipulation.
14
ASP vs ASP.NETASP vs ASP.NET
• Better Language Support Better Language Support • Programmable Controls Programmable Controls • Event Driven Programming Event Driven Programming • XML Based Components XML Based Components • User Authentication, with Accounts and Roles User Authentication, with Accounts and Roles • Higher Scalability Higher Scalability • Increased Performance - Compiled Code Increased Performance - Compiled Code • Easier Configuration and Deployment Easier Configuration and Deployment • Not Fully ASP Compatible Not Fully ASP Compatible
15
XML Web ServicesXML Web Services
UDDIUDDIUDDIUDDI Yellow Pages for Web servicesYellow Pages for Web services
XMLXMLXMLXML Universal Data FormatUniversal Data FormatSOAPSOAPSOAPSOAP Service interactionsService interactionsWSDLWSDLWSDLWSDL Service descriptionsService descriptions
Ubiquitous communicationsUbiquitous communications HTTPHTTP
• A web service is a programmable application
component accessible via standard Web protocols• Web services allow applications to share data and can be
called across platforms and operating systems, regardless
of programming language.
16
SOAP (Simple Object Access Protocol)SOAP (Simple Object Access Protocol)
• SOAP is an XML based object protocol for the exchange of information in a decentralized, distributed environment.
a. Serialization format for request/response semantics
using XML and HTTP as transport
b. Extensible XML document (Envelope,
Encoding Rules, RPC)
c. Supports complex and simple types (structs, datasets,
classes) • SCL (SOAP Contract Language)
XML document describing the location and interfaces
a particular service supports
17
.NET Security.NET Security1.1. Role-Based SecurityRole-Based Security
a. Principal - abstraction of the user and thea. Principal - abstraction of the user and the
roles in which it belongs.roles in which it belongs.
b. Identity - represents the user on whoseb. Identity - represents the user on whose
behalf the code is executingbehalf the code is executing. .
2.2. Code-Access SecurityCode-Access Security
a. Permissions a. Permissions
b. Evidence b. Evidence
3.3. Cryptography Cryptography
a. Confidentiality – to protect user’s identity and data.a. Confidentiality – to protect user’s identity and data.
b. Data Integrity – to protect data from being altered.b. Data Integrity – to protect data from being altered.
c. Authentication – to assure that data originates fromc. Authentication – to assure that data originates from
a particular partya particular party
18
PermissionsPermissions
A permissions object represents a specific authorization, such as A permissions object represents a specific authorization, such as access to a resourceaccess to a resource
- - “permission to do something”“permission to do something” A permission grant is an authorization given to an assemblyA permission grant is an authorization given to an assembly
- - “this code is authorized to do something” “this code is authorized to do something” A permission demand is security check for corresponding grantsA permission demand is security check for corresponding grants
- - “ is something permitted , else raise an exception”“ is something permitted , else raise an exception”
- - done by stack walkingdone by stack walking..
19
Pros and Cons of .NETPros and Cons of .NET
Easy to use tools may Easy to use tools may increase programmer increase programmer productivity.productivity.
Strong framework for Strong framework for building rich GUI sbuilding rich GUI s
Choice of more than 20 Choice of more than 20 languages to work with.languages to work with.
Tightly integrated with Tightly integrated with MS operating system and MS operating system and enterprise server software.enterprise server software.
Built in support for Web Built in support for Web services standards.services standards.
Framework runs only on Framework runs only on Windows, restricting vendor Windows, restricting vendor choice.choice.
Users of prior MS tools and Users of prior MS tools and technologies face potentially technologies face potentially steep learning curve.steep learning curve.
New runtime lacks maturity.New runtime lacks maturity. Choice of integrated Choice of integrated
development environments is development environments is limitedlimited
Questions persist about Questions persist about scalability and transaction scalability and transaction capability of the Windows capability of the Windows platformplatform
20
SummarySummary
To summarize, .NET is a set of Microsoft software technologies for connecting your world of information, people, systems, and devices that enables unprecedented level of software integration through the use of XML Web services via the internet.
21
ReferencesReferences
.NET Development (MSDN) .NET Development (MSDN) http://msdn.microsoft.com/library/default.asp?url=/nhp/Dehttp://msdn.microsoft.com/library/default.asp?url=/nhp/Default.asp?contentid=28000519fault.asp?contentid=28000519
.NET FAQ .NET FAQ http://archive.devx.com/dotnet/resources/vsresources-5.asphttp://archive.devx.com/dotnet/resources/vsresources-5.asp
ASP Vs ASP.NET ASP Vs ASP.NET
http://www.w3schools.com/aspnet/aspnet_vsasp.asphttp://www.w3schools.com/aspnet/aspnet_vsasp.asp ASP.NET ASP.NET
http://msdn.microsoft.com/library/default.asp?url=/library/http://msdn.microsoft.com/library/default.asp?url=/library/en-us/Dndotnet/html/Techmap_webapps.asp?frame=trueen-us/Dndotnet/html/Techmap_webapps.asp?frame=true
22
Thank You!!Thank You!!