57
Migrating to Migrating to Microsoft .NET and SQL Microsoft .NET and SQL Server: Server: Why and How Why and How Georgios Koutsoukos Georgios Koutsoukos ATX Software ATX Software April 2006 April 2006

Migrating to Microsoft .NET and SQL Server: Why and How

  • Upload
    neka

  • View
    93

  • Download
    0

Embed Size (px)

DESCRIPTION

Migrating to Microsoft .NET and SQL Server: Why and How. Georgios Koutsoukos ATX Software April 2006. Agenda. Migration What? Why? When? How? Database Migration Microsoft SSMA Applications Migration Why Automated and not Manual? - PowerPoint PPT Presentation

Citation preview

Page 1: Migrating to Microsoft .NET and SQL Server:   Why and How

Migrating to Microsoft .NET Migrating to Microsoft .NET and SQL Server: and SQL Server:

Why and HowWhy and HowGeorgios KoutsoukosGeorgios Koutsoukos

ATX SoftwareATX Software

April 2006April 2006

Page 2: Migrating to Microsoft .NET and SQL Server:   Why and How

AgendaAgendaMigrationMigration

What?What?Why?Why?When?When?How?How?

Database MigrationDatabase MigrationMicrosoft SSMAMicrosoft SSMA

Applications MigrationApplications MigrationWhy Automated and not Manual? Why Automated and not Manual? Strategies of Automated Application Migration Strategies of Automated Application Migration solutionssolutionsATX Software Forms2NetATX Software Forms2Net

Page 3: Migrating to Microsoft .NET and SQL Server:   Why and How

Platform(Windows)

Platform(e.g UNIX, Windows)

OracleDatabase SQL Server

Applicationse.g Java, Oracle Forms

Data Access LogicData Access Logic

Applicationse.g Java, C#,VB

Data Access LogicData Access Logic

What: Migration OverviewWhat: Migration Overview

Page 4: Migrating to Microsoft .NET and SQL Server:   Why and How

Why to MigrateWhy to Migrate??

Page 5: Migrating to Microsoft .NET and SQL Server:   Why and How

Two Reasons:Two Reasons: Cost SavingsCost Savings Future PositioningFuture Positioning

Two Scenarios:Two Scenarios: The Applications DrivenThe Applications Driven The Database DrivenThe Database Driven

Why To Migrate?Why To Migrate?

Page 6: Migrating to Microsoft .NET and SQL Server:   Why and How

CostsCostssignificantly significantly increased development increased development productivityproductivity

Visual StudioVisual Studiothe wide variety of .NET languagesthe wide variety of .NET languages

more opportunities to more opportunities to outsourceoutsourcemore .NET developers and more .NET developers and expertiseexpertise available availablemany software many software supplierssuppliers and and off-the-shelf off-the-shelf solutionssolutions available availableless platform hetereogenityless platform hetereogenity across the across the organizationorganization

costs of licensescosts of licensesmore efficient HR managementmore efficient HR managementless training costsless training costs

The Applications DrivenThe Applications Driven

Page 7: Migrating to Microsoft .NET and SQL Server:   Why and How

Long-term positioningLong-term positioningeasier easier application integrationapplication integration ->> partners, ->> partners, mergersmergersmore more adaptableadaptable and and reusablereusable applications - applications ->> new customer services, users functionality>> new customer services, users functionalityleading platform for leading platform for Web ServicesWeb Services and and SOASOAfull support for full support for variety of access channelsvariety of access channels (Browsers, Mobile devices etc)(Browsers, Mobile devices etc)Microsoft’s Microsoft’s IT visionIT vision and and unified platformunified platform

Windows ServerWindows ServerBizTalk Server 2006BizTalk Server 2006SQL Server 2005SQL Server 2005Visual Studio 2005Visual Studio 2005

The Applications DrivenThe Applications Driven

Page 8: Migrating to Microsoft .NET and SQL Server:   Why and How

Original Application

Migrated Application

Agile Application

Rapid MigrationRe-Architecture and

Evolve

Legacy Platform .NET Platform

Bottom LineBottom Line

- Less Costs - Future Agility

The migration result is the starting point for subsequent evolution

The Applications DrivenThe Applications Driven

Page 9: Migrating to Microsoft .NET and SQL Server:   Why and How

TCO Categories Oracle SQL ServerBase License Costs* Base License Higher in Oracle

Extensions*

Managebility Not included IncludedBI Not included Included

High Availability Not included InlcudedAdditional Core Not included Included

Maintenance and Support: Higher Costs in OraclePlatform Standardization: HR reuse and training costs ->> Organization specificBetter Development Productivity: .NET, Visual Studio and their native integration to SQL Server

From Oracle to SQL ServerFrom Oracle to SQL Server

The Database The Database DrivenDriven

*Currently*Currently

Page 10: Migrating to Microsoft .NET and SQL Server:   Why and How

Table and data from CIOView Corp: The Business Value of Migrating from Oracle to SQL Server 2005, http://www.cioview.com/whitePapers/abstract_oracle_sql.html

The Database DrivenThe Database DrivenFrom Oracle to SQL ServerFrom Oracle to SQL Server

Page 11: Migrating to Microsoft .NET and SQL Server:   Why and How

The Database DrivenThe Database DrivenFrom Oracle to SQL Server (cont.)From Oracle to SQL Server (cont.)

Extending an existing Oracle 8i database to include BI functionality is actually going to cost approximately $200,000 more than an entirely new SQL Server 2005 platform.

upgrading to Oracle 10g entails a much higher acquisition cost than migrating to Microsoft Windows Server 2003 and Microsoft SQL Server 2005. The biggest items are in server and software costs, in networking costs and in initial services and training.

Data from CIOView Corp: The Business Value of Migrating from Oracle to SQL Server 2005, http://www.cioview.com/whitePapers/abstract_oracle_sql.html

Page 12: Migrating to Microsoft .NET and SQL Server:   Why and How

The Database DrivenThe Database DrivenFrom Oracle to SQL Server (cont.)From Oracle to SQL Server (cont.)

The particular workload to migrate will have a specific impact on the costs.The hidden costs of doing nothing with your existing Oracle database may exceed the costs of acquiring an entirely new hardware and software architecture.

Data from CIOView Corp: The Business Value of Migrating from Oracle to SQL Server 2005, http://www.cioview.com/whitePapers/abstract_oracle_sql.html

Page 13: Migrating to Microsoft .NET and SQL Server:   Why and How

MigrateMigrate? When?? When?

Page 14: Migrating to Microsoft .NET and SQL Server:   Why and How

The Mystery of Bird MigrationThe Mystery of Bird Migration ((http://birding.about.com/library/weekly/aa032898.htm))

When are the conditions right for migration? “ The winds must be blowing in the direction that the birds want to go. …A strong wind in the right direction will speed the birds on their way. Birds will usually wait until the most favorable weather conditions then set off on their journey.”

The right direction (.NET) and the strong winds The right direction (.NET) and the strong winds (migration solutions) are there…(migration solutions) are there…

When are the weather conditions favorable in IT?When are the weather conditions favorable in IT?IT PrioritiesIT PrioritiesBudgetBudgetOrganizational PoliticsOrganizational PoliticsMarket TrendsMarket TrendsOther? Other?

When To Migrate?When To Migrate?

Page 15: Migrating to Microsoft .NET and SQL Server:   Why and How

A later migration…A later migration…SizeSize““Erosion”Erosion”““Pollution”Pollution”““Isolation”Isolation”““Ignorant Surgery”Ignorant Surgery”

Implies more…Implies more…costscostseffort effort loss of opportunitiesloss of opportunities

When to MigrateWhen to Migrate

Page 16: Migrating to Microsoft .NET and SQL Server:   Why and How

How to MigrateHow to Migrate??

Page 17: Migrating to Microsoft .NET and SQL Server:   Why and How

Platform(Windows)

Platform(e.g UNIX, Windows)

OracleDatabase SQL Server

Applicationse.g Java, Oracle Forms

Data Access LogicData Access Logic

Applicationse.g Java, C#,VB

Data Access LogicData Access Logic

Database MigrationDatabase Migration

Page 18: Migrating to Microsoft .NET and SQL Server:   Why and How

OracleOracle SQL ServerSQL Server

MOVEMOVE::SchemaSchemaDataData

TRANSFORMTRANSFORM::Basic SQL statements Basic SQL statements Stored proceduresStored proceduresTriggers Triggers Views Views Records Records Cursors Cursors Sequences Sequences User-defined functionsUser-defined functionsSystem-defined functionsSystem-defined functionsPackaged functions Packaged functions TablesTablesIndexesIndexesConstraintsConstraintsDefaultsDefaultsSlide from: Introducing SSMA: Migrating from Oracle to SQL Server

with 80% Less Effort, Kevin Ashby, Microsoft.

The Database Migration The Database Migration ProblemProblem

Page 19: Migrating to Microsoft .NET and SQL Server:   Why and How

SQL Server Migration Assistant

A free tool for migrating the Oracle database to MS SQL Server 2000 or 2005

Migrates Schema, Data and database Objects

Support for Oracle 8, Oracle 8i, Oracle 9i, Oracle 10g

Available at: www.microsoft.com/sql/migration/default.mspx

Microsoft SSMAMicrosoft SSMA

Page 20: Migrating to Microsoft .NET and SQL Server:   Why and How

OracleOracleDBDB

M.S. SQLM.S. SQLServerServer

-Connect to Oracle-Connect to Oracle-Load all database objects-Load all database objects

SchemasSchemasFunctionsFunctionsPackagesPackagesProceduresProceduresSequencesSequencesTablesTablesViewsViews

-Create a workspace-Create a workspace-Create an assessment report-Create an assessment report-Convert the objects, script to -Convert the objects, script to

create DBcreate DB-Migrate the data-Migrate the data

-Connect to SQL Server-Connect to SQL Server-Create the database-Create the database

CatalogsCatalogsSchemasSchemasSequence EmulatorsSequence EmulatorsTablesTablesViewsViewsFunctionsFunctions

-Populate the tables-Populate the tables-Install the constraints and -Install the constraints and

triggerstriggers

Slide from: Introducing SSMA: Migrating from Oracle to SQL Server with 80% Less Effort, Kevin Ashby, Microsoft.

SSMA OverviewSSMA Overview

Page 21: Migrating to Microsoft .NET and SQL Server:   Why and How

Slide from: Introducing SSMA: Migrating from Oracle to SQL Server with 80% Less Effort, Kevin Ashby, Microsoft.

SSMA OverviewSSMA Overview

Page 22: Migrating to Microsoft .NET and SQL Server:   Why and How

Assess the Assess the Migration ProjectMigration Project

Migrate SchemaMigrate Schema& Business Logic & Business Logic

Test the Test the Converted DBConverted DB

Convert theConvert theApplicationApplication

Test, Integrate Test, Integrate & Deploy& Deploy

Migrate Data Migrate Data

Migration AnalyzerMigration Analyzer

Schema MigratorSchema Migrator

Data MigratorData Migrator

Migration TesterMigration Tester

Slide from Microsoft, “Oracle to SQL Server Migration”

SSMA OverviewSSMA Overview

Page 23: Migrating to Microsoft .NET and SQL Server:   Why and How

AgendaAgendaMigrationMigration

What?What?Why?Why?When?When?How?How?

Database MigrationDatabase MigrationMicrosoft SSMAMicrosoft SSMA

Applications MigrationApplications MigrationWhy Automated and not Manual? Why Automated and not Manual? Strategies of Automated Application Migration Strategies of Automated Application Migration solutionssolutionsATX Software Forms2NetATX Software Forms2Net

Page 24: Migrating to Microsoft .NET and SQL Server:   Why and How

Platform(Windows)

Platform(e.g UNIX, Windows)

OracleDatabase SQL Server

Applicationse.g Java, Oracle Forms

Data Access LogicData Access Logic

Applicationse.g Java, C#,VB

Data Access LogicData Access Logic

Application MigrationApplication Migration

Page 25: Migrating to Microsoft .NET and SQL Server:   Why and How

Why Automated and Why Automated and Not Manual?Not Manual?

“The significant problems we face cannot be solved at the same level of thinking we were at when we created them”Albert Einstein

Page 26: Migrating to Microsoft .NET and SQL Server:   Why and How

Tetris Image from http://www.dis.uniroma1.it/~demetres/Leonardo/ImageGallery/images/tetris.gif

TetrisTetris

Page 27: Migrating to Microsoft .NET and SQL Server:   Why and How

Game Goal:Complete puzzle so that each row, each column and each 3x3 box contain the numbers between 1 and 9 once and only once

7 3 8 23 8 6 5

1 5 9 43 5 9

9 6 4 7 2 58 2 15 9 4 6

2 4 8 71 6 7 3

37

1

SudokuSudoku

Page 28: Migrating to Microsoft .NET and SQL Server:   Why and How

Start from “scratch”2D Thinking“Fit for purpose”, “Forward”

thinkingMany possible solutionsErrors made can be corrected

later

Start with “constraints”3D ThinkingAttention to detailOnly one solutionErrors are

catastrophic

Tetris Vs SudokuTetris Vs Sudoku

Page 29: Migrating to Microsoft .NET and SQL Server:   Why and How

Start from “scratch”2D Thinking“Fit for purpose”, “Forward”

thinkingMany possible solutionsErrors made can be corrected

later

Start with “constraints”3D ThinkingAttention to detailSolution space

limitedError correction is more difficult

Development

Migration

Development Vs MigrationDevelopment Vs Migration

Page 30: Migrating to Microsoft .NET and SQL Server:   Why and How

Development Vs MigrationDevelopment Vs MigrationTetris Playing != Sudoku Playing

Development Projects != Migration Projects

Good at Tetris does not mean good at Sudoku

Good Development skills does not mean good Migration skills!

Page 31: Migrating to Microsoft .NET and SQL Server:   Why and How

Why Automated?Why Automated?1. Faster

a well-trained programmer can correctly transform 160 lines of code per day, a 100 000 lines system would need 625 man dayswith tools the conversion can be done more than 90% faster

2. Cheapereach manually rewritten line costs from $6 to $23tools can reduce costs more than 50%

Page 32: Migrating to Microsoft .NET and SQL Server:   Why and How

Why Automated?Why Automated?3. Better budget and time estimations

4. Less RiskNon-uniform or inconsistent migration results Higher probability of errors due to increased human intervention Building up the required expertise on both the source and target platforms can be difficult, time consuming and costly. IBM study on software development projects:

55% exceeded projected budget.68% took longer to complete than expected.88% had to be substantially redesigned.

Page 33: Migrating to Microsoft .NET and SQL Server:   Why and How

Why Automated?Why Automated?Automated Solutions Counter-Arguments

1. Result Legibility-UnderstandabilityOften a psychological effect

sense of loosing code ownershipsense of loosing code control

2. Maintability3. “Tools generate only the easy part…leaving the

rest for humans”

We will be discussing 2, 3 later…

Page 34: Migrating to Microsoft .NET and SQL Server:   Why and How

Strategies of Strategies of Automated Migration Automated Migration SolutionsSolutions

Page 35: Migrating to Microsoft .NET and SQL Server:   Why and How

Strategies of Automated Strategies of Automated SolutionsSolutionsAllAll automated migration solutions have to deal automated migration solutions have to deal

with:with:The The resolution of the resolution of the semantic gapsemantic gap between the between the pair of source-target pair of source-target languages/platformslanguages/platforms

The wider the gap, the less feasible, more complex and less The wider the gap, the less feasible, more complex and less automated the migrationautomated the migration

The The resolution of the resolution of the dependenciesdependencies on on functionalities provided by default by the source platformfunctionalities provided by default by the source platformprogramming idiosyncrasies of the source platform.programming idiosyncrasies of the source platform.

Page 36: Migrating to Microsoft .NET and SQL Server:   Why and How

Strategies of Automated Strategies of Automated SolutionsSolutions

Strategies Recommendations - Consequences

““1 – 1” Syntactic Mapping1 – 1” Syntactic Mapping- Good if semantic gap minimum e.g Java to - Good if semantic gap minimum e.g Java to C#C#- Acceptable if the software architecture of - Acceptable if the software architecture of the source application is satisfactorythe source application is satisfactory

Structural and SemanticStructural and Semantic - Recommended when improvements on the - Recommended when improvements on the architectural structures are necessaryarchitectural structures are necessary

Heavyweight Support LibrariesHeavyweight Support Libraries- High percentage of automation- High percentage of automation- Maintability is a nightmare, high TCO- Maintability is a nightmare, high TCO- Good for fast but “dirty” migration- Good for fast but “dirty” migration

Lightweight Support LibrariesLightweight Support Libraries - Less automation- Less automation- Better Quality, significantly less TCO- Better Quality, significantly less TCO

Page 37: Migrating to Microsoft .NET and SQL Server:   Why and How

AgendaAgendaMigrationMigration

What?What?Why?Why?When?When?How?How?

Database MigrationDatabase MigrationMicrosoft SSMAMicrosoft SSMA

Applications MigrationApplications MigrationWhy Automated and not Manual? Why Automated and not Manual? Strategies of Automated Application Migration Strategies of Automated Application Migration solutionssolutionsATX Software Forms2NetATX Software Forms2Net

Page 38: Migrating to Microsoft .NET and SQL Server:   Why and How
Page 39: Migrating to Microsoft .NET and SQL Server:   Why and How

Add-in to Microsoft Visual Studio

Automatically converts Oracle Forms 4.5, 5.0, 6i to .NET

C# ASP.NET or Windows Forms (i.e Smart Client)

75% to 95% rate of conversion

Forms2Net OverviewForms2Net Overview

Page 40: Migrating to Microsoft .NET and SQL Server:   Why and How

Data Layer Connectivity: Data Access Components on top of Microsoft ADO.NET

Support for both the Oracle and SQL Server database

Complements the Microsoft SQL Server Migration Assistant for Oracle to SQL Server database migration.

Forms2Net OverviewForms2Net Overview

Page 41: Migrating to Microsoft .NET and SQL Server:   Why and How

Forms2Net OverviewForms2Net Overview

Page 42: Migrating to Microsoft .NET and SQL Server:   Why and How

Forms2Net OverviewForms2Net Overview

Page 43: Migrating to Microsoft .NET and SQL Server:   Why and How

Forms2Net OverviewForms2Net Overview

Page 44: Migrating to Microsoft .NET and SQL Server:   Why and How

Forms2Net OverviewForms2Net Overview

Page 45: Migrating to Microsoft .NET and SQL Server:   Why and How

Forms2Net OverviewForms2Net Overview

Page 46: Migrating to Microsoft .NET and SQL Server:   Why and How

1. Structural and Semantic Approach instead of “1-1”

Oracle Forms structures transformed to the Model-View-Controller (MVC) architectural pattern.

Oracle-style code structures and idiosyncrasies are not maintained

the resulting code follows the Microsoft recommended .NET best-practices.

Forms2Net StrategyForms2Net Strategy

Page 47: Migrating to Microsoft .NET and SQL Server:   Why and How

2. Lightweight Support Libraries and 100% pure .NET code

100% .NET based: produces or uses components that are integrated with the Microsoft Visual Studio .NET environment.

Developers in place can use all the functionalities of Visual Studio.

Forms2Net StrategyForms2Net Strategy

Page 48: Migrating to Microsoft .NET and SQL Server:   Why and How

3. Well-documented migration process Tool-generated migration guide for easier code

completion and possible directions to be taken

Tool does not impose on the .NET developers decisions that belong to them

Link to the Migration Guide

Forms2Net tasks

Full Migation Report

Forms2Net StrategyForms2Net Strategy

Page 49: Migrating to Microsoft .NET and SQL Server:   Why and How

Back to Automated Tools Counter ArgumentsMaintability, Quality and Lower TCO

Forms2Net does not preserve Oracle Forms style/idiosyncrasies100% .NET code, no “black-box” extension libraries.NET best-practices and integration to Visual Studio

“Tools generate only the easy part…leaving the rest for humans”

Forms2Net achieves a close to 100% conversion rate for the most difficult parts, the business logic and the interface definition

Forms2Net StrategyForms2Net Strategy

Page 50: Migrating to Microsoft .NET and SQL Server:   Why and How

ResourcesResourcesOn ATX Software

http://www.atxsoftware.com

On Forms2Net (Material, Free Trial Version, Proof of Concept)

http://forms2net.atxsoftware.com

Page 51: Migrating to Microsoft .NET and SQL Server:   Why and How

Assess the Assess the Migration ProjectMigration Project

Migrate SchemaMigrate Schema& Business Logic & Business Logic

Test the Test the Converted DBConverted DB

Convert theConvert theApplicationApplication

Test, Integrate Test, Integrate & Deploy& Deploy

Migrate Data Migrate Data

SSMA Migration AnalyzerSSMA Migration Analyzer

SSMA Schema MigratorSSMA Schema Migrator

SSMA Data MigratorSSMA Data Migrator

SSMA Migration TesterSSMA Migration Tester

Putting It All TogetherPutting It All Together

Forms2Net AnalyzerForms2Net Analyzer

Forms2NetForms2Net

++Visual Visual StudioStudio

Page 52: Migrating to Microsoft .NET and SQL Server:   Why and How

Bottom LineBottom LineMigrating to Microsoft .NETMigrating to Microsoft .NET

Reduced Costs on Applications developmentReduced Costs on the DatabaseSuperb Future Positioning

Manual Migrations are not recommended…Automated application migration solutions can follow different strategies…and different results…Automated Migration Solutions are already available, reducing time, cost and risk

SQL Server Migration Assistant for OracleForms2Net

Page 53: Migrating to Microsoft .NET and SQL Server:   Why and How

Questions?Questions?

Page 54: Migrating to Microsoft .NET and SQL Server:   Why and How

AppendixAppendix

Page 55: Migrating to Microsoft .NET and SQL Server:   Why and How

Oracle FormsOracle Forms::a 4GL database application developmenta 4GL database application development environmentenvironment that provides graphical components with easy Oracle that provides graphical components with easy Oracle database bindingdatabase binding and and WYSIWYG WYSIWYG properties.properties.a runtime environment where these database a runtime environment where these database applications run. applications run. PProvides transaction control, record rovides transaction control, record locking, validationlocking, validation and so on… and so on…PL/SQLPL/SQL, a, an interpreted procedural languagen interpreted procedural language

designed primarily for database accessdesigned primarily for database access also contains features for working with the graphical side of also contains features for working with the graphical side of Oracle Oracle Forms applications. Forms applications.

implicit implicit services and logic that the Forms applications services and logic that the Forms applications code relies oncode relies on

Triggers associated with data blocks, executed when certain Triggers associated with data blocks, executed when certain events occur e.g POST-INSERT triggerevents occur e.g POST-INSERT triggerDatabase Record LocksDatabase Record Locks

Oracle Forms OverviewOracle Forms Overview

Page 56: Migrating to Microsoft .NET and SQL Server:   Why and How

OracleDatabase

Presentation LogicPresentation Logic

Business LogicBusiness Logic

Data manipulationData manipulation

PPLL//SSQQLL

Client Tier DB Tier

Oracle Forms ArchitectureOracle Forms Architecture

Page 57: Migrating to Microsoft .NET and SQL Server:   Why and How

A Windows component for building and running A Windows component for building and running software applications (Web, Smart-Client) and software applications (Web, Smart-Client) and WS.WS.

CCommon ommon LLanguage anguage RRuntimeuntimeruntimeruntime servicesservicesdevelopment timedevelopment time featuresfeatures

Set of class librariesSet of class libraries

Part of the Microsoft .NET technology that also includes:Part of the Microsoft .NET technology that also includes:• Developer toolsDeveloper tools (Visual Studio Team System) (Visual Studio Team System)• SSet of serverset of servers (Windows Server, BizTalk, SQL (Windows Server, BizTalk, SQL

Server)Server)• The Windows operating system and Microsoft Office The Windows operating system and Microsoft Office

ToolsTools

http://msdn.microsoft.com/netframework/technologyinfo/overview/

Microsoft .NET OverviewMicrosoft .NET Overview