22
Migrating Access Applications to .NET and SQL Server Ken Young [email protected] Tim Landgrave [email protected]

Migrating Access Applications to .NET and SQL Server

  • Upload
    naiara

  • View
    71

  • Download
    1

Embed Size (px)

DESCRIPTION

Ken Young [email protected] Tim Landgrave [email protected]. Migrating Access Applications to .NET and SQL Server. Agenda. Why Migrate from Access? Current Access Migration Methods Why is Migration Tedious, Difficult and Expensive? What are the Business Benefits of Migrating? - PowerPoint PPT Presentation

Citation preview

Page 1: Migrating Access Applications to .NET and SQL Server

Migrating Access Applications to .NET and SQL Server

Ken Young [email protected]

Tim Landgrave [email protected]

Page 2: Migrating Access Applications to .NET and SQL Server

Agenda

• Why Migrate from Access?• Current Access Migration Methods• Why is Migration Tedious, Difficult and

Expensive?• What are the Business Benefits of

Migrating?• Tool - Application Refactoring and

Migration Suite (ARMS)• How Can ARMS Help and Why?

Page 3: Migrating Access Applications to .NET and SQL Server

Driving issues for Access Migration• Not a Client/Server architecture

– Value is Performance, flexibility, management

• Basic database administration• Data re-centralization• Workgroup applications “grow up”

– Number of user increase– Data capacity requirements outgrow Access MDB size and

performance guidelines– Functional complexity outgrows MS Access and VBA

capability

• Security requirements tighten• End user freedom, agility• Data integration flexibility• Self-service (i.e. reporting, analysis)

Page 4: Migrating Access Applications to .NET and SQL Server

Benefits to Customers• Platform Support

– Windows Platform and .NET Framework– SQL Server 2000

– RDBMS– Reporting Services

– Visual Studio.NET– Enables Office 2003 deployment

• Customers want to deploy Office 2003 and can’t due to Access 97 dependency

• Customer Satisfaction– Eliminates Access database corruption issues– Increases the availability of the data (slow connections)– Removes Access MDB file deployment

• Technical Advantages– Scalability– Data Security– Improved performance– Reliability– Team Development

Page 5: Migrating Access Applications to .NET and SQL Server

Challenges – Until NOW!

• Developer quality tools• Form & Report Migration was a manual

process and therefore COST PROHIBITIVE• Reliable & consistent methodology• Migrate cost, and analysis thereof

Page 6: Migrating Access Applications to .NET and SQL Server

Access Application types

MissionCritical Apps

Reporting Apps

Non-Mission Critical Apps

Departmental & Workgroup Applications

ComponentRe-use

(forms, reports, modules)

Page 7: Migrating Access Applications to .NET and SQL Server

What an Access Application is…

MS Access MDB File

LIMIT: 2 gigabytes minus the

space needed for system objects.

Form

Report

VBACode

\\fileserver\sharename

NOT a Server based architecture

Network

ClientComputer

ClientComputer

ClientComputer

ClientComputer

Biggest Issue:Everyone obtains a copy of the MDB file in their client computers memory

Every computer makes a local working copy of the MDB file

Key architecture concerns• Fat client• No Server side processing

Page 8: Migrating Access Applications to .NET and SQL Server

Microsoft .NET Application Server

Form

Report

Code

Microsoft .NET Application Server

Form

Report

Code

After Migrating to .NET and SQL Server

Microsoft SQL Server

Database

Pure Client/Server based architecture

Network

ClientComputer

ClientComputer

ClientComputer

ClientComputer

Key benefits:• Reliability• Performance• Scalability• Security• Flexibility• Management & Control• Reduced cost of ownership

Every computer only uses data they need!

Microsoft .NET Application Server

Form

Report

Code

Key benefits:• Thin client/Browser Option• Rich Client• Strong Security (SSL)

Page 9: Migrating Access Applications to .NET and SQL Server

Refactoring @ Work

User Interface

Business Logic

Data Access

SQL Server

Access Application

Aut

omat

e

Page 10: Migrating Access Applications to .NET and SQL Server

What this means

• Deployment– No more downloading .mdb to client

• Better memory utilization on client– No longer loading Access engine on

workstation

• Better utilization of SQL Server

Page 11: Migrating Access Applications to .NET and SQL Server

Migration Process

• Data• QueryDefs• Forms• Code• Reports

Page 12: Migrating Access Applications to .NET and SQL Server

Processing Data

• Migrate data using the Upsizing Wizard– Does a decent job– Reports on the process– Can result in .mdb linked to SQL

Page 13: Migrating Access Applications to .NET and SQL Server

Processing QueryDefs

• Upsizing wizard does not do much • SQL Syntax must match SQL Server

– Lots of tweaking– Testing of new syntax– Porting to stored procedure / view is optional

Page 14: Migrating Access Applications to .NET and SQL Server

Processing Forms

• Forms require recoding• Very tedious process

– Controls/properties/attributes– Rewiring event handlers

Page 15: Migrating Access Applications to .NET and SQL Server

Processing Code

• Convert code to VB.NET– Language constructs (VBA to VB.NET)– Access specific code

• Items such as message box, forms, etc• Data features such as dlookup

– Data objects• DAO / RDO to ADO.NET

Page 16: Migrating Access Applications to .NET and SQL Server

Processing Reports

• SQL Reporting Services– Import Access reports to SQL Reports– Moves reports to web– Allows for feature rich easy to use reports

• IT and user friendly

Page 17: Migrating Access Applications to .NET and SQL Server

Migration Tools• 2nd Genesis Software Application

Refactoring and Migration Suite (ARMS.NET)– Form Converter– Object Builder– Access2NET Resource Kit

• QueryDef Converter• VBA to .NET• Win Forms Databinder

• SQL Server Reporting Services Import Tool (Microsoft)

• Coming Soon…– Access to ASP.NET

Page 18: Migrating Access Applications to .NET and SQL Server

Automated Migration Using 2nd Genesis ARMS.NET Tools

Reporting Apps

Non-Mission Critical Apps

Departmental & Workgroup Applications

ComponentRe-use

(forms, reports, modules)

Reporting Services Import Tool

22ndnd Genesis ARMS.NET – Forms, QueryDefs, Code Genesis ARMS.NET – Forms, QueryDefs, CodeMicrosoft Access Upsizing Wizard

MissionCritical Apps

2nd Genesis ARMS.NET – Forms, QueryDefs, Code– Forms, QueryDefs, CodeMicrosoft Access Upsizing Wizard

2nd Genesis ARMS.NET

Tools Save $$Tools Save $$

Page 19: Migrating Access Applications to .NET and SQL Server

Migration Process Using ARMS.NET• Analyze the initial .mdb using• Create plan• Convert the Access Application

– Data• Upsize the Access MDB to SQL Server• Convert Access QueryDefs to SQL Server Stored Procedures

– UI• Convert Access forms to .NET WinForms

– Business• Migrate VBA Code to .NET Classes that manage the data• Tie Forms to .NET Classes

– Reports• Convert Access Reports to SQL Reporting Services reports• Modify QueryDefs to use SQL Server data directly

– Final System Testing

Page 20: Migrating Access Applications to .NET and SQL Server

Category File Count

Forms 671

Code Modules 26

QueryDefs 1400

Reports 274

Header 1

Total 972

Conversion Example

• National Services company has built its business on one Access file– Initial .mdb was 64MB (one project)

• No data, only forms and code

– Analysis when converted shows:

Page 21: Migrating Access Applications to .NET and SQL Server

Developer Productivity• Typical approach to manual forms conversion with error

rate, analysis, QA, and repair applied to example customer application

• For Example, a single form with 10 controls with 150 properties will require: – 2 hours to analyze– 16 hours to convert code– 6.64 hours to debug and repair– At $50/hour (burdened rate), this single form costs $1,232 to

convert– Sample application is 16,000 hours in forms

• Which at $50/hour is approximately $800,000 JUST for Form conversion

• Conversion without tools is cost prohibitive!

Page 22: Migrating Access Applications to .NET and SQL Server

Why our approach is better• Fewer errors in development

– Client does not pay to find and fix errors not introduced• Cost is drastically lower than manual conversion

– More reliable code– Focus on features not mundane tasks

• Better use of developer effort– Adding new Functionality– Re-factoring - not rewriting remodel to achieve goals above

• Bottom line– Reduction of engineering staff for mundane tasks– QA improves dramatically (developer errors go down

dramatically)– Client should not spend money to have bodies convert Access

attributes to .NET target attributes