net framework and architecture by sanjeev nagaraddi

22
1 .NET Framework and Architecture By Sanjeev Nagaraddi Sonal Patidar

Upload: caesar-kline

Post on 04-Jan-2016

34 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: NET Framework and Architecture                   By  Sanjeev Nagaraddi

1

.NET Framework and Architecture

By Sanjeev Nagaraddi

Sonal Patidar

Page 2: NET Framework and Architecture                   By  Sanjeev Nagaraddi

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

Page 3: NET Framework and Architecture                   By  Sanjeev Nagaraddi

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).

Page 4: NET Framework and Architecture                   By  Sanjeev Nagaraddi

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.

Page 5: NET Framework and Architecture                   By  Sanjeev Nagaraddi

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.

Page 6: NET Framework and Architecture                   By  Sanjeev Nagaraddi

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.

Page 7: NET Framework and Architecture                   By  Sanjeev Nagaraddi

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.

Page 8: NET Framework and Architecture                   By  Sanjeev Nagaraddi

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

Page 9: NET Framework and Architecture                   By  Sanjeev Nagaraddi

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

Page 10: NET Framework and Architecture                   By  Sanjeev Nagaraddi

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.

Page 11: NET Framework and Architecture                   By  Sanjeev Nagaraddi

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

Page 12: NET Framework and Architecture                   By  Sanjeev Nagaraddi

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

Page 13: NET Framework and Architecture                   By  Sanjeev Nagaraddi

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.

Page 14: NET Framework and Architecture                   By  Sanjeev Nagaraddi

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

Page 15: NET Framework and Architecture                   By  Sanjeev Nagaraddi

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.

Page 16: NET Framework and Architecture                   By  Sanjeev Nagaraddi

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

Page 17: NET Framework and Architecture                   By  Sanjeev Nagaraddi

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

Page 18: NET Framework and Architecture                   By  Sanjeev Nagaraddi

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..

Page 19: NET Framework and Architecture                   By  Sanjeev Nagaraddi

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

Page 20: NET Framework and Architecture                   By  Sanjeev Nagaraddi

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.

Page 21: NET Framework and Architecture                   By  Sanjeev Nagaraddi

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

Page 22: NET Framework and Architecture                   By  Sanjeev Nagaraddi

22

Thank You!!Thank You!!