Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Entity–attribute–value model wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Tandem Computers 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
Open Database Connectivity wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
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