220 likes | 371 Views
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?.
E N D
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 • 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 generation
Database Reverse Engineering • Results: • Wrapper schema • Schema transformation sequence • Process • Physical extraction • Logical extraction • Wrapper schema derivation • Mapping definition
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?