Wrapper-Based Evolution of Legacy Information Systems From the article by P. Thiran, J. Hainaut, G. Houben and D Benslimane Presentation by: Alex Saville,

Slides:



Advertisements
Similar presentations
Relational Database and Data Modeling
Advertisements

Limitations of the relational model 1. 2 Overview application areas for which the relational model is inadequate - reasons drawbacks of relational DBMSs.
Chapter 5 Normalization of Database Tables
Relational Database Design UNIT II 1. 2 Advantages of Using Database Systems Centralized control of a firm’s data Redundancy can be reduced (avoid keeping.
BUSINESS DRIVEN TECHNOLOGY Plug-In T4 Designing Database Applications.
Data Modeling and Database Design Chapter 1: Database Systems: Architecture and Components.
™ Suggestions for Semantic Web Interfaces to Relational Databases Mike Dean W3C Workshop on RDF Access to Relational Databases Cambridge,
Monday, 08 June 2015Dr. Mohamed Osman1 What is Database Administration A high level function (technical Function) that is responsible for ► physical DB.
Chapter 6 Methodology Conceptual Databases Design Transparencies © Pearson Education Limited 1995, 2005.
The Relational Database Model:
1 Lecture 13: Database Heterogeneity Debriefing Project Phase 2.
Physical design. Stage 6 - Physical Design Retrieve the target physical environment Create physical data design Create function component implementation.
Modern Systems Analysis and Design Third Edition
Chapter 4 Relational Databases Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall 4-1.
Jun Peng Stanford University – Department of Civil and Environmental Engineering Nov 17, 2000 DISSERTATION PROPOSAL A Software Framework for Collaborative.
COMP 5138 Relational Database Management Systems Semester 2, 2007 Lecture 8A Transaction Concept.
Modeling & Designing the Database
Chapter 1: The Database Environment
Chapter 17 Methodology – Physical Database Design for Relational Databases Transparencies © Pearson Education Limited 1995, 2005.
Chapter 4 Relational Databases Copyright © 2012 Pearson Education 4-1.
Database Management COP4540, SCS, FIU An Introduction to database system.
LOGICAL DATABASE DESIGN
APPENDIX C DESIGNING DATABASES
Chapter 14 & 15 Conceptual & Logical Database Design Methodology
Introduction to Databases
Overview of the Database Development Process
Database Design, Application Development, and Administration, 5 th Edition Copyright © 2011 by Michael V. Mannino All rights reserved. Chapter 2 Introduction.
Chapters 17 & 18 Physical Database Design Methodology.
Data Warehousing Seminar Chapter 5. Data Warehouse Design Methodology Data Warehousing Lab. HyeYoung Cho.
DataBase Testing. Objectives What is DB Testing ? Testing at the Data Access Layer Scope of DB Testing Need for Testing DB Objects Common Problems that.
ITEC224 Database Programming
ITEC 3220M Using and Designing Database Systems
1 Introduction to Database Systems. 2 Database and Database System / A database is a shared collection of logically related data designed to meet the.
Methodology - Conceptual Database Design Transparencies
Software School of Hunan University Database Systems Design Part III Section 5 Design Methodology.
Chapter 9 Designing Databases Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
9/14/2012ISC329 Isabelle Bichindaritz1 Database System Life Cycle.
1 Chapter 15 Methodology Conceptual Databases Design Transparencies Last Updated: April 2011 By M. Arief
Physical Database Design Chapter 6. Physical Design and implementation 1.Translate global logical data model for target DBMS  1.1Design base relations.
Chapter 11 CS Introduction to Database Systems.
© 2007 by Prentice Hall 1 Introduction to databases.
Lecture 12 Designing Databases 12.1 COSC4406: Software Engineering.
10/3/2012ISC329 Isabelle Bichindaritz1 Logical Design.
CSC271 Database Systems Lecture # 29. Summary: Previous Lecture  The normalization process  1NF, 2NF, 3NF  Inference rules for FDs  BCNF.
Database Management Systems Introduction. In the Beginning… Customer Program 1.
Methodology - Conceptual Database Design. 2 Design Methodology u Structured approach that uses procedures, techniques, tools, and documentation aids to.
1/26/2004TCSS545A Isabelle Bichindaritz1 Database Management Systems Design Methodology.
DATABASE MGMT SYSTEM (BCS 1423) Chapter 5: Methodology – Conceptual Database Design.
1 n 1 n 1 1 n n Schema for part of a business application relational database.
Conceptual Database Design
Methodology - Conceptual Database Design
INFO1408 Database Design Concepts Week 15: Introduction to Database Management Systems.
Ch 14 QQ T F 1.A database table consists of fields and records. T F 2.Good data validation techniques can help improve data integrity. T F 3.An index is.
Part4 Methodology of Database Design Chapter 07- Overview of Conceptual Database Design Lu Wei College of Software and Microelectronics Northwestern Polytechnical.
Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix.
SimDB Implementation & Browser IVOA InterOp 2008 Meeting, Theory Session 1. Baltimore, 26/10/2008 Laurent Bourgès This work makes use of EURO-VO software,
Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin APPENDIX C DESIGNING DATABASES APPENDIX C DESIGNING DATABASES.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
IMS 4212: Constraints & Triggers 1 Dr. Lawrence West, Management Dept., University of Central Florida Stored Procedures in SQL Server.
Databases Flat Files & Relational Databases. Learning Objectives Describe flat files and databases. Explain the advantages that using a relational database.
Oracle eBusiness Financials R12 Oracle Receivables Functional Overview TCS Oracle Practice.
Logical Design 12/10/2009GAK1. Learning Objectives How to remove features from a local conceptual model that are not compatible with the relational model.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 12 Designing.
Decision Analysis Fall Term 2015 Marymount University School of Business Administration Professor Suydam Week 10 Access Basics – Tutorial B; Introduction.
Oracle Subledger Accounting
© The McGraw-Hill Companies, All Rights Reserved APPENDIX C DESIGNING DATABASES APPENDIX C DESIGNING DATABASES.
Modern Systems Analysis and Design Third Edition
Teaching slides Chapter 8.
Chapter 12 Designing Databases
Presentation transcript:

Wrapper-Based Evolution of Legacy Information Systems From the article by P. Thiran, J. Hainaut, G. Houben and D Benslimane Presentation by: Alex Saville, Espen Skogen and Sharon Stanley

Introduction Overview –Why do we need wrappers? Meeting The Challenge –How do they work? The Solution –Schemas and Mapping The Methodology Conclusion

Overview

Why do we need wrappers? RBS DBMSNatWest DBMS RBS DataNatWest Data

The Tale of Mr Ludd and Mr Moddy (An Analogy for Wrappers)

Mr Ludd Oldie = manual transmissionNewby = automatic transmission Magic Sunglasses

Mr Moddy Oldie = manual transmissionNewby = automatic transmission

The Challenge

Legacy Data Legacy System We start with a legacy system reading from and writing to a legacy database management system (DBMS). Few explicit constraints (i.e. built into DBMS setup) Many implicit constraints (i.e. not built into DBMS setup) Data integrity checks, validation etc Legacy application Application logic Legacy DBMS (limited data integrity, limited validation) The Challenge

Legacy Data Legacy DBMS (limited data integrity, limited validation) Legacy System Modern Data Modern System We will try to put the new application into a modern system, accessing the legacy DBMS. No implicit constraints The new application is designed using modern techniques, but again, is unsuitable for the legacy DBMS because it does not include data integrity checks, validation – i.e. the implicit constraints that accessing the legacy DBMS calls for. New application Application logic Existing Modern application Application logic Data integrity checks, validation etc Legacy application Application logic Modern DBMS (includes data integrity, includes validation) The Challenge KABOOM !!!

Legacy System Data integrity checks, validation etc So we put data integrity checks and validation into the new application too. This will work fine as long as the new application accesses the legacy DBMS, although it is still using legacy-style techniques. Modern System Data integrity checks, validation etc Legacy application Application logic New application Application logic New application Application logic Legacy Data Legacy DBMS (limited data integrity, limited validation) Data integrity checks, validation etc Existing Modern application Application logic Modern Data Modern DBMS (includes data integrity, includes validation) The Challenge

Legacy System Data integrity checks, validation etc Modern System Data integrity checks, validation etc If we later wanted to migrate the new application to use the modern DBMS, we would have extra processing which would be redundant at best, and at worst, incompatible data structures (bringing the risk of data corruption), which would mean extra work to ensure compatibility. Data integrity checks, validation etc Legacy application Application logic New application Application logic New application Application logic Existing Modern application Application logic Legacy Data Legacy DBMS (limited data integrity, limited validation) Modern Data Modern DBMS (includes data integrity, includes validation) The Challenge

The Proposed Solution: The Wrapper

Legacy System R/W Wrapper 1 We will build our new application with a separate wrapper. It is used when reading from and writing to the legacy DBMS. Because it is used for reading and writing, it is termed a R/W wrapper (read/write) Data integrity checks, validation etc Legacy application Application logic New application Application logic Data integrity checks, validation etc Model Conversion Legacy Data Legacy DBMS (limited data integrity, limited validation)

If we want to read from or write to the legacy DBMS from the new application in our modern system as well, we can reuse the wrapper from our legacy system. Modern SystemLegacy System R/W Wrapper 1 Data integrity checks, validation etc Legacy application Application logic New application Application logic Data integrity checks, validation etc Model Conversion Legacy Data Legacy DBMS (limited data integrity, limited validation) R/W Wrapper 1 New application Application logic Data integrity checks, validation etc Model Conversion Existing Modern application Application logic Modern Data Modern DBMS (includes data integrity, includes validation)

Modern SystemLegacy System Data integrity checks, validation etc Legacy application Application logic New application Application logic R/W Wrapper 2 Model Conversion Legacy Data Legacy DBMS (limited data integrity, limited validation) New application Application logic Existing Modern application Application logic Modern Data Modern DBMS (includes data integrity, includes validation)

The Wrapper Interface How does a application communicate with the wrapper? How does the wrapper communicate with the legacy DBMS?

R/W Wrapper Wrapper Schema Legacy DBMS (limited data integrity, limited validation) Wrapper queries / updates Database queries / updates The communication protocol for communication with the wrapper A communication with the wrapper schema The communication protocol for communication with the legacy DBMS A communication with the legacy schema Legacy Schema R/W Wrapper for Accessing Legacy DBMS

Schemas (diagrams taken from article) Reference Name Address Account Customer Acc: Reference Number Customer Account Date Amount Product Order Acc: Customer Physical Schema The Physical Schema can be determined by analysing the SQLDDL. Note that the Physical Schema only contains explicit constraints (e.g. uniqueness due to indexes). In this database, there are two tables: Customer and Order. Customer is indexed on the column Reference. Order is indexed on the column Customer.

Schemas (diagrams and examples taken from article) Order id: Number ref: Customer fd: Customer Account Logical Schema Reference Name[0-1] Address Account Customer id: Reference Street Zip City The next stage is to determine the logical schema. This is derived through analysis of the code and data. For example, the code might check that Customer Number exists on Customer, prior to inserting an Order. This tells us that Customer Number is an implicit foreign key. Data analysis might hint at Customer being functionally dependent on Account due to the otherwise seemingly redundant attribute. Number Customer Account Date Amount Product Reference Name Address Account Customer Acc: Reference Number Customer Account Date Amount Product Order Acc: Customer Physical Schema

Reference Name Address Account Customer Acc: Reference Number Customer Account Date Amount Product Order Acc: Customer Physical Schema Schemas (diagrams taken from article) Number Customer Date Amount Product Order id: Number ref: Customer Wrapper Schema Reference Name[0-1] Address Street Zip City Account Customer id: Reference Order id: Number ref: Customer fd: Customer Account Logical Schema Reference Name[0-1] Address Account Customer id: Reference Street Zip City Number Customer Account Date Amount Product Finally, we must create the wrapper schema from the logical schema. The logical schema must comply with how the wrapper needs to see its data Any redundant data must be hidden from the wrapper schema, while still being managed. e.g. Account occurred both tables, so one occurrence is redundant. Therefore it has been grouped with Customer, not Order.

Mapping (diagrams taken from article) INSERT INTO Order (Number, Customer, Date, Amount, Product) VALUES (: Number, :Customer, :Date, :Amount, :Product); Number Customer Date Amount Product Order id: Number ref: Customer Wrapper Schema Reference Name[0-1] Address Street Zip City Account Customer id: Reference Wrapper Update Reference Name[0-1] Address Account Customer Acc: Reference Number Customer Account Date Amount Product Order Acc: Customer Physical Schema If exists (SELECT * FROM Order WHERE Number = :Number) or not exists (SELECT * FROM Customer WHERE Reference = :Customer) then return error; else SELECT Account INTO :Account FROM Customer WHERE Reference = :Customer INSERT INTO Order (Number, Customer, Date, Amount, Product) VALUES (: Number, :Customer, :Date, :Amount, :Product); endif; Database Query/Update

Mapping (diagrams taken from article) Reference Name[0-1] Address Account Customer Acc: Reference Number Customer Account Date Amount Product Order Acc: Customer Physical Schema If exists (SELECT * FROM Order WHERE Number = :Number) or not exists (SELECT * FROM Customer WHERE Reference = :Customer) then return error; else SELECT Account INTO :Account FROM Customer WHERE Reference = :Customer INSERT INTO Order (Number, Customer, Date, Amount, Product) VALUES (: Number, :Customer, :Date, :Amount, :Product); endif; Database Query/Update 1. Implicit Constraint Management (the wrapper checks the constraints implied by the implicit identifier (exists) and implicit foreign keys (not exists)). 2. Data Error Management (the wrapper reports on violation of implicit constraints). 3. Redundancy Management (the wrapper assigns the values for redundant data from the source data (Account) 4. Query translation – of the wrapper update against its schema to updates on the physical schema We will now examine the database query/update that has resulted.

Wrapping Up – A Summary of the Basic Architecture of a R/W Wrapper Query / update analysis Error reporting Query / update and data translation Implicit constraint control Security* Concurrency and transaction management* * Out of scope for the article, and therefore for this presentation.

Generic Methodology Database reverse engineering –No up to date documentation Wrapper generation –Mapping to functions

Conclusion Relatively smooth transition Only one area of coding Allows any program to read and update Controls the integrity of data Relatively time and cost effective

References P. Thiran, J. Hainaut, G. Houben and D Benslimane (2006), Wrapper-Based Evolution of Legacy Information Systems, ACM Transactions on Software Engineering and Methodology, Vol 15, No 4, Pages Dr. David Corman, The Boeing Company (2001), The IULS Approach to Software Wrapper Technology for Upgrading Legacy Systems accessed October Dean, J., Li, L. (2002), Issues in Developing Security Wrapper Technology for COTS Software Products cnrc.gc.ca/publications/nrc-44924_e.html, accessed October 2007http://iit-iti.nrc- cnrc.gc.ca/publications/nrc-44924_e.html Kelly, R., Fritsch, M., (2003), Improved effectiveness with information consolidation - Creating information transparency and consistency accessed October 2007http://download.oracle.com/owparis_2003/40266.doc

Questions?