|
Vidocq Runtime est en version 0.1.0-SNAPSHOT. Toute migration concrète est prématurée — cette page documente les correspondances pour anticiper. |
Tableau comparatif synthétique
| Aspect | Vidocq Runtime | Quarkus | Helidon MP | Spring Boot | Open Liberty | Payara Micro |
|---|---|---|---|---|---|---|
JDK minimum |
25 |
17 |
21 |
17 |
17 |
17 |
Modèle de threading I/O |
Virtual threads |
Vert.x event loop |
Helidon Níma (VT) |
Tomcat / Netty |
Plateforme threads |
Plateforme threads |
Build-time vs runtime |
Build-time (Class-File API) |
Build-time (Gizmo / ASM) |
Runtime |
Runtime |
Runtime |
Runtime |
JPMS strict |
Oui |
Non |
Non |
Non |
Non |
Non |
AOT native |
GraalVM + Leyden CDS |
GraalVM |
GraalVM |
GraalVM |
Partiel |
Partiel |
Cold start typique (jlink/CDS) |
~1 s |
~0.5 s (native) |
~1 s |
~3 s |
~5 s |
~3 s |
Taille image autonome |
~40 Mo (jlink) |
~80 Mo (native) |
~50 Mo |
~70 Mo |
~150 Mo |
~80 Mo |
Dépendance ASM / Byte Buddy |
Aucune |
ASM (Gizmo) |
ASM |
ByteBuddy + ASM |
ASM |
ASM |
|
Les chiffres ci-dessus sont indicatifs et seront mis à jour à mesure des runs |
Depuis Quarkus
Vidocq Runtime emprunte explicitement le pattern d’extensions Quarkus.
| Quarkus | Vidocq Runtime | Note |
|---|---|---|
|
|
API directement transposable |
Recorder Gizmo (ASM) |
Recorder Class-File API (JEP 484) |
Pas d’ASM — bytecode standard JDK |
ArC (CDI runtime) |
Build-time dans les deux cas |
|
RESTEasy Reactive |
Pas de Vert.x — virtual threads |
|
Hibernate Reactive / ORM |
JDBC + virtual threads, pas de Vert.x SQL Client |
|
Jackson |
Implémentation JSON-B 3.0 / JSON-P 2.1 |
Les exemples compare-to/ (à venir) du workspace illustreront la migration d’une extension simple.
Depuis Spring Boot
Spring Boot ne s’aligne pas naturellement sur le modèle MicroProfile, et la migration touche le programmation model.
| Spring Boot | Vidocq Runtime | Note |
|---|---|---|
|
|
Pas de classe d’application requise |
|
|
Standard Jakarta REST |
|
|
CDI Lite |
|
|
Constructor injection privilégiée |
|
|
MicroProfile Config |
|
|
Préfixe |
Spring Data JPA |
Mansart (Jakarta Data 1.0) |
Repositories APT-générés |
Depuis Open Liberty / WildFly
-
server.xml→ MicroProfile Config + extensions Vidocq Runtime. -
EAR → JAR autonome + plugin Maven.
-
JNDI → CDI lookup via
Vauban.bootstrap(). -
Annotations Jakarta — directement compatibles, le programming model reste identique.
Depuis Payara Micro
Payara Micro et Vidocq Runtime partagent la cible MicroProfile. La principale différence est l’approche build-time : Payara Micro embarque GlassFish ; Vidocq Runtime produit un binaire jlink minimal sans serveur d’application classique.
-
payara-micro --deploy app.war→java -jar app-runner.jar. -
payara-micro.jar(~ 80 Mo) → image jlink (~40 Mo). -
Tous les
feature.xmlMicroProfile activés sont remplacés par les extensions correspondantes côté Vidocq Runtime.
Tableau MicroProfile
| Spec MicroProfile | Statut Vidocq Runtime | Extension |
|---|---|---|
MP Config 3.x |
Planifié |
|
MP Health 4.x |
Planifié |
|
MP Metrics 5.x |
Planifié |
|
MP OpenAPI 4.x |
Planifié |
|
MP REST Client 4.x |
Planifié |
|
MP JWT Auth 2.x |
Planifié |
|
MP Telemetry 2.x |
Planifié |
|
MP Fault Tolerance 4.x |
Planifié |
|