41
Yoon Joong Kim Department of computer Engineering Hanbat National University

Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon Joong Kim Department of computer Engineering

Hanbat National University

Page 2: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

Contents

Microsoft .NET History

What is Microsoft .NET

- Goal/.NET Platform/issues and ideas

The Microsoft .NET Framework

Common Language Runtime

- Goal/Concepts/Compilation and execution/Services/Multiple Language

Support

Windows Form/Web Form/C#/ VB.NET

Web Programming

Web Services

Ex.1 An Simple Web Services Example

Page 2

Page 3: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

History of .NET Framework

Microsoft started development of the .NET Framework in the

late 1990s, originally under the name of Next Generation

Windows Services (NGWS). By late 2000 the first beta

versions of .NET 1.0 were released.

Version 1.0 of the .NET Framework was released in

February 2002 with visual studio .NET.

Version 3.0 is included with Windows Server 2008 and

Windows Vista.

Version 3.5 with Windows 7 and Windows Server 2008 R2.]

Version 4.0 alongside Visual Studio 2010.

Version 4.5 alongside Visual Studio 2012 for Windows Vista

or later. Support metro style apps for Windows 8.

Page 3

Page 4: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

History of .NET Framework

The .NET Framework family includes a reduced version of

the framework the .NET Compact Framework.

the .NET Compact Framework is available on

- the mobile version,

the Windows CE platforms including Windows Mobile

devices such as smartphones.

- the embedded device version,

the .NET Micro Framework that is targeted at severely

resource-constrained devices.

Page 4

Page 5: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

History of .NET Framework

Generation Version number Release date Development tool Distributed with

1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio .NET N/A

1.1 1.1.4322.573 02003-04-2424 April 2003 Visual Studio .NET

2003 Windows Server 2003

2.0 2.0.50727.42 02005-11-077 November 2005 Visual Studio 2005 Windows Server 2003

R2

3.0 3.0.4506.30 02006-11-066 November 2006 Expression Blend Windows Vista,

Windows Server 2008

3.5 3.5.21022.8 02007-11-1919 November 2007 Visual Studio 2008 Windows 7, Windows

Server 2008 R2

4.0 4.0.30319.1 02010-04-1212 April 2010 Visual Studio 2010 N/A

4.5 4.5.50709.17929 02012-08-1515 August 2012 Visual Studio 2012 Windows 8, Windows

Server 2012

Page 5

Page 6: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

History of .NET Framework

WPF(Windows Presentation Foundation)

- a new user interface subsystem and API based on

XML and vector graphics,

WCF(Windows Communication Foundation - a service-oriented messaging system which allows

programs to interoperate locally or remotely similar to

web services.

WF(Windows Workflow Foundation) - allows for building of task automation and integrated

transactions using workflows.

Windows CardSpace, - a software component which securely stores a person's

digital identities and provides a unified interface for

choosing the identity for a particular transaction, such

as logging in to a website

LINQ(Language Integrated Query) - can be used to conveniently extract and process data

from arrays, enumerable classes, XML documents,

relational databases, and third party data sources.

TPL(Task Parallel Library)

Page 6

Page 7: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

What is Microsoft .NET

Goal

- .NET is a network platform whose goal is as follow:

the users(application or terminal device) that are connected to each

others on the network regardless of wire or wireless

communicate and transfer their information in the form of XML

from any device, anytime, anywhere. .

- Make it incredibly easy to build powerful web applications and web

services

Page 7

Page 8: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

What is Microsoft .NET

Visual Studio .NET

.NET Enterprise

Servers

SQL Server 2005

Win Server 2003

Exchange 2010

.NET Framework

CLR, C#, ASP.NET,

etc.

.NET Services

e.g. Microsoft

Passport(Windows

Live ID)

Operating System e.g. Windows XP, Windows 2000, Linux

Page 8

The Microsoft .NET Platform

Page 9: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

What is Microsoft .NET?

A platform

- The .NET Framework

- Visual Studio.NET

- .NET Enterprise Servers

- Database, messaging, integration, commerce, proxy, security, mobility,

orchestration, content management

- .NET Building Block Services

- Passport

- .NET My Services(“Hailstorm”)

Page 9

} The focus of

this program

Page 10: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

What is Microsoft .NET?

that new language C# Microsoft putting XML into

everything

the next version of Visual

Basic the next version of ASP

the next version of

Visual Studio Microsoft trying to kill

Java

being able to run everything

across the Net

it’s a good thing

Page 10

Page 11: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

What is Microsoft .NET?

Initially announced as the latest release of everything Microsoft - ASP.NET, VB.NET, C#.NET, VisualStudio.NET

With some big ideas - the new language C#, Object-Orient Language

- got rid of VB at last

- the Common Language Runtime (CLR) - platform independent c.f. JRE

- language integration - shared libraries ->language independent

- ability to develop and use software components over the web - XML based Web Services

- simplified deployment of Windows software - Simple copy of assembly EXE or DLL without any register editing

=> the end of DLL hell - http://en.wikipedia.org/wiki/DLL_Hell

- Assembly format includes its information(self-description)

Page 11

Page 12: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

What is Microsoft .NET?

With some big ideas(cont.) - no more mixing HTML and script code in ASP

- Representation page and business logic page

- Data Access - work with RDBMS through the ADO.NET.

- Support XML and interoperate in any platform besides Windows

- http://cafe.naver.com/makkolli/209

- Web Services - Web Component

- Easy to create and use it

- NET depends on - four internet standards : HTTP, XML, SOAP, UDDI.

Page 12

Page 13: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

The .NET Framework What Is the .NET Framework?

A set of technologies for developing and using components to create: - web forms

- web services

- windows applications

Supports the software lifecycle - development

- debugging

- deployment

- maintenance

Page 13

Page 14: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

Library classes for accessing data and XML

(ADO.NET, SQL, XML, XSLT, LINQ)

XML based

Web Services

Web Forms

ASP.NET

Windows

Forms

Library Framework Base classes

(IO, string, collections, security)

Common Language Runtime

The Microsoft .NET Framework

Page 14

Page 15: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

Library classes for accessing data and XML

(ADO.NET, SQL, XML, XSLT, LINQ)

XML based

Web Services

Web Forms

ASP.NET

Windows

Forms

Library Framework Base classes

(IO, string, collections, security)

Common Language Runtime

The Microsoft .NET Framework

The .NET Framework and Visual Studio.NET

Page 15

VB C++ C# JScript …

Common Language Specification Vis

ual S

tud

io.N

ET

Page 16: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

The Microsoft .NET Framework .NET Framework Classes

System.Data

Design

OLEDB

SQLTypes

SQL

System

Globalization

Diagnostics

Configuration

Collections

Resources

Reflection

Net

IO

Threading

Text

ServiceProcess

Security Runtime InteropServices

Remoting

Serialization

System.Xml

XPath

XSLT Serialization

System.Web

Configuration SessionState

Caching Security

Services Description

Discovery

Protocols

UI HtmlControls

WebControls

System.Drawing

Imaging

Drawing2D

Text

Printing

System.Windows.Forms

Form Button

MessageBox ListControl

Page 16

Page 17: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

Common Language Runtime Goal

Development services

- Deep cross-language interoperability

- Increased productivity

Deployment services

- Simple, reliable deployment – assembly format

- Fewer versioning problems – NO MORE ‘DLL HELL’

Run-trim services

- Performance

- Scalability

- Availability

- Reliability

- Security

- safety

Page 17

Page 18: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

Common Language Runtime

Programs can run on any platform for which the CLR has been implemented - just like the JVM

CLR gives language integration - a class written in one language can be used by a class written in

another

- share exactly the same libraries

The CLR is no longer only available for Microsoft operating systems - CLR for the .NET framework

- Mono Project for the Linux and BSD-based OS and MAC OS X.

- Portable.NET

Page 18

Page 19: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

Source Code

C++, C#, VB or any

.NET language

csc.exe or vbc.exe

Compiler

Assembly

DLL or EXE

Common Language Runtime Compilation

Page 19

Page 20: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

Common Language Runtime Execution Model

Page 20

CLR

VB Source

code Compiler

C++ C#

Assembly Assembly Assembly

Operating System Services

MSIL

Common Language Runtime JIT Compiler

Compiler Compiler

Native

code Managed

Code

Managed

Code

Managed

Code

Unmanaged

Code

CLR Services:Loads and executes code, garbage collects etc

Ngen

like Java bytecode

(.exe or .dll)

Page 21: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

Common Language Runtime Services

Code management

Conversion of MSIL to native code

Loading and execution of

managed code

Creation and management of

metadata

Verification of type safety

Insertion and execution of security

checks

Memory management and

isolation

Garbage collection

Handling exceptions across

languages

Interoperation between .NET

Framework objects, COM objects

and Win32 DLLs

Automation of object layout for late

binding

Developer services (profiling,

debugging, etc.)

Page 21

Page 22: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

Common Language Runtime Multiple Language Support

Common Type System(CTS)

- Superset of the data types used by most modern programming

languages

Common Language Specification(CLS)

- Subset of CTS that allows code written in different languages to

interoperate

What languages?

- Microsoft – C#, C++, VB.NET, Jscript

- Third party

- Perl, Ada, Cobol, Java, Fortran, Delphi

- Eiffel, Smalltalk, Scheme, Oberon, Haskell, Python, …

- Only practical if the language supports some sort of encapsulation

Page 22

Page 23: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

Common Language Runtime Multiple Language Support

Common Language

Infrastructure(CLI)

- The purpose of CLI is to provide

language-neutral platform

- The CLI code is housed in CLI

assemblies(dll, exe)

- the CLI specification describes

the following four aspects:

- CTS(Common Type System)

- Metadata ( code in CIL)

- CLS(Common Language

Specification)

- VLS(Virtual Execution System)

Page 23

Page 24: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

Common Language Runtime Multiple Language Support

CLI Language

- CLI language is language that conforms the CLI specifications

- Common Intermediate Language(CIL)

- Is a target language to be compiled by CIL language

- Assembly

CLI implementation

- Such as CLR(Common Language Run), MONO, Portable NET

- Can execute CIL languages

Common CLI languages

- A#(Ada), Boo(Python), C#, Java, Delphi, C++, Corba, Component

Pascal, Eiffel, F#, IronPhython, IronRuby, IronLips, J#, Jscript,

P#(Prolog), VB.NET…

- http://en.wikipedia.org/wiki/List_of_CLI_languages

Page 24

Page 25: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

Windows Forms

Framework for building

“rich clients”

Built upon .NET Framework,

languages

Rapid Application

Development (RAD)

Visual inheritance

Anchoring and docking

Rich set of controls

Extensible controls

Data-aware

Easily hooked into

Web Services

ActiveX support

Licensing support

Printing support

Advanced graphics

Page 25

Page 26: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

Web Forms

Built with ASP.NET

- Logical evolution of ASP

New programming model

- Event-driven/server-side controls

- Rich controls(e.g. data grid, validation)

- Data binding

- Controls generate browser-specific code

- Simplified handling of page state

Page 26

Page 27: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

Web Forms

Allows separation of UI and code

- Separation of concerns is a good thing

- Cleaner, more maintainable code

Uses .NET languages

- C#

- Not just scripting

Components

- Is easy to create and use

XCOPY/FTP deployment

Page 27

Page 28: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

Web Forms

Caching(pages, fragments, custom)

Scalable session state management

Tracing support

ASP.NET is extensible

Page 28

Page 29: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

Language C#

New language created for .NET

Safe, productive evolution of C++

- No the pointers

Key concepts

- Component-oriented

- Everything is an object

- Robust and durable code

- Preserving your investment

- Whatever that means

Standard language

- Approved as standard by ECMA(ECMA-344) and ISO(ISO/IEC 23270.2006)

Page 29

Page 30: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

Languaes Visual Basic.NET

Modernizes and simplifies Visual Basic

- A modernized version of Visual Basic

Now provides

- Inheritance

- Threading

- Exception handling

- Support for late biding

- Whatever that is

Page 30

Page 31: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

The Web Programming Server-Client and 3 Tier architecture

Web Server)

(Apache, IIS)

(ASP,JSP,PHP)

Web Server

Browser

(IE, FireFox,

Opera)

(HTML)

Client

(PC or MAC)

Database

Database

Server

SQL HTTP

vision

touch

voice

Presentation Layer

Application Layer

Persistence Layer

Client Server

Web

Network

Page 31

Page 32: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

Programming the Web Server-Side Code

What is server-side code? - Software that runs on the server, not on the client

- Receives input from

- URL parameters

- HTML form data

- Cookies

- HTTP headers

- Can access server-side databases, e-mail servers, files, mainframes, etc.

- Dynamically builds a customized HTML document response for a client

Page 32

Page 33: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

Programming the Web Server-Side Code

Why server-side code? - Availability

- You can reach the Internet from any browser, any device, any time, anywhere

- Manageability

- Does not require distribution of application code

- Easy to change code

- Security

- Source code is not exposed

- Once user is authenticated, can only allow certain actions

- Scalability

- Web-based 3-tier architecture can scale out

Page 33

Page 34: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

Programming the Web Server-Side Technologies

Common Gateway Interface (CGI) (Script) - not language specific - http://en.wikipedia.org/wiki/Common_Gateway_Interface

Internet Server API (ISAPI) - MS IIS’s API, Apache’s API m_isapi - Netscape Server API (NSAPI)

Active Server Pages (ASP) - now obsolete

Java Server Pages (JSP)

PHP Hypertext Processor (PHP)

ColdFusion Markup Language(CFML) - Scripting Language for the JVM, the .NET framework, Google App

Engine.

- http://en.wikipedia.org/wiki/CFML

ASP.NET

Page 34

Page 35: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

Programming the Web Active Server Pages(ASP)

Technology to easily create server-side applications - A complete rip-off of the good work of Rasmus Lerdorf

ASP pages are written in a scripting language

- usually VBScript but also Jscript or PerlScript

An ASP page contains static HTML

ASP script is (was) commonly used to access and update a database. - 3-tier systems

UI page and Code page in ASP.NET

Page 35

Page 36: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

Programming the Web in ASP.NET

HTTP request (form data, HTTP

header data)

HTTP response HTML, XML

ASP page (static HTML +

server-side logic)

ASP page in .NET

UI Page (static HTML ) +

Code Page

(server-side logic)

Page 36

Page 37: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

Web Services

A programmable application software component - allow remote access to software components

- via standard web protocols HTTP, XML, SOAP, UDDI, WSDL

- exposes functionality over the Web

Using ASP.NET framework - can create Web Services that others can use

- can write a program that uses the Web Services

With some properties - The idea of Web Services is not exclusive to Microsoft

- Standard technology

- The center of the .NET architecture

Page 37

Page 38: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

Web Services Evolution of the Web

Generation 2

Web Applications

HTML

Generation 1

Static HTML

HTML

HTML, XML

Generation 3

Web Services

XML

Page 38

Page 39: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

An simple Web Services

Ex1. An simple Web Services - HelloWorld

- 1.1 Generation of Web Service : int Add(int a, int b) using ASP.NET

- 1.2 Web Service Client using objects of HttpRequest

- 1.3 Web Service Client with proxy using .NET

Environment

- OS : Window 7

- Framework : .NET 3.5

- Tool : Visual Studio 2010

- Language : C#

- Browser : Internet Explorer 9

Page 39

Page 40: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim

More Resources

.NET - http://www.microsoft.com/net/

- http://msdn.microsoft.com/net/

- http://en.wikipedia.org/wiki/Microsoft_.NET

- http://www.asp.net/

XML - http://www.w3.org/XML/

Page 40

Page 41: Yoon Joong KimYoon joong Kim History of .NET Framework Generation Version number Release date Development tool Distributed with 1.0 1.0.3705.0 02002-02-1313 February 2002 Visual Studio

Yoon joong Kim Page 41

www.wins.or.kr

E-Mail: [email protected]

Conditions