Gadz.org souhaite privilégier l'Architecture Orientée Service (FR) afin de fluidifier les évolutions des applications ainsi que les évolutions technologiques.
Règles de design
- Les applications communiquent entre elles via RabbitMQ
- Les applications peuvent requeter les référentiels directement via une API HTTP. Dans ce cas, la dépendance au service concernée doit être explicitement signalée
Catalogue des services
I/O | Routing key | Action | JSON data Format | |
---|---|---|---|---|
Gapps | requete |
| Crée un nouveau compte Google Apps à partir des informations contenues dans le GrAM et l'application Zenimel | { "id": [Integer] Numéro sociétaire } |
requete | request.gapps.account.update | Met à jour un compte Google Apps à partir des informations contenues dans le GrAM et l'application Zenimel | { "id": [Integer] Numéro sociétaire } | |
requete | request.gapps.account.delete | Supprime un compte Google Apps à partir des informations contenues dans le GrAM et l'application Zenimel | { "id": [Integer] Numéro sociétaire } | |
requete | request.gapps.account.suspend | Suspend un compte Google Apps à partir des informations contenues dans le GrAM et l'application Zenimel | { "id": [integer] Numéro sociétaire } | |
Notification | Notify.gapps.account.updated | { "id": [Integer] Numéro sociétaire "google_apps_id": [String] Adresse principale du compte google apps "google_apps_statue": [ENUM(non_existent,created,suspended,deleted)] état du compte } | ||