A Transformational Approach to Managing Data Model Evolution of Web Services

被引:1
作者
Beurer-Kellner, Luca [1 ]
von Pilgrim, Jens [2 ]
Tsigkanos, Christos [3 ]
Kehrer, Timo [4 ]
机构
[1] Swiss Fed Inst Technol, Dept Comp Sci, D-8092 Hamburg, Germany
[2] Hamburg Univ Appl Sci, Programming, D-20099 Hamburg, Germany
[3] Univ Bern, Software Engn Res & Teaching Grp, CH-3012 Bern, Switzerland
[4] Univ Bern, Inst Comp Sci, CH-3012 Bern, Switzerland
关键词
Data models; Web services; Object oriented modeling; Unified modeling language; Distributed databases; Benchmark testing; Systematics; service data models; web API evolution; model transformations; INCREMENTAL MODEL; COEVOLUTION; SYNCHRONIZATION; ARCHITECTURE; METAMODELS;
D O I
10.1109/TSC.2022.3144613
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
The communication of web services is typically organized through public APIs, which rely on a common data model shared among all system components. Over time, this data model must be changed in order to accommodate new or changing requirements, and the system components including the data they are operating on must be migrated. In practice, however, not all the affected components can be migrated instantly and at the same time. A common approach is to plan data model changes in a backward compatible fashion, which eventually causes serious maintenance problems and is a common cause of technical debt. In this paper, we propose an alternative solution to this problem by using a translation layer serving as a round-trip migration service which is responsible for the lossless forth-and-back translation of object-oriented data model instances of different versions. We present a framework which offers a version-aware interface definition language (IDL) for APIs, a typed JavaScript-based language for defining migration functions using the IDL definition, and a run-time environment for executing migrations. This is bundled into an integrated development environment assisting developers in implementing migration functions. From a methodological point of view, the development of round-trip migrations is supported by a catalog which comprises a set of typical data model evolution scenarios along with corresponding suitable round-trip migration strategies. We validate our framework by carrying out an extensive evaluation including a systematic assessment of expressiveness using our catalog, micro-benchmarking the performance of round-trip migrations, as well as a practical application in a case study of a real-world e-commerce web application obtained from an industrial partner.
引用
收藏
页码:65 / 79
页数:15
相关论文
共 55 条
  • [1] Anjorin Anthony., 2017, P 10 TRANSFORMATION, P27
  • [2] [Anonymous], 2015, ECMA262
  • [3] [Anonymous], 2007, ECMATC392008040 ECMA
  • [4] Change-driven model transformations
    Bergmann, Gabor
    Rath, Istvan
    Varro, Gergely
    Varro, Daniel
    [J]. SOFTWARE AND SYSTEMS MODELING, 2012, 11 (03) : 431 - 461
  • [5] Beurer-Kellner J., 2020, IN PRESS
  • [6] Stratego/XT 0.17. A language and toolset for program transformation
    Bravenboer, Martin
    Kalleberg, Karl Trygve
    Vermaas, Rob
    Visser, Eelco
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2008, 72 (1-2) : 52 - 70
  • [7] Campinhos Joao, 2017, 2017 IEEE/ACM 2nd International Workshop on Variability and Complexity in Software Design (VACE). Proceedings, P20, DOI 10.1109/VACE.2017.6
  • [8] Synchronization of Queries and Views Upon Schema Evolutions: A Survey
    Caruccio, Loredana
    Polese, Giuseppe
    Tortora, Genoveffa
    [J]. ACM TRANSACTIONS ON DATABASE SYSTEMS, 2016, 41 (02):
  • [9] Automating Co-evolution in Model-Driven Engineering
    Cicchetti, Antonio
    Di Ruscio, Davide
    Eramo, Romina
    Pierantonio, Alfonso
    [J]. EDOC 2008: 12TH IEEE INTERNATIONAL ENTERPRISE DISTRIBUTED OBJECT COMPUTING, PROCEEDINGS, 2008, : 222 - 231
  • [10] Czarnecki K, 2009, LECT NOTES COMPUT SC, V5563, P260, DOI 10.1007/978-3-642-02408-5_19