Ephemeral data handling in microservices ...
Document type :
Article dans une revue scientifique
DOI :
Title :
Ephemeral data handling in microservices with Tquery
Author(s) :
Giallorenzo, Saverio [Auteur]
Alma Mater Studiorum Università di Bologna [Bologna] [UNIBO]
Foundations of Component-based Ubiquitous Systems [FOCUS]
Montesi, Fabrizio [Auteur]
University of Southern Denmark [SDU]
Safina, Larisa [Auteur]
Self-adaptation for distributed services and large software systems [SPIRALS]
Zingaro, Stefano Pio [Auteur]
Alma Mater Studiorum Università di Bologna [Bologna] [UNIBO]
Foundations of Component-based Ubiquitous Systems [FOCUS]
Alma Mater Studiorum Università di Bologna [Bologna] [UNIBO]
Foundations of Component-based Ubiquitous Systems [FOCUS]
Montesi, Fabrizio [Auteur]
University of Southern Denmark [SDU]
Safina, Larisa [Auteur]
Self-adaptation for distributed services and large software systems [SPIRALS]
Zingaro, Stefano Pio [Auteur]
Alma Mater Studiorum Università di Bologna [Bologna] [UNIBO]
Foundations of Component-based Ubiquitous Systems [FOCUS]
Journal title :
PeerJ Computer Science
Pages :
e1037
Publisher :
PeerJ
Publication date :
2022
ISSN :
2376-5992
HAL domain(s) :
Informatique [cs]/Langage de programmation [cs.PL]
English abstract : [en]
The adoption of edge and fog systems, along with the introduction of privacy-preserving regulations, compel the usage of tools for expressing complex data queries in an ephemeral way. That is, queried data should not ...
Show more >The adoption of edge and fog systems, along with the introduction of privacy-preserving regulations, compel the usage of tools for expressing complex data queries in an ephemeral way. That is, queried data should not persist. Database engines partially address this need, as they provide domain-specific languages for querying data. Unfortunately, using a database in an ephemeral setting has inessential issues related to throughput bottlenecks, scalability, dependency management, and security ( e.g. , query injection). Moreover, databases can impose specific data structures and data formats, which can hinder the development of microservice architectures that integrate heterogeneous systems and handle semi-structured data. In this article, we present Jolie/Tquery, the first query framework designed for ephemeral data handling in microservices. Jolie/Tquery joins the benefits of a technology-agnostic, microservice-oriented programming language, Jolie, and of one of the most widely-used query languages for semi-structured data in microservices, the MongoDB aggregation framework. To make Jolie/Tquery reliable for the users, we follow a cleanroom software engineering process. First, we define Tquery, a theory for querying semi-structured data compatible with Jolie and inspired by a consistent variant of the key operators of the MongoDB aggregation framework. Then, we describe how we implemented Jolie/Tquery following Tquery and how the Jolie type system naturally captures the syntax of Tquery and helps to preserve its invariants. To both illustrate Tquery and Jolie/Tquery, we present the use case of a medical algorithm and build our way to a microservice that implements it using Jolie/Tquery. Finally, we report microbenchmarks that validate the expectation that, in the ephemeral case, using Jolie/Tquery outperforms using an external database (MongoDB, specifically).Show less >
Show more >The adoption of edge and fog systems, along with the introduction of privacy-preserving regulations, compel the usage of tools for expressing complex data queries in an ephemeral way. That is, queried data should not persist. Database engines partially address this need, as they provide domain-specific languages for querying data. Unfortunately, using a database in an ephemeral setting has inessential issues related to throughput bottlenecks, scalability, dependency management, and security ( e.g. , query injection). Moreover, databases can impose specific data structures and data formats, which can hinder the development of microservice architectures that integrate heterogeneous systems and handle semi-structured data. In this article, we present Jolie/Tquery, the first query framework designed for ephemeral data handling in microservices. Jolie/Tquery joins the benefits of a technology-agnostic, microservice-oriented programming language, Jolie, and of one of the most widely-used query languages for semi-structured data in microservices, the MongoDB aggregation framework. To make Jolie/Tquery reliable for the users, we follow a cleanroom software engineering process. First, we define Tquery, a theory for querying semi-structured data compatible with Jolie and inspired by a consistent variant of the key operators of the MongoDB aggregation framework. Then, we describe how we implemented Jolie/Tquery following Tquery and how the Jolie type system naturally captures the syntax of Tquery and helps to preserve its invariants. To both illustrate Tquery and Jolie/Tquery, we present the use case of a medical algorithm and build our way to a microservice that implements it using Jolie/Tquery. Finally, we report microbenchmarks that validate the expectation that, in the ephemeral case, using Jolie/Tquery outperforms using an external database (MongoDB, specifically).Show less >
Language :
Anglais
Peer reviewed article :
Oui
Audience :
Internationale
Popular science :
Non
Collections :
Source :
Files
- document
- Open access
- Access the document
- peerj2022b.pdf
- Open access
- Access the document