wrapper-based evolution of legacy information system philippe thiran et al fcculties university...

22
Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Da me de la Paix

Upload: carmel-burns

Post on 17-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix

Wrapper-Based Evolution of Legacy Information System

Philippe Thiran et al

Fcculties University Notre-Dame de la Paix

Page 2: Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix

Outline

Why Data Wrappers? Building R/W Data Wrappers R/W Wrapper Architecture Generating Data Wrapper

Page 3: Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix

Why Data Wrappers?

Architectural shifts: from centralized to distributed and cooperative paradigm

Data consistency in legacy architecture Explicit constraints: guaranteed legacy system Implicit constraints: data consistency is

guaranteed by client application code Example:

PR field of record type ORDER refer a definite PRODUCT record

Implicit constraints: to create or modify an ORDER, the referred PRODUCT should be first checked

ORDER…PR……

Product…………

Page 4: Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix

Why Data Wrappers?

Plug a new application component into such a legacy architecture

How to validate the implicit data property?

Forward Wrappers: Translate data and queries

from the legacy data model Take charge of the validation

logic

Page 5: Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix

Why Data Wrappers?

Reuse a legacy component in a modern system

Semantic mismatch: many important constraints and structures are ignored by data management system

Backward Wrappers: Query and update the new data Data integrity is ensured by both

the new and legacy app

Page 6: Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix

What is a Data Wrapper?

Component inserted between the legacy database and the application component to Extend the lifetime of existing system Address the heterogeneity by providing a standard and

common interface Allows to transparently incorporate new capabilities Provides a smooth path to a step-by-step modernization of

a complex legacy system Interface of a Data Wrapper

A wrapper schema A common query language

Page 7: Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix

Outline

Why Data Wrappers? Building R/W Data Wrappers R/W Wrapper Architecture Generating Data Wrapper

Page 8: Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix

Bridge the Semantic Gap

Data Wrapper: a new application component that query and update the contents of a legacy database Physical schema: explicit structures and constraints Logical schema: explicit and implicit structures, accessed

by the wrapper By accessing the logical schema, data wrappers address

the implicit constraints Reject the updates that violate the implicit constraints

Page 9: Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix

Building R/W Wrapper

Wrapper Schema Definition Recover explicit

constraints Enriched with

implicit constraints by reverse engineering techniques Program

analysis Data analysis

Page 10: Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix

Building R/W Wrapper

Mapping definition Transform

structures Transform

constraints Example of

update statement

Page 11: Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix

Outline

Why Data Wrappers? Building R/W Data Wrappers R/W Wrapper Architecture Generating Data Wrapper

Page 12: Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix

R/W Wrapper Architecture

Query/update analysis

Error reporting Query/update and

data translation Implicit constraint

control Security Concurrency and

transaction management

Page 13: Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix

Specification of a Wrapper

GER: a wide spectrum entity-relationship model Generate sub-models

Retain necessary parts in the sub-model Rename the constructs Assemble the valid parts

Advantage: All inter-model transformations equal to intra-model process A limit set of primitive operators is sufficient to model most

database engineering processes Enriched Model:

Encompass the physical, logical and conceptual models Define a set of constructs comprising the structures and

constraints

Page 14: Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix

Model and Schema Specification Constructs: entity types, attribute, relationship types Built-in Constraints

Page 15: Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix

Transformational Mapping Spec Transform a schema from one model to another, req

uiring specific operators Inverse transformation

T2(T1(C))=C Transformation sequence

S1-to-S2=(T1 T2 ... Tn): S2=T2(T1(S1)) S2-to-S1=(Tn-1 T2-1 T1-1): S1=S2-to-S1(S2)

Transformation categories T+: augment the semantics of the schema T=: Preserve the semantics of the schema T-: Reduce the semantics of the schema

Implicit constraints and schema Interpretation

Page 16: Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix

Outline

Why Data Wrappers? Building R/W Data Wrappers R/W Wrapper Architecture Generating Data Wrapper

Page 17: Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix

Generating Wrapper

Database reverse engineering Yield all the necessary information to specify and develop a

wrapper Semi-hardcoded wrapper

A model layer and a database layer Schema transformation-based wrapper generation

T+ is used to specify the implicit constraint assertions instead of T=

Operational CASE support Schema processing, mapping processing, and wrapper gen

eration

Page 18: Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix

Database Reverse Engineering

Results: Wrapper schema Schema

transformation sequence

Process Physical extraction Logical extraction Wrapper schema

derivation Mapping definition

Page 19: Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix

Wrapper Generation

Page 20: Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix

Wrapper Generation

The results from DBRE: Legacy physical schema Legacy logical schema Wrapper schema

LS-to-PS mapping is formally defined, used to code the implicit constraint control component

Structural part of WS-to-LS is used to code the query/update translator

Instance part of ls-to-ws define the data translator

Page 21: Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix

Reference

Thiran, P. et al, Wrapper-Based Evoluation of Legacy Information System, ACM Tran Software Engineering and Methodology Vol.15 No.4, October 2006

Brodie, M. et al. 1995. Migrating Legacy Systems, Morgan Kaufmann

Haninaut, J. et al, 2005, Transformation-Based Database Engineering, IDEA Group

Page 22: Wrapper-Based Evolution of Legacy Information System Philippe Thiran et al Fcculties University Notre-Dame de la Paix

Thanks

Questions?