• Aucun résultat trouvé

Strategies for Data Reengineering

N/A
N/A
Protected

Academic year: 2021

Partager "Strategies for Data Reengineering"

Copied!
22
0
0

Texte intégral

(1)

RESEARCH OUTPUTS / RÉSULTATS DE RECHERCHE

Author(s) - Auteur(s) :

Publication date - Date de publication :

Permanent link - Permalien :

Rights / License - Licence de droit d’auteur :

Bibliothèque Universitaire Moretus Plantin

Institutional Repository - Research Portal

Dépôt Institutionnel - Portail de la Recherche

researchportal.unamur.be

University of Namur

Strategies for Data Reengineering

Henrard, Jean; Hick, Jean-Marc; Hainaut, Jean-Luc

Publication date:

2003

Link to publication

Citation for pulished version (HARVARD):

Henrard, J, Hick, J-M & Hainaut, J-L 2003, Strategies for Data Reengineering..

General rights

Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain

• You may freely distribute the URL identifying the publication in the public portal ?

Take down policy

If you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediately and investigate your claim.

(2)

Laboratory of Database Application Engineering

Laboratoire d’Ingénierie des Bases de Données

www.info.fundp.ac.be/libd

LIBD

Strategies for Data Reengineering

Jean Henrard, Jean-Marc Hick,

Philippe Thiran, Jean-Luc Hainaut

FNRS contact day on «Software (re-)engineering »

Louvain-la-Neuve, 22 may 2003

(3)

LIBD

Plan

z

Introduction

z

Problem statement

z

Reengineering strategies

z

2 dimensions

z

3 strategies

z

Conclusion

(4)

LIBD

Introduction

z

Legacy system =

z

large and old programs build around legacy DBMS

z

vital to the organization

z

significantly resists modifications and changes

z

expensive to maintain

z

Solution : migrate to new platform and

technologies

z

expensive and complex process

z

Incremental strategy is less risky

(5)

LIBD

Problem statement

z

Data reengineering =

deriving a new database from a legacy

database and adapting the software

components

z

the functionalities of the system do not change

z

Three main steps:

z

schema conversion

z

data conversion

(6)

LIBD

Problem statement

z

Schema conversion

z

translation of the legacy schema

into equivalent schema in the new technology

z

DBRE + database design

z

Data conversion

z

migration of the data instances from the legacy

system to the new one

(7)

LIBD

Problem statement

z

Program modification

z

modification of the programs so that they access

the new DB instead of the legacy one

z

functionalities, programming language, user

interface unchanged

z

complex process that relies on the schema

conversion

(8)

LIBD

Reengineering strategies

z

2 dimensions

z

database dimension (schema migration)

z

program dimension (program modification)

z

Data conversion is directly dependent on the

database dimension

(9)

LIBD

Database migration strategies

z

Physical conversion (D1):

z translate to the closer construct into the target DMS

(e.g. 1 file ⇒ 1 table)

z no semantic interpretation

z cheap but poor quality DB

DDL analysis Coding

Sch. conversion

SPS TPS

(10)

LIBD

Database migration strategies

z

Conceptual conversion (D2)

z recovering the semantic (conceptual sch) - DBRE

z developing the new DB from the conceptual sch

z good quality and documented DB but expensive

DDL analysis Coding Sch. refinement SPS Source DMS-DDL Conceptualization CS code data DB design TPS Target DMS-DDL DBRE

(11)

LIBD

Database migration strategies

z

Schema conversion = schema transformation

z

History = chain of transformations

z

Mapping between the source (SPS) and

target (TPS) physical schemas

= SPS-to-TPS for physical migration

(12)

LIBD

Program modification strategies

z

Wrappers (P1)

z wrappers encapsulate the new database

y data wrapper =

y data model conversion y semantic conversion y functionality simulation

y “inverse” wrapper: simulate the legacy data interface on the new DB

y ex: uses COBOL read, write for accessing SQL data y SPS -- TPS mapping ⇒ automated generation of

wrapper

z programs use legacy data access logic

z program logic not changed

(13)

LIBD

Program modification strategies

z

Statement rewriting (P2)

z legacy DMS-DML ⇒ target DMS-DML

ex: replace COBOL file access statement by SQL statement

z rewriting the access statements (new DMS-DML)

y each legacy DML statement must be located

and replaced by equivalent statements in the new DML y SPT--PTS mapping ⇒ automatic program modification

z program logic not changed

(14)

LIBD

Program modification strategies

z

Logic rewriting (P3)

z program rewritten to use the new DMS-DML power

y explicitly accesses new data

y takes advantage of the new DML

z logic of the program is changed

y requires a deep understanding of the program

(15)

LIBD

Reengineering strategies (summary)

Database (schema)

conceptual physical

Program

logic statements wrappers

<D2,P1>

<D2,P2>

<D2,P3>

<D1,P1>

<D1,P2>

<D1,P3>

z

Six strategies

z

<D1,P3> useless

(16)

LIBD

Wrapper strategy <D2,P1>

z modification of the legacy code is minimal,

new DB well structured and optimized w.r.t. the new DMS

z good solution for complete migration:

first the DB and later the programs... Illustration

READ PRODUCT KEY IS PROD-CODE INVALID KEY GO TO ERR-123. DELETE PRODUCT END-DELETE. CALL WR-ORD-MNGMT USING "READKEY","PRODUCT", "PROD-CODE", PRODUCT,WR-STATE. IF STATUS OF WR-STATE NOT= 0 GO TO ERR-123.

CALL WR-ORD-MNGMT

USING "DELETE ","PRODUCT", "",PRODUCT,WR-STATE.

(17)

LIBD

Statement rewriting strategy <D1,P2>

z

Illustration

MOVE CUS-CODE TO ORD-CUSTOMER. START ORDER KEY >= ORD-CUSTOMER. MOVE 0 TO END-FILE.

PERFORM READ-ORD UNTIL END-FILE = 1. READ-ORD SECTION.

BEG-ORD.

READ ORDER NEXT

AT END MOVE 1 TO END-FILE GO TO EXIT-ORD.

<<processing current ORD record>> EXIT-ORD.

EXIT.

EXEC SQL declare cursor ORD_GE_K1 for select ORD_CODE,ORD_CUSTOMER,ORD_DETAIL from ORDER where ORD_CODE >= :ORD-CODE order by ORD_CODE END-EXEC.

. . .

EXEC SQL declare cursor ORD_GE_K2 for select ORD_CODE,ORD_CUSTOMER,ORD_DETAIL

from ORDER where ORD_CUSTOMER >= :ORD-CUSTOMER ORDER BY ORD_CUSTOMER END-EXEC.

...

MOVE CUS-CODE TO ORD-CUSTOMER. EXEC SQL open ORD_GE_K2 END-EXEC. MOVE "ORD_GE_K2" to ORD-SEQ.

IF ORD-SEQ = "ORD_GE_K1"

EXEC SQL fetch ORD_GE_K1 into :ORD-CODE, :ORD-CUSTOMER,:ORD-DETAIL END-EXEC ELSE IF ORD-SEQ = "ORD_GE_K2"

EXEC SQL fetch ORD_GE_K2 into :ORD-CODE, :ORD-CUSTOMER,:ORD-DETAIL END-EXEC ELSE IF ...

END-IF.

IF SQLCODE NOT = 0

MOVE 1 TO END-FILE GO TO EXIT-ORD. <<processing current ORD record>>

(18)

LIBD

Statement rewriting strategy <D1,P2>

z modification of the legacy code is minimal,

DB not restructured, mimics the legacy DB

(19)

LIBD

Logic rewriting strategy <D2,P3>

z

Illustration

DISP-ORD.

READ ORDER KEY IS ORD-CODE INVALID KEY

GO TO ERR-ORD-NOT-FOUND. PERFORM DISP-ORD-CUS-NAME. ...

DISP-ORD-CUS-NAME.

MOVE ORD-CUSTOMER TO CUS-CODE READ CUSTOMER

INVALID KEY

DISPLAY "ERROR: UNKOWN CUST" NOT INVALID KEY

DISPLAY "ORD-CODE: ” ORD-CODE NAME.

DISP-ORD. EXEC SQL

SELECT O.CODE, C.NAME INTO :ORD-CODE, :NAME FROM ORDER O, CUSTOMER C WHERE O.CUS_CODE = C.CODE AND O.CODE = :ORD-CODE END-EXEC. IF SQLCODE = 0 DISPLAY "ORD-CODE: » ORD-CODE NAME ELSE GO TO ERR-ORD-NOT-FOUND.

(20)

LIBD

Logic rewriting strategy <D2,P3>

z program is rewritten (long, difficult, risky)

new DB well structured and optimized w.r.t. the new DMS programs optimized w.r.t. the new DMS

z good solution if no program migration planned, only the

(21)

LIBD

Conclusion

Strategy Database migration Program conversion Quality

D2, P1 complete DBRE, expensive cheap, fully automated, wrapper semi-automatically generated good quality DB, the programs

unchanged (call to the wrapper) D1, P2 cheap, fully automated cheap, fully automated poor quality DB, the programs

unchanged (call the new DML) D2, P3 complete DBRE, expensive very expensive, requires a deep understanding of the programs good quality DB, programs semi-renovated

(22)

LIBD

Conclusion

Strategy Performance Maintenance Evolution

D2, P1 Poor: legacy logic,

mismatch, emulation

like the legacy system, but the semantics of the DB is known and data access simulated by the wrapper

easier, the new

functions can directly access to the new DB

D1, P2 Poor: legacy logic,

mismatch

like the legacy system, the semantics of the DB is not recovered but data access are simulated by the new DML

difficult, the DB

simulates the legacy one

D2, P3 Good: new logic,

matching

easier, the semantics of the DB is known

easier, the new

functions can directly access to the new DB

Références

Documents relatifs

It consists of three phases: a \static&#34; description of the program under study, a \dynamic&#34; description, based on the measurement and the analysis of its execution on a

Top: in blue, ex- tracted standard star spectrum in pseudo-ADU of BD+33d2642; in or- ange, flux-calibrated CalSpec spectrum of the same star convolved at the SEDM wavelength

Les sources propres peuvent non seulement contribuer à la protection du climat, mais sont aussi fondamentales dans la réduction de la pauvreté et le développement d’un pays..

Within the harmonic approxi- mation the potential energy surface has a simple analytical form, so with this model, it is possible to directly separate the contributions of the

We have generated the radical cation of cyclobutenedione, 1 •+ , by X-irradiation of an Ar matrix containing 1, and observed its spontaneous decay to the radical cation of bisketene

DFTXpUDQWGHFH IDLW XQ VWDWXW PpGLFDO /HV VDJHVIHPPHV SUHQQHQW DORUV XQH SODFH GH SOXV HQ SOXV

littérature pédiatrique concernant des enfants et des adolescents atteints de la varicocèle, tout en rapportant notre expérience avec les cas de notre série, dont les

La mortalité opératoire dans notre série était beaucoup plus élevée chez les patients du groupe I (13,5% contre 5,2%, p &lt; 0,001) ; c’est le retentissement logique