semlin (xxx)

Download Report

Transcript semlin (xxx)

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
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
…
…
…
…
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
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
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
Outline




Why Data Wrappers?
Building R/W Data Wrappers
R/W Wrapper Architecture
Generating Data Wrapper
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
Building R/W Wrapper

Wrapper Schema
Definition


Recover explicit
constraints
Enriched with
implicit
constraints by
reverse
engineering
techniques
 Program
analysis
 Data analysis
Building R/W Wrapper

Mapping
definition



Transform
structures
Transform
constraints
Example of
update
statement
Outline




Why Data Wrappers?
Building R/W Data Wrappers
R/W Wrapper Architecture
Generating Data Wrapper
R/W Wrapper Architecture






Query/update
analysis
Error reporting
Query/update and
data translation
Implicit constraint
control
Security
Concurrency and
transaction
management
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
Model and Schema Specification


Constructs: entity types, attribute, relationship types
Built-in Constraints
Transformational Mapping Spec

Transform a schema from one model to another,
requiring specific operators

Inverse transformation


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




T2(T1(C))=C
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
Outline




Why Data Wrappers?
Building R/W Data Wrappers
R/W Wrapper Architecture
Generating Data Wrapper
Generating Wrapper

Database reverse engineering


Semi-hardcoded wrapper


A model layer and a database layer
Schema transformation-based wrapper generation


Yield all the necessary information to specify and develop a
wrapper
T+ is used to specify the implicit constraint assertions
instead of T=
Operational CASE support

Schema processing, mapping processing, and wrapper
generation
Database Reverse Engineering

Results:



Wrapper schema
Schema
transformation
sequence
Process




Physical extraction
Logical extraction
Wrapper schema
derivation
Mapping definition
Wrapper Generation
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
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

Thanks

Questions?