40
BY- Rajnish kalla Introduction to .NET Framework

Net overviewrajnish

Embed Size (px)

Citation preview

Page 1: Net overviewrajnish

BY- Rajnish kalla

Introduction to .NET Framework

Page 2: Net overviewrajnish

Software platform Language neutral In other words:

.NET is not a language (Runtime and a library for writing and executing written programs in any compliant language)

Page 3: Net overviewrajnish

.Net is a new framework for developing web-based and windows-based applications within the Microsoft environment.

The framework offers a fundamental shift in Microsoft strategy: it moves application development from client-centric to server-centric.

Page 4: Net overviewrajnish

.NET Framework

• First developed by Microsoft in 2000• Current version (3.0) released in Nov

2006• Targets primarily Windows OS, but

Mono Project (headed by Novell) supports Linux, Unix, FreeBSD, Mac OS X, Solaris

• Primary languages: C#, Visual Basic .NET, C++/CLI, and J#

• Third-party languages: Ada, COBOL, LISP, Perl, Ruby, and many more

Page 5: Net overviewrajnish

Operating System + Hardware

.NET Framework

.NET Application

Page 6: Net overviewrajnish

Base Class LibraryBase Class Library

Common Language SpecificationCommon Language Specification

Common Language RuntimeCommon Language Runtime

ADO.NET: Data and XMLADO.NET: Data and XML

VBVB VC++VC++ VC#VC#V

isual S

tud

io.N

ET

Visu

al Stu

dio

.NE

T

ASP.NET: Web ServicesASP.NET: Web Servicesand Web Formsand Web Forms

JScriptJScript ……

WindowsWindowsFormsForms

Page 7: Net overviewrajnish

Common Language Runtime Windows® Forms ASP.NET

◦ Web Forms◦ Web Services

ADO.NET, evolution of ADO Visual Studio.NET

Page 8: Net overviewrajnish

CLR works like a virtual machine in executing all languages. All .NET languages must obey the rules and standards imposed by CLR. Examples:◦ Object declaration, creation and use◦ Data types,language libraries◦ Error and exception handling◦ Interactive Development Environment (IDE)

Page 9: Net overviewrajnish

Development◦ Mixed language applications

Common Language Specification (CLS) Common Type System (CTS) Standard class framework Automatic memory management

◦ Consistent error handling and safer execution◦ Potentially multi-platform

Deployment◦ Removal of registration dependency◦ Safety – fewer versioning problems

Page 10: Net overviewrajnish

Comparison to Java

Hello.java Hello.class JVMcompile execute

Hello.vb Hello.exe CLRcompile execute

Source code Byte code

CILSource code

Page 11: Net overviewrajnish

• CTS is a rich type system built into the CLR– Implements various types (int, double, etc)– And operations on those types

• CLS is a set of specifications that language and library designers need to follow– This will ensure interoperability between

languages

Page 12: Net overviewrajnish

Code in VB.NET Code in C#Code in another .NET Language

VB.NET compiler C# compilerAppropriate

Compiler

IL(IntermediateLanguage) code

CLR just-in-timeexecution

Page 13: Net overviewrajnish

.NET languages are not compiled to machine code. They are compiled to an Intermediate Language (IL).

CLR accepts the IL code and recompiles it to machine code. The recompilation is just-in-time (JIT) meaning it is done as soon as a function or subroutine is called.

The JIT code stays in memory for subsequent calls. In cases where there is not enough memory it is discarded thus making JIT process interpretive.

Page 14: Net overviewrajnish

Languages provided by MS◦ VB, C++, C#, J#, JScript

Third-parties are building◦ APL, COBOL, Pascal, Eiffel, Haskell, ML, Oberon,

Perl, Python, Scheme, Smalltalk…

Page 15: Net overviewrajnish

Windows Forms

• Framework for Building Rich Clients– RAD (Rapid Application Development)– Rich set of controls– Data aware– ActiveX® Support– Licensing– Accessibility– Printing support– Unicode support– UI inheritance

Page 16: Net overviewrajnish

ASP.NET,the platform services that allow to program Web Applications and Web Services in any .NET language

ASP.NET Uses .NET languages to generate HTML pages. HTML page is targeted to the capabilities of the requesting Browser

ASP.NET “Program” is compiled into a .NET class and cached the first time it is called. All subsequent calls use the cached version.

Page 17: Net overviewrajnish

ASP.NET

• Logical Evolution of ASP– Supports multiple languages– Improved performance– Control-based, event-driven execution model– More productive– Cleanly encapsulated functionality

Page 18: Net overviewrajnish

Allows clean cut code◦ Code-behind Web Forms

Easier for tools to generate Code within is compiled then executed Improved handling of state information Support for ASP.NET server controls

◦ Data validation◦ Data bound grids

Page 19: Net overviewrajnish

A technical definition◦ “A programmable application component accessible

via standard Web protocols”

Page 20: Net overviewrajnish

Web Services

• It is just an application…

• …that exposes its features and capabilities over the network…

• …using XML…

• …to allow for the creation of powerful new applications that are more than the sum of their parts…

Page 21: Net overviewrajnish

ADO.NET(Data and XML)

• New objects (e.g., DataSets)

• Separates connected / disconnected issues

• Language neutral data access

• Uses same types as CLR

• Great support for XML

Page 22: Net overviewrajnish

Development tool that contains a rich set of productivity and debugging features

Page 23: Net overviewrajnish

CLR

CLR

Page 24: Net overviewrajnish

The .NET Framework◦ Dramatically simplifies development and

deployment◦ Provides robust and secure execution environment◦ Supports multiple programming languages

Page 25: Net overviewrajnish
Page 26: Net overviewrajnish

Comparison between J2EE and .NET Architectures

Page 27: Net overviewrajnish

Execution Engine J2EE

Java source code compiles into machine-independent byte code

Runtime Environment : JVM .NET

Any compliant language compiles into MSILRuntime environment : CLR

Both JVM and CLR ,support services, such as code verification, memory management via garbage collection, and code security

Page 28: Net overviewrajnish

Cross Platform Portability

J2EEPlatform Independent JDK should exist on target machine

.NETSupports Windows platformCLR should exist on target machine

Can support other platforms provided it has its own JIT complier

Page 29: Net overviewrajnish

Language Support

J2EETied to Java Supports other languages via interface

technology .NET

Language independentSupports any language if mapping exists

from that language to IL

Page 30: Net overviewrajnish

Tools Support J2EE

Can employ any number of toolsPro :Developer has a great deal of choiceCon :Difficulty in choosing a right tool for a

given job

.NETVisual Studio.NET, single IDE for building an

application

Page 31: Net overviewrajnish

BackgroundWeb Architecture

Web Server

PC/Mac/Unix/... + BrowserClient

Server

Request:http://www.digimon.com/default.asp

Response:<html>….</html>

Network HTTP, TCP/IP

Page 32: Net overviewrajnish

BackgroundWhat is ASP?

• Server-side programming technology• Consists of static HTML interspersed

with script• ASP intrinsic objects (Request,

Response, Server, Application, Session) provide services

• Commonly uses ADO to interact with databases

• Application and session variables• Application and session begin/end

events• ASP manages threads, database

connections, ...

Page 33: Net overviewrajnish

BackgroundWhat is ASP?

HTTP request(form data, HTTP

header data)

HTTP responseHTML, XML

ASP page(static HTML, server-side logic)

Page 34: Net overviewrajnish

BackgroundASP Successes

• Simple procedural programming model

• Access to COM components– ActiveX Data Objects (ADO)– File System Object– Custom components

• Script-based: no compiling, just edit, save & run– VBScript, JScript – leverages existing

skills

• Support for multiple scripting languages

• ASP has been very popular

Page 35: Net overviewrajnish

Programming ModelControls and Events

Button

List

Text

Browser ASP.NET

Button code...

List code...

Text code...

Event handlers

Page 36: Net overviewrajnish

Programming ModelAutomatic Browser Compatibility

• Controls can provide automatic browser compatibility

• Can target UpLevel or DownLevel browsers– UpLevel browsers support additional

functionality, such as JavaScript and DHTML

– DownLevel browsers support HTML 3.2

Page 37: Net overviewrajnish

Server ControlsHTML Controls

• Supported controls– <a>– <img>– <form>– <table>– <tr>– <td>– <th>– <select>

<textarea> <button> <input type=text> <input type=file> <input type=submit> <input type=button> <input type=reset> <input type=hidden>

Page 38: Net overviewrajnish

Resources

• General Sites– http://msdn.microsoft.com/net/aspnet/default.asp– http://www.asp.net/– http://www.fmexpense.com/quickstart/aspplus/default.htm

– http://www.asptoday.com/– http://www.aspng.com/aspng/index.aspx– http://www.4guysfromrolla.com/– http://www.aspfree.com/– http://www.devx.com/dotnet/– http://www.ibuyspy.com/

Page 39: Net overviewrajnish

Resources

• ASP.NET Overviewhttp://msdn.microsoft.com/msdnmag/issues/0900/ASPPlus/ASPPlus.asp

• Validation http://msdn.microsoft.com/library/techart/aspplusvalid.htm

• Databinding in 3 partshttp://msdn.microsoft.com/msdnmag/issues/01/03/cutting/cutting0103.asphttp://msdn.microsoft.com/msdnmag/issues/01/04/cutting/cutting0104.asphttp://msdn.microsoft.com/msdnmag/issues/01/05/cutting/cutting0105.asp

• ASP.NET component modelhttp://msdn.microsoft.com/msdnmag/issues/01/02/cutting/cutting0102.asp

Page 40: Net overviewrajnish