VT2018 Thorntail

From air
Jump to navigation Jump to search

Introduction

Technologie : Thorntail
Auteur : CHANET Zoran
E-mail : zoran.chanet@laposte.net
Presentation : Transparents
Démo : Démo

Résumé

Anciennement nommée Wildfly Swarm (jusqu'en juin 2018), en référence au serveur d'application Java Entreprise Edition Wildfly proposé par RedHat, Thorntail permet la décomposition dudit serveur afin d'en emporter uniquement les parties nécessaires à votre API. Thorntail permet donc de créer des applications microservices légères et facilement déployables. Chaque service est paqueté dans son propre UberJAR, emportant avec lui toutes ses dépendances, et uniquement les dépendances nécessaires. Une fois empaquetés, ces UberJAR sont déployables sur tout serveur d'application compatible JEE. Thorntail brille également par sa simplicité : les prérequis à son utilisation se limitent à la version JDK8 de Java, et la version 3.2.5 de Maven, et sa mise en place se fait uniquement à travers le fichier pom.xml de l'architecture Maven.

Abstract

Formerly known as Wildfly Swarm (until June 2018), refering to the Wildfly Java Entreprise Edition application server offered by RedHat, Thorntail splits the server to take just enough of the server to run your API. Thorntail thus allows to create easily-deployable lightweight microservices applications. Each service is packaged into its own UberJAR, containing every required dependency, and only the required dependencies. Once packaged, the UberJAR can be deployed to any JEE-compatible application server. Another Thorntail benefit is its simplicity: the only prerequisites are JEE JDK8 and 3.2.5 Maven, and putting it in place only requires some addings to the Maven's architecture's pom.xml.

Synthèse

Description

fig.1 : Aperçu de Wildfly
fig.2 : Aperçu de Thorntail

Thorntail, précédemment connue sous le nom de Wildfly Swarm, est une initiative de RedHat. Cette technologie fait suite au serveur d'application WildFly, également proposé par RedHat. Le but premier de Thorntail est de permettre un packaging plus léger pour les applications ne nécessitant pas la totalité des options embarquées sur le serveur WildFly (voir fig.1). Si par exemple l'application déployée ne nécessite l'utilisation que de JAX-RS, alors son architecture pourra être allégée, comme le montre la fig.2. Le changement de nom opéré lors de la release du 27 Juin 2018 (comme annoncé dans le blog de thorntail) n'est pas anodin. Il fait suite l'indépendance grandissante avec le serveur Wildfly.
Par construction, Thorntail est donc une technologie fortement orientée microservices. En effet, puisqu'il devient permis d'emporter uniquement les services nécessaires il semble logique d'isoler des services, les déclarant comme des applications séparées embarquant chacune le strict nécessaire à son fonctionnement. C'est grâce à ce mécanisme que Thorntail offre des conteneurs légers et facilement déployables. Le déploiement de ces conteneurs n'est pas limité au serveur d'application Wildfly, ils sont déployable par tous les moyens classiques (e.g. docker), et sur tout serveur d'application compatible JEE.