wrapper-based evolution of legacy information system philippe thiran et al fcculties university...
TRANSCRIPT
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, 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
Outline
Why Data Wrappers? Building R/W Data Wrappers R/W Wrapper Architecture Generating Data Wrapper
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
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?