Migrating to Microsoft.NET and SQL Server: Why and How Georgios Koutsoukos ATX Software April 2006.
-
Upload
sophia-warren -
Category
Documents
-
view
220 -
download
0
Transcript of Migrating to Microsoft.NET and SQL Server: Why and How Georgios Koutsoukos ATX Software April 2006.
Migrating to Microsoft .NET Migrating to Microsoft .NET and SQL Server: and SQL Server:
Why and HowWhy and How
Georgios KoutsoukosGeorgios Koutsoukos
ATX SoftwareATX Software
April 2006April 2006
AgendaAgenda
MigrationMigrationWhat?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 Studio
the wide variety of .NET languagesthe wide variety of .NET languages
more opportunities to more opportunities to outsourceoutsource
more .NET developers and more .NET developers and expertiseexpertise available available
many software many software supplierssuppliers and and off-the-shelf off-the-shelf solutionssolutions available available
less platform hetereogenityless platform hetereogenity across the across the organizationorganization
costs of licensescosts of licenses
more efficient HR managementmore efficient HR management
less training costsless training costs
The Applications DrivenThe Applications Driven
Long-term positioningLong-term positioningeasier easier application integrationapplication integration ->> partners, ->> partners, mergersmergers
more more adaptableadaptable and and reusablereusable applications - applications ->> new customer services, users functionality>> new customer services, users functionality
leading platform for leading platform for Web ServicesWeb Services and and SOASOA
full 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 Server
BizTalk Server 2006BizTalk Server 2006
SQL Server 2005SQL Server 2005
Visual 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 Server
Base License Costs* Base License Higher in Oracle
Extensions*
Managebility Not included Included
BI Not included Included
High Availability Not included Inlcuded
Additional Core Not included Included
Maintenance and Support: Higher Costs in Oracle
Platform Standardization: HR reuse and training costs ->> Organization specific
Better 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 Driven
From Oracle to SQL ServerFrom Oracle to SQL Server
The Database DrivenThe Database Driven
From 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 Driven
From 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 Priorities
BudgetBudget
Organizational PoliticsOrganizational Politics
Market TrendsMarket Trends
Other? 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…costscosts
effort 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 objectsSchemasSchemas
FunctionsFunctions
PackagesPackages
ProceduresProcedures
SequencesSequences
TablesTables
ViewsViews
-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 databaseCatalogsCatalogs
SchemasSchemas
Sequence EmulatorsSequence Emulators
TablesTables
ViewsViews
FunctionsFunctions
-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
AgendaAgenda
MigrationMigrationWhat?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 2
3 8 6 5
1 5 9 4
3 5 9
9 6 4 7 2 5
8 2 1
5 9 4 6
2 4 8 7
1 6 7 3
37
1
SudokuSudoku
Start from “scratch”
2D Thinking
“Fit for purpose”, “Forward” thinkingMany possible solutions
Errors made can be corrected later
Start with “constraints”3D Thinking
Attention to detail
Only one solution
Errors are catastrophic
Tetris Vs SudokuTetris Vs Sudoku
Start from “scratch”
2D Thinking
“Fit for purpose”, “Forward” thinkingMany possible solutions
Errors made can be corrected later
Start with “constraints”3D Thinking
Attention to detail
Solution space limitedError correction is more
difficult
Development
Migration
Development Vs MigrationDevelopment Vs Migration
Development Vs MigrationDevelopment Vs Migration
Tetris 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. Fastera 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-Understandability
Often a psychological effect
sense of loosing code ownershipsense of loosing code control
2. Maintability
3. “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 platform
programming 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
AgendaAgenda
MigrationMigrationWhat?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 Arguments
Maintability, Quality and Lower TCO
Forms2Net does not preserve Oracle Forms style/idiosyncrasies
100% .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
ResourcesResources
On ATX Softwarehttp://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 development
Reduced Costs on the Database
Superb 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 Oracle
Forms2Net
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 languagedesigned 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 trigger
Database 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 RRuntimeuntime
runtimeruntime servicesservices
development 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