You are on page 1of 18

Overview of the Microsoft .

NET
Framework and the Evolution of
the Services Oriented Architecture

Kumar Gaurav
Gaurav.rvce@gmail.com
.NET Framework
Design Goals
 Unify programming models
 Dramatically simplify development
 Provide robust execution environment
 Support multiple programming
languages
 Natively support XML Web Services
Inside the .NET Framework
Based on Standards
Approved by
VB C++ C# J# … ECMA
Common Language Specification Open Language

Visual Studio .NET


Specification
Web Forms
XML Web
services XML, SOAP-
Windows Forms based
Data and XML

Base Class Library XML-based


data access
CLR
Approved by
CLI ECMA
Unify Programming Models
Consistent API availability regardless of
language and programming model

.NET Framework
RAD, Subclassing, Stateless,
Composition, Power, Code embedded
Delegation Expressiveness in HTML pages

VB Forms MFC/ATL ASP

Windows API
The Common Language Runtime
Internals

Base Class Library Support

Thread Support COM Marshaler

Type Checker Exception Manager

Security Engine Debug Engine

IL to Native Code Garbage


Compilers Manager Collector

Class Loader
Hello World

using System;

class Hello
{
public static void Main()
{
Console.WriteLine("Hello, World!");
}
}
The Common Language Runtime
Compilation and Execution

Compilation
Source Language Code
Code Compiler MSIL
Metadata

Before
installation or
the first time
Execution each method is
called
Native JIT
Code Compiler
Differences between COM and .NET
Models

Feature COM .NET


Coding model Interface-based Object-based

Identifying components GUIDs Strong-named assemblies

Error handling HRESULTs Exceptions

Compatibility Binary standard Common type system

Type information Type library Metadata

Object lifetimes Managed by client Managed by runtime

Querying capabilities QueryInterface .NET reflection

Versioning Manual Built into .NET


Deployment vs. Build
Components

Fully Integrated
Development
Environment
Free Command
Line Build Tools .NET Framework SDK

Free Runtime Common Language Runtime,


Redistributable Framework Class Library

(Dotnetfx.exe)
Application Architecture

Security
Users

Communication

Operational Management
UI Components
UI Process Components

Service Interfaces

Business Business Business


Workflows Components Entities

Data Access
Components Service Agents

Data Services
Sources
User Interface Choices…
Windows Desktop UI

 Can take many forms:


 "Full-blown" desktop/tablet PC user
interfaces built with Windows Forms
 Embedded HTML
 Application plug-ins
 Windows Forms have a new deployment
model that combines the rich UI of
desktop app with the ease of
deployment of a web application…
WinForms Auto Deployment
Client Web Server

HTTP

Windows
Forms App.
Assembly.LoadFrom( “http://server/form2.dll”
Form3 newForm = new Form3(); );

Assembly Cache 1.2


1.2

? Form2

Form2 Form3 Form3


v.1.2
Smart Client Deployment
Benefits

 Application Isolation (side-by-side


execution)
 No more problems associated with DLLs,
registry entries, etc.
 Web Deployment
 Applications can be automatically updated
simply by providing newer versions of
assemblies on the web server
Smart Clients
 Pros
 Very rich user interface
 Can take advantage of local processing power and
resources
 Can be built for both online and offline use
 New Web Deployment Model mitigates many
deployment issues
 Code- and Evidence-based Security provide
flexible and powerful security model
 Familiar application development model
 Con
 Requires .NET Framework to be installed on client
machine
Internet Browser UI
 Pros
 No deployment to the client
 .NET Framework not required on the client
machine
 Suitable for world-wide Internet
deployment
 Cons
 Online-only mode of operation
 Not as sophisticated a UI as a smart client
 Some applications require work to adapt to
a web interface
Mobile Device UI

 Increasingly popular and important


 Web User Interfaces
 HTML, cHTML, xHTML, WML/WAP
 Microsoft Mobile Internet Toolkit lets
developers build ASP.NET solutions that
easily target over 200 devices with one
code base
 Smart Device User Interfaces
 .NET Compact Framework can be
embedded in PocketPCs and Smartphones
for sophisticated client UI

You might also like