Programming Adaptive Microservice Applications: an AIOCJ Tutorial
- Others:
- Foundations of Component-based Ubiquitous Systems (FOCUS) ; Inria Sophia Antipolis - Méditerranée (CRISAM) ; Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-Dipartimento di Informatica - Scienza e Ingegneria [Bologna] (DISI) ; Alma Mater Studiorum Università di Bologna [Bologna] (UNIBO)-Alma Mater Studiorum Università di Bologna [Bologna] (UNIBO)
- Department of Computer Science and Engineering [Bologna] (DISI) ; Alma Mater Studiorum Università di Bologna [Bologna] (UNIBO)
- University of Oslo (UiO)
- Simon Gay
- António Ravara
Description
This tutorial describes AIOCJ, which stands for Adaptive Interaction Oriented Choreographies in Jolie, a choreographic language for programming microservice-based applications which can be updated at runtime. The compilation of a single AIOCJ program generates the whole set of distributed microservices that compose the application. Adaptation is performed using adaptation rules. Abstractly, each rule replaces a pre-delimited part of the program with the new code contained in the rule itself. Concretely, at runtime, the application of a rule updates part of the microservices that compose the application so to match the behavior specified by the updated program. Thanks to the properties of choreographies, the adaptive application is free from communication deadlocks and message races even after adaptation.
Abstract
International audience
Additional details
- URL
- https://hal.inria.fr/hal-01631422
- URN
- urn:oai:HAL:hal-01631422v1
- Origin repository
- UNICA