Cassini est l’implémentation Jakarta REST 4.0 de l’écosystème Vidocq. Elle s’appuie sur Chappe pour le transport HTTP, sur Vauban pour la résolution CDI, et sur Champollion pour la sérialisation JSON. Elle vise la conformité TCK 100 % sur la cible Core Profile / SE-Bootstrap, sans réflexion ad hoc et sans dépendance externe injustifiée.
Origine du nom
Giovanni Domenico Cassini, francisé en Jean-Dominique Cassini (1625–1712), astronome italo-français, premier directeur de l’Observatoire de Paris (1671). Il fonda la dynastie qui dressa la première carte complète de France par triangulation géodésique — chaque point du royaume rattaché à un réseau hiérarchique de triangles, puis à des chemins, puis à des lieux nommés.
Lien : Cassini sur Wikipédia.
Cassini, l’astronome |
Cassini, le runtime |
Triangulation géodésique |
URI templates |
Mesh hiérarchique royaume → province → ville |
Root resource → sub-resource locator → method |
Méridien de référence |
|
Point unique par 3 angles |
Best-match : méthode unique par (path, verb, media-type) |
L’arborescence des ressources REST est une carte. Cassini est le runtime qui la dresse et y route chaque requête — sur les lignes de signalisation tracées par le télégraphe optique de Chappe.
En un coup d’œil
Spec implémentée |
|
Repo |
|
Java |
25 (LTS) |
Modules JPMS |
|
Dépendances runtime |
Specs Jakarta uniquement ( |
TCK |
✅ 2535 / 2535 applicables (100 %) — détails ici. |
Positionnement dans l’écosystème
flowchart LR Client[Client HTTP] -->|HTTP/1.1, H2, H3| Chappe[Chappe<br/>transport] Chappe -->|CassiniHttpExchange| Cassini[Cassini<br/>routeur JAX-RS] Cassini -->|@Inject| Vauban[Vauban<br/>CDI Lite] Cassini -->|JSON-B| Champollion[Champollion<br/>JSON-P / JSON-B] Cassini -->|dispatch| Resource[@Path UserResource] Resource --> Cassini Cassini -->|response| Chappe Chappe --> Client
Cassini partage Chappe avec Foy (Servlet 6.1) : un même process peut exposer une application JAX-RS et un déploiement Servlet sur le même listener.