Embed
Email

Migrating_ASP_to_ASP_NET_EMEA

Document Sample

Shared by: huanghengdong
Categories
Tags
Stats
views:
0
posted:
12/14/2011
language:
pages:
33
Migrating ASP to

ASP.NET



Pedro Miguel Rosa

prosa@microsoft.com

Senior Software Engineer

Developer Platform Group

Agenda

• Classic Active Server Pages Background

• Why Migrate to ASP.NET?

• Migration Strategies

• ASP.NET Migration Issues

• Tools

• Questions

Active Server Pages

Active Server Pages

• Leading web app development platform

– Nearly 1 million developers using ASP today

– Many well known applications and sites

• Simple and approachable

– No compilers required – “just hit save”

– Easy to use languages and object model

– Great integration with COM and COM+

• Well established developer support base

– Online communities

– Books/Consulting/Conferences

How it works….

Requests

Responses

1 7

6 10









ISAPI Filters

Internet Information Server

ISAPI Extensions

ASP.DLL Script Execution



5 9

ASP Script Script Code Script Engine

Engine 4 8 Cache









2

3





.asp file

Issues with “Classic” ASP

• Way too much code required

– Simple tasks often not easy



• Applications contain spaghetti code

– Poor re–use/encapsulation model

– Code runs from top of page to bottom



• Late-bound scripting, no strong typing

– Different language model in COM though



• Deployment issues

– COM and metabase

Sample ASP Page

How ASP.NET Works

Requests Responses





1 7 6 9





Modules



Page Handler

ASP.NET Http Runtime

2

ASPX Class

Engine Instance

8





3 4 5



ASP.NET

Page Page

Class

Migrating to ASP.NET

Benefits of Migration

• Performance and scalability

– Strongly typed code, compiled into binaries

– Easily scalable to web farms

– Page, partial page, and data caching



• Productivity

– Web forms and server controls

– Web services

– Rich application framework

– Great tools and languages support

– Supports many mobile browsers

Migrating to ASP.NET

Benefits of Migration

• Security

– Can run under least privilege account

– Built-in forms based authentication

– Custom security infrastructure



• Reliability

– Application isolation, recycling, health detection

– Benefits of managed code



• Manageability

– XCOPY deployment

– Easily configurable (web.config)

Migrating to ASP.NET

The Bad News

• Migration will always require work

– No magical migration tool

– Trivial pages may be easy

– Applications will be more difficult



• Reality is:

– Can’t simply change file extensions

– Incompatibilities in language, framework,

environment

Migrating to ASP.NET

The Good News

• Developer’s ASP skills will migrate

– Natural migration from VBScript to VB

– ASP intrinsic objects pulled forward

– Inline coding still possible



• Can leverage existing assets

– Existing pages can be converted

– Existing components still work (through interop)

– Migration can be incremental

Migration Strategies

• Vertical Migration

– Use both ASP and ASP.NET

– Migrate individual features

• Horizontal Migration

– Move .asp files to .aspx

– Go for functional equivalence

• Re-write / New Application

– Move completely to ASP.NET

– Take advantage of new features

Migration Strategies

Vertical Migration

• ASP and ASP.NET pages run side by side

– Separately installed and configured



• Use ASP.NET without breaking ASP

– Migrate or add selected functionality

– Useful for new, isolated features

– Gain immediate perf benefits



• Limited interoperability

– ASP pages can’t use ASP.NET features

– Run in separate worker processes

– No sharing of state

Migration Strategies

Horizontal Migration

• Rename .asp to .aspx, and correct problems

– Correct page syntax

– Translate VBScript to Visual Basic .NET

• Take advantage of key ASP.NET features

– Can call Framework code

– Page compilation

– Scalable session state, caching

• Not a full port yet

– No improvements in code manageability

– COM interop work may be needed

Migration Strategies

Full Rewrite

• Complete rewrite of pages and components

– Use ASP.NET server controls

– Rewrite business components using Framework

• Take full advantage of ASP.NET

– True code separation, encapsulation

– Page framework and controls

– ASP.NET Security

Migration Strategies

Guidelines Summary

• Use vertical migration for

– Well partitioned applications

– New functionality in existing apps

• Use horizontal migration for

– Heavy use of application or session state

– Complex, unfactorable tiers

• Use rewrite for

– Re-architecture of system

– Significant new functionality

ASP.NET Migration Issues

Semantic Changes

Programming Language

• Single choice of server language

– Cannot mix languages on page

– Client script not affected

• VBScript  Visual Basic .NET

– All variables have a specific type

– No more default properties (big change)

– No “Set” and “Let” syntax

– Parentheses required for calling subroutines

– Arguments now ByVal by default

Code Changes

• Page functions

– Must be in blocks

• Page “render functions”

– Not supported, must use Response.Write

• Variable references

– Cannot reference variables in other

blocks

• Page directives (@Option, @Session,

etc.) no longer supported

– Merged into single Page directive

Server Components

Options for Using COM Objects

• Simple Usage

– Call Server.CreateObject(“progid”) and access it

as a late-bound object



• Create .NET wrapper classes

– Provides early binding

– Optimizes performance of calls

– TLBIMP.exe utility



• Rewrite using .NET

Server Components

Using ASP Intrinsics in components

• Support for ASP intrinsics

– ObjectContext intrinsic Flow

– Application OnStart and OnEnd



• ASPCompat mode



– Enables access to intrinsic objects

ASP.NET Migration Examples

Server Components

Performance Considerations

• Marshalling costs

– Calls between ASP.NET and COM

– Performance benefits by rewriting COM in .NET

• ASP.NET Thread Pool now MTA -- not STA

– What is an MTA? What is an STA?

– Impacts performance of apartment components

– VB5 and VB6: Apartment Components

• Can enable STA Thread Pool on a per-page basis

– Address perf. of existing VB components



– Not necessary for C++ MTA components

Security Changes

• ASP: Use Windows (IIS) authentication

– NTLM (default), Basic, Digest, or Kerberos

– Impersonate caller by default

– Forms based auth: roll your own

– ACL based URL authorization



• ASP.NET: Customizable authentication

– Windows (default), Forms, or Passport

– Impersonation must be enabled

– Built-in forms authentication

– Role based declarative authorization

Configuration Changes

• ASP: Configuration

– Binary data store used by IIS (metabase)

– Used by Classic ASP

– Changes required local server access



• ASP.NET: XML Configuration

– Machine.config, web.config

– Most IIS settings do not affect ASP.NET

– Changes do not require local server access

Tools

ASP.NET Migration Assistant

• Features

– Corrects ASP.NET page syntax

– Translates VBScript into Visual Basic .NET

• Visual Studio or command line translation

• Starting point for further migration

• Available from:

– http://www.asp.net/migrationassistants/

ASP.NET Migration Assistant

Summary

• Migration not seamless

– Will involve some work

– Can be done incrementally



• Worth the efforts

– Better performance

– Easier development

– Cleaner and more manageable code

– Platform to build apps for the future



Other docs by huanghengdong
2012_Vendor_Form_Wedding_Expo
Views: 0  |  Downloads: 0
SCOPE 1 GP letter v2.0 12Mar2007
Views: 0  |  Downloads: 0
Boston_immigration_records
Views: 2  |  Downloads: 0
PSC MATRIX of achievement 080709
Views: 0  |  Downloads: 0
Summary - CIRCA
Views: 0  |  Downloads: 0
ieee_wiley_ebooks_library_customer_title_list
Views: 0  |  Downloads: 0
2009-2010_ACC0044_fishers_772_07-dec-2009
Views: 1  |  Downloads: 0
FSP20111216-EN
Views: 0  |  Downloads: 0
Workshops
Views: 0  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!