27
1 Source cartography & modeling Source technical objects (DDL, programs, jcl,..) DATABASE MIGRATION The general method Target base re-engineering Data migration Programs adaptation Source base model Target base structures Target base loaded Application migrated

1 Source cartography & modeling Source technical objects (DDL, programs, jcl,..) DATABASE MIGRATION The general method Target base re-engineering Data

Embed Size (px)

Citation preview

1

Source cartography & modeling

Source technical objects(DDL, programs, jcl,..)

DATABASE MIGRATIONThe general method

Target base re-engineering

Data migration

Programs adaptation

Source base model

Target base structures

Target base loaded

Application migrated

2

Usage

0

20

40

60

80

100

120

0 20 40 60 80 100 120 140 160 180 200

Procédures

Tabl

esCARTOGRAPHY & MODELING

cartography – Galois connections

3

CARTOGRAPHY & MODELINGmodeling – logical model

4

1-1

0-N

TYPE_1

1-1

0-N

TYPE

1-1

0-N

TP-PERS

1-1

0-N

SUC-TP

1-1

0-N

SUC-ENS

1-1

0-N

SUC-CPR

1-1

0-NSUC-ASU

1-1

0-N

SUC-AS

1-1

0-N

SIE-SUC

1-1

0-N

SIE-RS

1-1

0-N

SIE-ASS

0-N

1-1

SI-IN

1-1

0-N

SI-AD

1-1

0-N

RUE_1

1-1

0-N

RUE-CP

1-1

0-N

RS-PERS

1-1

0-N

RP-NU

1-1

0-N

PER_PAD

1-1

0-1

PERS-POP

1-1

0-1

PERS-HORS-ENTITE

1-1

0-N

PAYS_1

1-1

0-N

PAYS

1-1

0-N

NUM-QUARTIER

1-1

0-N

NU-SIT

1-1

0-NNU-AD

1-1

1-1

INF_INF

1-1

0-N

CUR_RUE

0-N

0-N

CURATEURS-NN

1-1

0-N

CUR-PERS

1-1

0-N

CODE-PROF

1-10-N C

1-1

0-NADR_RUE_1

1-1

0-N

ADR_RUE

P

TYPE-PERSONNETELEPHONEDATE-DEBUT

DEB-AADEB-MMDEB-JJ

DATE-FINFIN-AAFIN-MMFIN-JJ

TI-889DATE-001

DT-001-AADT-001-MMDT-001-JJ

DATE-005DT-005-AADT-005-MMDT-005-JJ

020-CP020-CR020-NUMERO020-APPART

TI-886NO-BREVETLIDHEURE

H-HHH-MMH-SS

CHT-ADRESSEDATE-LISTE

DL-AAAADL-MMDL-JJ

COMMENT

TI-401TYPEDOSSIERCOMMENT

TI-320CODESTADEAUTORITELEVEENUMERO-IDF

IDF-1IDF-JJIDF-MMIDF-AAIDF-2

COMMENT

TI-306CPNUMREGIMECOMMENT

TI-305CPNUMINSCOMMENT

TI-303DECISION

AAMMJJ

COMMENTTI-302CODEPRISEINSCOMMENT

TI-252DATE-DEB

DEB-AADEB-MMDEB-JJ

DATE-FINFIN-AAFIN-MMFIN-JJ

COMMENT

TI-246COMMENT

TI-214ORGCPCODE-RUENUMEROAPPARTCOMMENT

TI-213TYPENATDATE

AAMMJJ

NOMCODE[15-15] array

COMMENT

TI-212CODELIEUCOMMENT

TI-211TYPECOMMENT

TI-210CODEEPCOMMENT

TI-208PNNPNN-R

PNN-1PNN-2PNN-3PNN-4

COMMENT

TI-207INSCODECOMMENT

TI-206K1ORGK2INSLIEUTERDATE

AAMMJJ

REFOC-A

OCCODRECORGORIGCOMMENT

TI-205TYPECOMMENT

TI-202COMMENT

TI-200NUMEROCOMMENT

TI-199NUMERODELIVRTYPEINSORDREPROROGPEREMPTION

AAMMJJ

OLD-NUMEROCOMMENT

TI-198NUMEROECHEANCE

AAMMJJ

COMMENT

TI-197NUMEROECHEANCE

AAMMJJ

COMMENT

TI-194TYPEATTRIBNUMERO-E

NUMEROCATEGORIES

CAT[9-9] arrayINSBOITEMEDICFIN-DECHEANCE

AAMMJJ

COMMENTTI-193

NUM-CARTENUM-SUI

NUM-SUITE1NUM-SUITE2

CATEGORIESCATCAT-R

CAT1CAT2CAT3CAT4

INSDATE

AAMMJJ

COMMENT

TI-192CODEINSCOMMENT

TI-191TYPEINSPAYSNUMEROFIN-DECHEANCE

AAMMJJ

COMMENT

TI-190TITRECOMMENT

TI-161COMMENT

TI-160CLASSESITUATIONINSMATRICULEUNITECOMMENT

TI-153CODEINSDATE

AAMMJJ

T1T2NN-T

NN-E[10-10] arrayNN-N

COMMENT

TI-152CODESIECLENN-N

NNIDENTCOMMENT

TI-151COMMENT

TI-150ACTERSINSCPCOMMENT

TI-140CODE

TI-132CODEINSDIPLTERRITCODADRSIECLENN-N

NNIDENTCOMMENT

TI-131CATINSPAYSDATE-DECH

AAMMJJ

COMMENT

TI-130INSSITUATIONCATEGDATE-DECH

AAMMJJ

COMMENT

TI-123CODEINSDATE-ENREG

DE-AADE-MMDE-JJ

SSNN-N

NNCODES-N

CODE-N[6-6] arrayNOTAIRE

NOT-INSNOT-IDENTITE

COMMENT

TI-122CODEINSCOMMENTAIRE

TI-121INSLIEU

TI-120CODE-ETACTERSINSCPSSNN-N

NNCODES

CODE[6-6] array41-51

INSC-DATEINSC-AAINSC-MMINSC-JJ

TRIB-DATETRIB-AATRIB-MMTRIB-JJ

TRIB-INSTRIB-CODE

COMMENTAIRE

TI-111REPRESJUSTIFCOMMENT

TI-110TYPENBR-NNINSCPSS1NN1SS2NN2ACTERSCOMMENTAIRE

COMMENT0COMMENT1-R

CODES1CODE1[6-6] array

COMMENT1COMMENT2-R

CODES2-1CODE2-1[6-6] array

CODES2-2CODE2-2[6-6] array

COMMENT2

TI-101DATE

AAMMJJ

CODECOMMENT

TI-100REG-SUPPLCPCOMMENT

TI-073CATEGNUMEROCOMMENT

TI-070CDEPRFSTATUTCOMMENT

TI-031NATACQUIINSCPOSPAYSCOMMENT

TI-028CODEDATE

AAMMJJ

COMMENT

TI-027COMMENT

TI-026COMMENT

TI-024COMMENT

TI-023ADRESSECOMMENT

TI-022CPOSTDIPPAYSADRESSECOMMENT

TI-021INSCPCOMMENT

TI-020CPCODE-RUENUMEROAPPARTSORTIE

SO-AASO-MMSO-JJ

RENUMCODE-ANCDATE-ANC

ANC-AAANC-MMANC-JJ

COMMENT

TI-019INSCPCODE-RUENUMEROAPPARTCOMMENT

TI-018PAYSADRESSECOMMENT

TI-013TYPE-MODIFDATE-MODIF

AAMMJJ

COMMENT

TI-012CDENOBLECOMMENT

TI-011COMMENT

TI-010USUELNOM

CODE[15-15] array

TI-008DATE

AAMMJJ

COMMENT

TI-007CODEDATE

AAMMJJ

COMMENT

TI-006PAYSLIEUCOMMENT

TI-005INSCOMMENT

TI-004CODECOMMENT

TI-003CODECOMMENT

TI-002SSNNCOMMENT

TI-001INSFUSIONADRCOMCOMMENTPROPRO-DATE

PRO-AAPRO-MMPRO-JJ

SUCCURSALESSUPERFICIENBR-PERSNUMINSTALLATION

INS-AAINS-MMINS-JJ

SUPPRESSIONSUP-AASUP-MMSUP-JJ

CESSATIONCES-AACES-MMCES-JJ

TERMINEFERMETURE

LUNDIMARDIMERCREDIJEUDIVENDREDISAMEDIDIMANCHE

COMMENTAIRE-1COMMENTAIRE-2COMMENTAIRE-3MAG-PRIVNUITid: SIE-SUC.SIEGE-SOCIAL

NUM

SITUATIONSTYPESALUBRESIT-DEBUT

SID-AASID-MMSID-JJ

SIT-FINSIF-AASIF-MMSIF-JJ

SAL-DEBUTSAD-AASAD-MMSAD-JJ

SAL-FINSAF-AASAF-MMSAF-JJ

COMMENT1COMMENT2id: NU-SIT.NUMEROS

SIT-DEBUT

SIGNALETIQUESSIECLENUMNAT

CONTROLAAMMJJNN

CDMAJDATE-MAJ

MAJ-AAMAJ-MMMAJ-JJ

LID-MAJACTE-NAISSLIEU-NAISSDATE-SANG

SA-AASA-MMSA-JJ

GR-SANGMENAGEPRESENCESSUPPRESSid: NUMNAT

SIEGE-SOCIALRC

RC-1RC-2RC-3

ABREGETVA

TVA-NUMTVA-CD

COMMENTAIRECOMMENTAIRE-1COMMENTAIRE-2COMMENTAIRE-3

DATE-MAJMAJ-AAMAJ-MMMAJ-JJ

LID-MAJRADIATION

RAD-AARAD-MMRAD-JJ

FAILLITEFAI-AAFAI-MMFAI-JJ

CESSATIONCES-AACES-MMCES-JJ

EXTRAITEXTRAIT-NOEXTRAIT-AAAA

id: RC

RUES-POPCPRUEDATE

MMJJ

LIBELLECLE-TRIHISTOCLE

CPRUE

id: RUECP

RUES-HORS-ENTITECPRUEDATE

AAMMJJ

LIBELLECLE-TRIHISTOCLE

CPRUE

id: RUECP

RAISON-SOCIALEDATE-DEBUT

DEB-AADEB-MMDEB-JJ

DATE-FINFIN-AAFIN-MMFIN-JJ

LIBELLEid: SIE-RS.SIEGE-SOCIAL

DATE-DEBUT

QUARTIERRUENUM-DEBNUM-FINTYPE

PERSONNES-HORS-ENTITENN

TESTAAMMJJNUM

CDNOMPRENOMSNUMEROINDEXCOMMENTid: NN

PERSONNES

at-lst-1: PERS-HORS-ENTITE.PERSONNES-HORS-ENTITEPERS-POP.SIGNALETIQUES

PADICOCLECLE-TRIINS-PILOTEFUSION

FU-AAFU-MMFU-JJ

LIBELLENATIONALITEJOLI-PAYSid: CLE

NUMEROSNUMEROAPPARTid: RP-NU.RUES-POP

APPARTNUMERO

LIBELLESRNCLELIBELLEid: CLE

INFORMATIONSCODECREATION

CR-AACR-MMCR-JJ

NUMEROSUPPRESSION

SU-AASU-MMSU-JJ

id: SI-IN.SIGNALETIQUESNUMEROCREATIONCODE

INFO

FEC-PROFESSIONSCODELIBELLEid: CODE

FE-LIBELLESCLELIBELLEid: CLE

ENSEIGNEDATE-DEBUT

DEB-AADEB-MMDEB-JJ

DATE-FINFIN-AAFIN-MMFIN-JJ

LIBELLEid: SUC-ENS.SUCCURSALES

DATE-DEBUT

CURATEURSTELEPHONENUMEROINDEXCOMMENTAIRE

CODES-POSTAUXCLEINSLIBELLECLE-TRIid: CLE

CODE-PROFESSIONDATE-DEBUT

DEB-AADEB-MMDEB-JJ

DATE-FINFIN-AAFIN-MMFIN-JJ

P-Aid: SUC-CPR.SUCCURSALES

DATE-DEBUT

ASSOCIATIONSDATE-DEBUT

DEB-AADEB-MMDEB-JJ

DATE-FINFIN-AAFIN-MMFIN-JJ

RCRC-1RC-2RC-3

COMMENTAIREid: SUC-AS.SUCCURSALES

DATE-DEBUT

ADRESSESENTREE

EN-AAEN-MMEN-JJ

SORTIESO-AASO-MMSO-JJ

id: NU-AD.NUMEROSENTREE

id': SI-AD.SIGNALETIQUESENTREE

ADRESSE-SUCCURSALEDATE-DEBUT

DEB-AADEB-MMDEB-JJ

DATE-FINFIN-AAFIN-MMFIN-JJ

NUMEROINDEXTELEPHONEid: SUC-ASU.SUCCURSALES

DATE-DEBUT

ADRESSE-SIEGE-SOCIALDATE-DEBUT

DEB-AADEB-MMDEB-JJ

DATE-FINFIN-AAFIN-MMFIN-JJ

NUMEROINDEXINDEX-TYPETELEPHONEADRESSEid: SIE-ASS.SIEGE-SOCIAL

DATE-DEBUT

CARTOGRAPHY & MODELINGmodeling – semantic model

5

121015091249# attributes

11012873# relations

105112112# entity types

Semantic model

Logical model

Physical model

MODELINGsynthesis

6

Source cartography & modeling

Source technical objects(DDL, programs, jcl,..)

DATABASE MIGRATIONThe general method

Target base re-engineering

Data migration

Programs adaptation

Source base model

Target base structures

Target base loaded

Application migrated

7

Relational modelDB design Semantic model

adding a primary ky to each table (good practise)

relations foreign keys

relations N-N intermediate table + foreign key

redefines separate tables + foreign keys

composed attributes decomposition

multivaluated attributes separated tables + foreign keys OR attributes list

name treatment : “-” “_”, reserved words

DATA BASE RE-ENGINEERING

8

DATABASE RE-ENGINEERING redefines

9

DATABASE RE-ENGINEERING transformations

10

Standard SQL or

DB2

Oracle

SQL Server

MySQL

PostgreSql

DATABASE RE_ENGINEERINGgeneration of target base descriptive objects

11

1841121015091249# attributes

144 (FK)11012873# relations

147105112112# entity type

Relational model

Semantic model

Logical model

Physical model

DATABASE RE-ENGINEERING synthesis

12

Source logical modelSource physical model

RECREC-KEY: char (5)REC-DATA: char (100)id: REC-KEY

RECREC-KEY: char (5)REC-DATA: compound (100)

REC-DATA1: char (20)REC-DATA2: char (30)FILLER: char (10)REC-DATA3: char (40)

id: REC-KEY

Target relational model

TABKEY: char (5)DATA1: char (20)DATA2: char (30)DATA3: char (40)id: KEY

The DB-MAIN transformation functions are maintaining the links between the models evolution steps

DATABASE RE-ENGINEERING mapping

13

Source cartography & modeling

Source technical objects(DDL, programs, jcl,..)

DATABASE MIGRATIONThe general method

Target base re-engineering

Data migration

Programs adaptation

Source base model

Target base structures

Target base loaded

Application migrated

14

Unloading model creation :

physical model

DB-key

“mvs” meta-properties

DATA MIGRATIONunloading

15

Processing components generation :

PSB

PSB compilation Jcl

Unloading Cobol program

programs compilation JCL

file creation and execution JCL

DATA MIGRATIONunloading

16

Data validation and transformations generation :

type of records description (attributes, lenght, format, …)

programs to validate the conformity of the source data to the target model ( null char…)

transcoding programs for EBCDIC to ASCII conversion, add EOL characters, …

execution scripts scheduling the opertions sequence

DATA MIGRATIONdata validation

17

Components generation for loading the target base :

CTL file for the loading utility of DB2, SQL*Loader, …

Shell scripts

DATA MIGRATION data loading

18

DATA MIGRATIONmigration validation – functional

counters

Generation of checksum onto source and target environments

19

DATA MIGRATIONdation de la migration – data validation – content comparison

process

20

DATA MIGRATION migration validation – content

comparison

Common model

21

DATA MIGRATION migration valiation – content comparison

22

DATA MIGRATION migration validation – content

comparison

23

Source cartography & modeling

Source technical objects(DDL, programs, jcl,..)

DATABASE MIGRATIONThe general method

Target base re-engineering

Data migration

Programs adaptation

Source base model

Target base structures

Target base loaded

Application migrated

24

Modification of the data and files “declarations” Generated code insert Replacement of the DML verbs by calls to the acces modules

COBOLProgram

RelationalDB

IMSDB

WRXXX.cob WRYYY.cob WRZZZ.cob

COBOLProgram’

Transformation

FETCHCALL

CALL

DELETECALL

INSERT

UPDATE

CALL “CBLTDLI” USING …

EXEC DLI … USING …

PROGRAMS ADAPTATION access modules generation

25

Access modules generation ( in this case C++) Language dependant on the target environment

(cobol, java, …)

PROGRAMS ADAPTATION access modules generation

26

Some DML verbs are not automatically resolved :

ex: within IMS

SSA not qualified : (GU, GN, GNP without segment name)PROCOPT parameter in the PSB

within IDS2FIND within AREA without record name

PROGRAMS ADAPTATION access modules generation

27

FIND FIRST USING ART-KEYB.

FIND NEXT RONTB WITHIN DUMMY-RONTB

EVALUATE DB-STATUS

WHEN "0000000"

GET RONTB

...

**ReVeR: FIND FIRST USING ART-KEYB

MOVE 390000 TO REC-CALL-ID OF WR-LOG

PERFORM WR-FFXU-ART-KEYB

**ReVeR: FIND NEXT RONTB WITHIN DUMMY-RONTB

MOVE 37060000 TO REC-CALL-ID OF WR-LOG

PERFORM WR-FNRW-RONTB-DUMMY-RONTB

EVALUATE DB-STATUS

WHEN "0000000"

**ReVeR: GET RONTB

MOVE 37070000 TO REC-CALL-ID OF WR-LOG

PERFORM WR-GR-RONTB

...

PROGRAMS ADAPTATION programs source code transformation