Download ATX Software Forms2Net

Document related concepts

Entity–attribute–value model wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

Tandem Computers wikipedia , lookup

Database wikipedia , lookup

Microsoft Access wikipedia , lookup

Database model wikipedia , lookup

Relational model wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Team Foundation Server wikipedia , lookup

Clusterpoint wikipedia , lookup

SQL wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Oracle Database wikipedia , lookup

PL/SQL wikipedia , lookup

Transcript
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?
Strategies of Automated Application Migration solutions
ATX Software Forms2Net
What: Migration Overview
Platform
(e.g UNIX, Windows)
Platform
(Windows)
Applications
Applications
e.g Java, Oracle Forms
e.g Java, C#,VB
Data Access Logic
Data Access Logic
Oracle
Database
SQL Server
Why to Migrate?
Why To Migrate?
Two Reasons:
Cost Savings
Future Positioning
Two Scenarios:
The Applications Driven
The Database Driven
The Applications Driven
Costs
significantly increased development productivity
Visual Studio
the wide variety of .NET languages
more opportunities to outsource
more .NET developers and expertise available
many software suppliers and off-the-shelf solutions
available
less platform hetereogenity across the organization
costs of licenses
more efficient HR management
less training costs
The Applications Driven
Long-term positioning
easier application integration ->> partners, mergers
more adaptable and reusable applications ->> new
customer services, users functionality
leading platform for Web Services and SOA
full support for variety of access channels (Browsers,
Mobile devices etc)
Microsoft’s IT vision and unified platform
Windows Server
BizTalk Server 2006
SQL Server 2005
Visual Studio 2005
The Applications Driven
Bottom Line
Original
Application
Rapid Migration
Migrated
Application
Legacy Platform
Re-Architecture and
Evolve
Agile
Application
.NET Platform
- Less Costs
- Future Agility
The migration result is the starting point for subsequent evolution
The Database Driven
From Oracle to SQL Server
TCO Categories
Base License Costs*
Extensions*
Oracle
Base License
SQL Server
Higher in Oracle
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
*Currently
The Database Driven
From Oracle to SQL Server
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 Driven
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 Driven
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
Migrate? When?
When To Migrate?
The 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.”
When are the weather conditions favorable in IT?
IT Priorities
Budget
Organizational Politics
Market Trends
Other?
The right direction (.NET) and the strong winds (migration
solutions) are there…
When to Migrate
A later migration…
Size
“Erosion”
“Pollution”
“Isolation”
“Ignorant Surgery”
Implies more…
costs
effort
loss of opportunities
How to Migrate?
Database Migration
Platform
(e.g UNIX, Windows)
Platform
(Windows)
Applications
Applications
e.g Java, Oracle Forms
e.g Java, C#,VB
Data Access Logic
Data Access Logic
Oracle
Database
SQL Server
The Database Migration Problem
MOVE:
Schema
Data
TRANSFORM:
Oracle
Slide from: Introducing SSMA: Migrating from Oracle to SQL Server
with 80% Less Effort, Kevin Ashby, Microsoft.
Basic SQL statements
Stored procedures
Triggers
Views
Records
Cursors
Sequences
User-defined functions
System-defined functions
Packaged functions
Tables
Indexes
Constraints
Defaults
SQL Server
Microsoft SSMA
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
SSMA Overview
Oracle
DB
-Connect to Oracle
-Load all database objects
Schemas
Functions
Packages
Procedures
Sequences
Tables
Views
-Create a workspace
-Create an assessment report
-Convert the objects, script to create DB
-Migrate the data
M.S. SQL
Server
-Connect to SQL Server
-Create the database
Catalogs
Schemas
Sequence Emulators
Tables
Views
Functions
-Populate the tables
-Install the constraints and triggers
Slide from: Introducing SSMA: Migrating from Oracle to SQL Server
with 80% Less Effort, Kevin Ashby, Microsoft.
SSMA Overview
Slide from: Introducing SSMA: Migrating from Oracle to SQL Server
with 80% Less Effort, Kevin Ashby, Microsoft.
SSMA Overview
Migration Analyzer
Assess the
Migration Project
Schema Migrator
Migrate Schema
& Business Logic
Data Migrator
Migration Tester
Migrate Data
Test the
Converted DB
Convert the
Application
Slide from Microsoft, “Oracle to SQL Server Migration”
Test, Integrate
& Deploy
Agenda
Migration
What?
Why?
When?
How?
Database Migration
Microsoft SSMA
Applications Migration
Why Automated and not Manual?
Strategies of Automated Application Migration solutions
ATX Software Forms2Net
Application Migration
Platform
(e.g UNIX, Windows)
Platform
(Windows)
Applications
Applications
e.g Java, Oracle Forms
e.g Java, C#,VB
Data Access Logic
Data Access Logic
Oracle
Database
SQL Server
Why Automated and 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
Tetris Image from http://www.dis.uniroma1.it/~demetres/Leonardo/ImageGallery/images/tetris.gif
Sudoku
7 3
8 1 2
3 8 6 5 7
1
5
9 3 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
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
Tetris Vs Sudoku
Start from “scratch”
Start with “constraints”
2D Thinking
3D Thinking
“Fit for purpose”, “Forward” thinking
Attention to detail
Many possible solutions
Only one solution
Errors made can be corrected later
Errors are catastrophic
Development Vs Migration
Start from “scratch”
Start with “constraints”
2D Thinking
3D Thinking
“Fit for purpose”, “Forward” thinking
Attention to detail
Many possible solutions
Solution space limited
Errors made can be corrected later
Error correction is more
difficult
Development 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?
1. Faster
a well-trained programmer can correctly transform 160
lines of code per day, a 100 000 lines system would
need 625 man days
with tools the conversion can be done more than 90%
faster
2. Cheaper
each manually rewritten line costs from $6 to $23
tools can reduce costs more than 50%
Why Automated?
3. Better budget and time estimations
4. Less Risk
Non-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?
Automated Solutions Counter-Arguments
1. Result Legibility-Understandability
Often a psychological effect
sense of loosing code ownership
sense 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 Automated
Migration Solutions
Strategies of Automated Solutions
All automated migration solutions have to deal with:
The resolution of the semantic gap between the pair of
source-target languages/platforms
The wider the gap, the less feasible, more complex and less
automated the migration
The resolution of the dependencies on
functionalities provided by default by the source platform
programming idiosyncrasies of the source platform.
Strategies of Automated Solutions
Strategies
Recommendations - Consequences
“1 – 1” Syntactic Mapping
- Good if semantic gap minimum e.g Java to C#
- Acceptable if the software architecture of the
source application is satisfactory
Structural and Semantic
- Recommended when improvements on the
architectural structures are necessary
Heavyweight Support Libraries
- High percentage of automation
- Maintability is a nightmare, high TCO
- Good for fast but “dirty” migration
Lightweight Support Libraries
- Less automation
- Better Quality, significantly less TCO
Agenda
Migration
What?
Why?
When?
How?
Database Migration
Microsoft SSMA
Applications Migration
Why Automated and not Manual?
Strategies of Automated Application Migration solutions
ATX Software Forms2Net
Forms2Net Overview
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 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 Overview
Forms2Net Overview
Forms2Net Overview
Forms2Net Overview
Forms2Net Overview
Forms2Net Strategy
1. Structural and Semantic Approach instead of
“1-1”
Oracle Forms structures transformed to the Model-ViewController (MVC) architectural pattern.
Oracle-style code structures and idiosyncrasies are not
maintained
the resulting code follows the Microsoft recommended .NET
best-practices.
Forms2Net 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 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
Full Migation Report
Link to the Migration Guide
Forms2Net tasks
Forms2Net 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
Resources
On ATX Software
http://www.atxsoftware.com
On Forms2Net (Material, Free Trial Version,
Proof of Concept)
http://forms2net.atxsoftware.com
Putting It All Together
SSMA Migration Analyzer
Assess the
Migration Project
SSMA Schema Migrator
Migrate Schema
& Business Logic
SSMA Data Migrator
SSMA Migration Tester
Migrate Data
Forms2Net Analyzer
Forms2Net
Test the
Converted DB
Convert the
Application
+Visual Studio
Test, Integrate
& Deploy
Bottom Line
Migrating 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?
Appendix
Oracle Forms Overview
Oracle Forms:
a 4GL database application development environment that
provides graphical components with easy Oracle database
binding and WYSIWYG properties.
a runtime environment where these database applications run.
Provides transaction control, record locking, validation and so
on…
PL/SQL, an interpreted procedural language
designed primarily for database access
also contains features for working with the graphical side of Oracle
Forms applications.
implicit services and logic that the Forms applications code
relies on
Triggers associated with data blocks, executed when certain events
occur e.g POST-INSERT trigger
Database Record Locks
Oracle Forms Architecture
Client Tier
Presentation Logic
Business Logic
Data manipulation
DB Tier
P
L
/
S
Q
L
Oracle
Database
Microsoft .NET Overview
A Windows component for building and running
software applications (Web, Smart-Client) and WS.
Common Language Runtime
runtime services
development time features
Set of class libraries
http://msdn.microsoft.com/netframework/technologyinfo/overview/
Part of the Microsoft .NET technology that also includes:
•
Developer tools (Visual Studio Team System)
•
Set of servers (Windows Server, BizTalk, SQL Server)
•
The Windows operating system and Microsoft Office Tools