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?