Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static...

13
Introduction to ASP .NET

Transcript of Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static...

Introduction to ASP .NET

Prehistory of ASP .NET• Original Internet – text based

• WWW – static graphical content HTML (client-side)

• Need for interactive and animated content Javascript (client-side)

• Need for database-driven web sites CGI, ASP, JSP, PHP, ColdFusion (server-side)

About Processing on the Web

• Hypertext Transfer Protocol (HTTP)

• Request-Response Model

• Statelessness of the web

Web server

browser builds an HTTP request and sends it to the IP address indicated by the URL.

Web server on the destination host machine (identified by IP address) receives the request and, after any necessary processing, the requested file is returned.

Safari

Web Server

• Running on Host– In Microsoft world this is Internet Information

Server (IIS)• Linux Apache

– With ASP and .NET Framework, IIS can produce dynamic content (automatically-generated

Technologies for Server Side Processing

• CGI – Common Gateway Interface

• Java Server Pages (JSP), Java Servlets

• ActiveX Server Pages (ASP)

• PHP Preprocessor (PHP)

• ASP .NET

Server-side processing enables 3-tier architectures

Three-Tier Architectures• Three layers:

– Client– Application server– Database server

Thin Client PC just for user interface and a little application

processing. Limited or no data storage (sometimes no hard drive)

GUI interface (I/O processing)

Browser(with HTML/Javascript)

Business rules Web Server(with ASP .NET)

Data storageDBMS

Three-tier architecture

Thinnest Thinnest clientsclients

Business rules on Business rules on separate serverseparate server

DBMS only DBMS only on DB serveron DB server

Problems with Old ASP• Code mixing (HTML, Javascript, VBScript inline)

hard to understand and maintain

• Interpreted no compiled ahead of time, slows processing

• ASP .NET allows for both code separation and pre-compiled processing

• Same is true with PHP and JSP– Frameworks exist for both to enable code separation

ASP .NET’s improvements over old ASP

• More object-oriented and event-driven – robust class library– ability to create more efficient and reusable code

• Multiple Language Support (VB, C#, C++, JScript.NET)– via Common Language Runtime– other languages can be added to the list

• Powerful control objects (server controls, user controls)– “automatic HTML-generators”

• Code Separation Support– can separate HTML code (display) from VB/C# code (server side processing) through use of

server or user controls– use of code-behind files

• Smart Code Output– automatic generation of browser/device compatible output– use of form validation controls

• Deployment - easier administration of web sites– simplicity in installing components– Use of web.config file for configuration – and bin directory for Assemblies (DLLs)

.NET Framework Terms

• NET Framework – software framework that runs primarily on

Microsoft Windows. – Framework –

• Common Language Runtime (CLR) – run time environment that provides the underlying infrastructure for Microsoft's .NET framework (pp17-18)

• Assembly – a .dll file (dynamic link library) that contains executable code compiled for the CLR (pp14-17)

http://en.wikipedia.org/wiki/.NET_Framework

Common Intermediate Language (CIL) is like Java’s bytecode

Common Language Runtime (CLR) islike Java’s virtual machine

Virtual Execution System (VES) is the “simulated CPU” upon which the CLR operates.

These compilers generate managed code. Managed code is code that is run within the Common Language Infrastructure (CLI).

Note: Visual C++ can compile into either managed or unmanaged code. Unmanaged code is compiled directly to the machine language of the CPU, and is not part of the CLR