Upload
neka
View
93
Download
0
Tags:
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
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
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
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
Why to MigrateWhy to Migrate??
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?
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
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
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
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
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
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
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
MigrateMigrate? When?? When?
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?
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
How to MigrateHow to Migrate??
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
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
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
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
Slide from: Introducing SSMA: Migrating from Oracle to SQL Server with 80% Less Effort, Kevin Ashby, Microsoft.
SSMA OverviewSSMA Overview
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
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
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
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
Tetris Image from http://www.dis.uniroma1.it/~demetres/Leonardo/ImageGallery/images/tetris.gif
TetrisTetris
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
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
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
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!
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%
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.
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…
Strategies of Strategies of Automated Migration Automated Migration SolutionsSolutions
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.
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
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
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
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
Forms2Net OverviewForms2Net Overview
Forms2Net OverviewForms2Net Overview
Forms2Net OverviewForms2Net Overview
Forms2Net OverviewForms2Net Overview
Forms2Net OverviewForms2Net Overview
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
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
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
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
ResourcesResourcesOn ATX Software
http://www.atxsoftware.com
On Forms2Net (Material, Free Trial Version, Proof of Concept)
http://forms2net.atxsoftware.com
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
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
Questions?Questions?
AppendixAppendix
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
OracleDatabase
Presentation LogicPresentation Logic
Business LogicBusiness Logic
Data manipulationData manipulation
PPLL//SSQQLL
Client Tier DB Tier
Oracle Forms ArchitectureOracle Forms Architecture
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