21
The .NET Framework - Technology in Education

The.NET Framework - Technology in Education. Why.NET? Interoperability between languages and execution environments Uniformity in schema or formats for

Embed Size (px)

Citation preview

Page 1: The.NET Framework - Technology in Education. Why.NET? Interoperability between languages and execution environments Uniformity in schema or formats for

The .NET Framework - Technology in Education

Page 2: The.NET Framework - Technology in Education. Why.NET? Interoperability between languages and execution environments Uniformity in schema or formats for

Why .NET?

Interoperability between languages and execution environments

Uniformity in schema or formats for Data Exchange using XML, XSL

Extend or use existing code that is valid Programming complexity of

environment is reduced

Page 3: The.NET Framework - Technology in Education. Why.NET? Interoperability between languages and execution environments Uniformity in schema or formats for

The .NET Framework is…

A COMPONENT MODEL FOR THE INTERNET The new approach to building large scale

distributed systems for the Internet Provides the capability to integrate multiple

devices Built around the tools and protocols (XML,

WSDL, SOAP, HTTP) that are becoming standard on the Internet

Page 4: The.NET Framework - Technology in Education. Why.NET? Interoperability between languages and execution environments Uniformity in schema or formats for

The .NET Framework Design Goals

Component Development for the Internet "Cross-Language Development”

Inheritance, Debugging, Exception handling

Reliability and Security Simple Development and Deployment

Device-agnostic

Page 5: The.NET Framework - Technology in Education. Why.NET? Interoperability between languages and execution environments Uniformity in schema or formats for

Understanding the .NET Framework

.NET Framework Architecture .NET Web Services Key Benefits

Page 6: The.NET Framework - Technology in Education. Why.NET? Interoperability between languages and execution environments Uniformity in schema or formats for

.NET Framework Architecture

Visu

al Stu

dio

.NE

T

Common Language Runtime:Type system; Metadata Sustem; Execution System

Common Language Runtime

Base Class Library

ADO .NET and XML

ASP .NET Windows Forms

Common Language Specification

C# VB C++ Scheme …

Base Framework(Large number of classes: including Object,String, Type)

WEB Forms:ASP.NET: set of typesfor Web apps., including Cashing&security

WEB Services. HTTP,XML,SOAP

Windows client(System.Windows.Forms)

Page 7: The.NET Framework - Technology in Education. Why.NET? Interoperability between languages and execution environments Uniformity in schema or formats for

Common Language Runtime

Common Type System:passing types between dif.

Prog. languages;

Metadata. Type info must remain in execuable. RTTI in C++;type

libraries in COM; interface repositories in CORBA

Execution Engine:inheritance ot types from dif.

Languages ; IL; memory management: stack walks(IL е стеково базиран,IL инструкциите са безтипови, IL реализира чревз стек абстракция на базовия процесор) & garbage collection, security (error handling, versioning, верификация – компилирането на IL инструкция в КОП е съвместно с CLR процес - верификация) …

Page 8: The.NET Framework - Technology in Education. Why.NET? Interoperability between languages and execution environments Uniformity in schema or formats for

Comparision with IDL based systems (COM CORBA)

- IDL is separate language;- based on C++;- restrict methods overloading;- lack of rich exception hierarhy;- metadata info in IDL is in different file from realization- versions include changes in both IDL&realization files.- IDL deal with interfaces, not with methods.- adding new method to interface is complicated. In .NET developper can subtype from type easily.

Page 9: The.NET Framework - Technology in Education. Why.NET? Interoperability between languages and execution environments Uniformity in schema or formats for

Common Language Runtime

Class Loader

MSIL to NativeCompilers (JIT)

CodeManager

GarbageCollector (GC)

Security Engine Debug Engine

Type Checker Exception Manager

Thread Support COM Marshaler

Base Class Library Support

Page 10: The.NET Framework - Technology in Education. Why.NET? Interoperability between languages and execution environments Uniformity in schema or formats for

Intermediate Language (IL)

VBVB VCVC ...... ScriptScript

ILILNativeNativeCodeCode

““Econo-JITEcono-JITCompilerCompiler

Standard JITStandard JITCompilerCompiler

NativeNativeCodeCode

Install timeInstall timeCode GenCode Gen

Common Language RuntimeCommon Language Runtime

Assembly Assembly Language Language of CLRof CLR

Code is Code is never never interpretedinterpreted

Page 11: The.NET Framework - Technology in Education. Why.NET? Interoperability between languages and execution environments Uniformity in schema or formats for

.NET Classes

Namespaces and Classes Hierarchical, unified, extensible class libraries Provide “system” and base functionality and services Everything is an object!

Interfaces The .NET (Service) contracts

Types Byte, Sbyte, Single, Double, String, Int16, Int32, Int64

etc. Common Type System - “Common Type

Denominator”

Page 12: The.NET Framework - Technology in Education. Why.NET? Interoperability between languages and execution environments Uniformity in schema or formats for

Unified Programming Model

OS API

.NET Framework

Consistent API availability regardless of language and programming model

Web PagesClass LibrariesWindowing

(GUI)

RAD,Composition,Delegation

Subclassing, Power,Expressiveness

Stateless,Code embeddedin HTML pages

Page 13: The.NET Framework - Technology in Education. Why.NET? Interoperability between languages and execution environments Uniformity in schema or formats for

Languages

lcc (MS Research Redmond)

Mondrian (Utrecht) ML

(MS Research Cambridge) Mercury

(Melbourne U.) Oberon (Zurich University) Oz (Univ of Saarlandes) Perl Python Scheme (Northwestern U.) SmallTalk

Ada APL Basic (Visual Basic) C# C C++ J# COBOL Component Pascal

(Queensland Univ of Tech)

ECMAScript (JScript) Eiffel (Monash University) Haskell

(Utrecht University)

Page 14: The.NET Framework - Technology in Education. Why.NET? Interoperability between languages and execution environments Uniformity in schema or formats for

Visual Studio .NET

Increased programming productivity Easier to write code: drag and drop Web App and Services

Development. Fully supports the .NET Framework

Simplified development Multi-language support Improved debugging Unified IDE

Powerful design tools Windows Forms, Web Forms XML and component designers Consistent set of tools across languages

Page 15: The.NET Framework - Technology in Education. Why.NET? Interoperability between languages and execution environments Uniformity in schema or formats for

The .NET Compact Framework

Designed specifically for smart devices Lightweight architecture Compatible subset of desktop platform Visual Studio.NET used for app development Adaptable to different application needs Build Smart Device applications in Visual

Studio .NET Broad availability

Across multiple CPUs Across Windows CE and third-party RTOSes Across a variety of physical form factors

Page 16: The.NET Framework - Technology in Education. Why.NET? Interoperability between languages and execution environments Uniformity in schema or formats for

.NET Services What is a Web Service?

Unit of application logic providing data and services over the Web using standard protocols

XML Web Services expose additional services needed to build solutions

ASP .NET in the .NET Platform Building Block Services

Basic services used to build applications and Web Service

Examples: www.xmethods.com Access through any Website

Page 17: The.NET Framework - Technology in Education. Why.NET? Interoperability between languages and execution environments Uniformity in schema or formats for

XML Web Services Foundation Simple, Open, Broad Industry Support

Ubiquitous Communications: Internet

Universal Data Format: XML

Service Interactions: SOAP

Publish, Find, Use Services: UDDI

Page 18: The.NET Framework - Technology in Education. Why.NET? Interoperability between languages and execution environments Uniformity in schema or formats for

.NET Key Benefits

Ease of Use Object-oriented model Namespace and Framework structure

Freedom to Choose The language that meets your needs The development tool that will make it easier to

learn programming

Page 19: The.NET Framework - Technology in Education. Why.NET? Interoperability between languages and execution environments Uniformity in schema or formats for

.NET Key Benefits

Stability Garbage collection Assemblies eliminates DLL compatibility issues

Security Restricting or containing the illegal memory

reference Comprehensive security model

Page 20: The.NET Framework - Technology in Education. Why.NET? Interoperability between languages and execution environments Uniformity in schema or formats for

General Resources Visit the following sites for more information on

product capabilities www.gotdotnet.com www.asp.net www.csharptoday.com Faculty Online Community at www.msdnaa.com Student Online Community at www.gotdotnet

.com/student Download the .NET Framework SDK from

msdn.microsoft.com

Page 21: The.NET Framework - Technology in Education. Why.NET? Interoperability between languages and execution environments Uniformity in schema or formats for

© 2003 Microsoft Corporation. All rights reserved.© 2003 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.