Net Framework and Architecture - UMKC School of Computing and ...

basiliskcanoeSoftware and s/w Development

Nov 2, 2013 (3 years and 9 months ago)

85 views

1

.NET Framework and
Architecture




By Sanjeev Nagaraddi






Sonal Patidar



2


What is Microsoft .NET?


New computing platform that simplifies application
development in the highly distributed environment
of the Internet.


It is a protocol stack and computing model for
TCPI/IP
-
based, distributed computing.


The .NET Enterprise servers are built for
interoperability from the ground up, using open
Web standards such as XML with increased
scalability and reliability.


Primary .NET Components


Common Language Runtime (CLR)


.NET System Class Libraries



ASP.NET used to create XML Web Services

Overview

3

.NET Architecture Overview

.NET Framework Elements


A runtime engine, called the "Common Language
Runtime" (CLR) that handles memory allocation,
error trapping, and security features.


A set of extensive Framework class libraries,
written from the ground up that comprise
practically any functionality you could ask for.


Two top
-
level development "arenas" for web
applications (ASP.NET) and regular Windows
applications (Windows Forms).

4

Common Language Runtime (CLR)

CLR Architecture


.NET applications are compiled to a common
language known as Microsoft Intermediate
Language, or "IL".



The CLR, then, handles compiling the IL to
machine language, at which point the program is
executed.



The CLR architecture provides expansive tool
support , simpler deployment (end of "DLL
Hell"), superior scalability, support for multiple
programming languages and a common data type
system.



5

Common Type System (CTS)


Defines how types are declared, used, and
managed in the runtime.



Establishes a framework that enables cross
-
language integration, type safety, and high
performance code execution.



Provides an object
-
oriented model that supports
the complete implementation of many
programming languages.


Defines rules that languages must follow, which
helps ensure that objects written in different
languages can interact with each other.



6

Managed 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 Classes

System Class Library

-

collection of reusable types that tightly

integrate with the runtime.


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


Console Applications; as well as program
interfaces

Web services which are third
-
party
applications available over the Internet.



.NET Framework Class Library

System

System.Data

System.Xml

System.Web

Globalization

Diagnostics

Configuration

Collections

Resources

Reflection

Net

IO

Threading

Text

ServiceProcess

Security

Common

OleDb

SQLTypes

SqlClient

XPath

XSLT

Runtime

InteropServices

Remoting

Serialization

Serialization

Configuration

SessionState

Caching


Security

Services

Description

Discovery

Protocols

UI

HtmlControls

WebControls

System.Drawing

Imaging

Drawing2D


Text

Printing

System.Windows.Forms

Design


ComponentModel

.NET Framework and Tools

Operating System

Common Language Runtime

Base Class Library

ADO .NET and XML

ASP .NET

Web Forms Web Services

Mobile Internet Toolkit

Windows

Forms

Common Language Specification

VB

C++

C#

J#



Visual Studio .NET

10

Assembly


An Assembly is a collection of types and
resources that are built to work together and form
a logical unit of functionality.



.exe, .dll, application(only has one entry point)or a


library.



Can reference other assemblies.



These resources, types and references are described in


a block of data called a
manifest.



Defines a type boundary, security boundary , version


boundary.



Can be private or shared.





Compilation and Execution

Source
Code

Compilation

At installation or the
first time each
method is called

Language
Compiler

Assembly

Execution

JIT
Compiler

Native

Code

Code (IL)

Metadata

12




Perl


Python


COBOL


Jscript


Eiffel


Java


Haskell


Pascal


ML


Ada


APL

Languages and Platforms Supported by .NET


C


C++


Visual Basic


C#


SmallTalk


Oberon


Scheme


Mercury


Oz


RPG


Objective Caml


Windows XP


Windows 2000


Windows NT4
SP6a


Windows ME/98

13

ASP.NET

ASP.NET is a set of technologies in the Microsoft .NET

framework for building Web Applications and XML Web

services. ASP.NET pages execute on the server and generate

markup such as HTML or XML that is sent to a browser.

ASP.NET pages and XML web services contain a server side

logic written in VB.NET or C#.NET.

Uses XML for data storage, configuration and manipulation.

14

ASP vs ASP.NET




Better Language Support


Programmable Controls


Event Driven Programming


XML Based Components


User Authentication, with Accounts and Roles


Higher Scalability


Increased Performance
-

Compiled Code


Easier Configuration and Deployment


Not Fully ASP Compatible


15

XML Web Services

UDDI


Yellow Pages for Web services

XML


Universal Data Format

SOAP


Service interactions

WSDL


Service descriptions


Ubiquitous communications

HTTP



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

1.
Role
-
Based Security


a. Principal
-

abstraction of the user and the


roles in which it belongs.



b. Identity
-

represents the user on whose


behalf the code is executing
.

2.
Code
-
Access Security


a. Permissions


b. Evidence

3.

Cryptography


a. Confidentiality


to protect user’s identity and data.


b. Data Integrity


to protect data from being altered.


c. Authentication


to assure that data originates from


a particular party




18

Permissions


A permissions object represents a specific authorization, such as
access to a resource


-

“permission to do something”


A permission grant is an authorization given to an assembly


-

“this code is authorized to do something”


A permission demand is security check for corresponding grants


-

“ is something permitted , else raise an exception”


-

done by stack walking
.


19

Pros and Cons of .NET


Easy to use tools may
increase programmer
productivity.


Strong framework for
building rich GUI s


Choice of more than 20
languages to work with.


Tightly integrated with
MS operating system and
enterprise server software.


Built in support for Web
services standards.


Framework runs only on
Windows, restricting vendor
choice.


Users of prior MS tools and
technologies face potentially
steep learning curve.


New runtime lacks maturity.


Choice of integrated
development environments is
limited


Questions persist about
scalability and transaction
capability of the Windows
platform

20

Summary

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

References


.NET Development (MSDN)
http://msdn.microsoft.com/library/default.asp?url=/nhp/De
fault.asp?contentid=28000519


.NET FAQ
http://archive.devx.com/dotnet/resources/vsresources
-
5.asp


ASP Vs ASP.NET


http://www.w3schools.com/aspnet/aspnet_vsasp.asp


ASP.NET

http://msdn.microsoft.com/library/default.asp?url=/library/
en
-
us/Dndotnet/html/Techmap_webapps.asp?frame=true







22

Thank You!!