---
# System prepended metadata

title: Architecture de communication des nouveaux micro service spring-boot

---

# Architecture de communication des nouveaux micro service spring-boot
- Java 11
    - clients générés en 11 8 7 si nécessaire.
- gitlab
    - develop
    - master
    - svn-trunk auto-updatée par l'ancien repository SVN
- les services migrés dialoguent exclusivement en REST.
    - Respecter le nouveau shéma de routage (différence marquée entre internal / external)
    - le user agent est composé du service consommateur et de son numéro de version
    - Il faut IMPERATIVEMENT marquer les champs sont optionnels et donner des valeurs par défaut pour assurer la rétro-compatibilité.
    - les clients sont générés dans le service, avec apache CXF
    - Les services importent les clients nécessaires (classique)
- Support du legacy
    - les modules clients sont générés par le service et distribué dans le nexus 
    - les modules clients générés mettent leur n° de version dans le user agent.
        - les services génèrent les clients en java target 7, 8 et 11
    - les modules clients SOAP sont compatibles avec les client legacy (même shéma de routage, même organisation des fonctions exposées)

``` java
LOG.info("REST  GeoroutingDataSourceRestImpl.changeDatasourceUrl <- (url ={} )"
...
finally {
    LOG.info("REST GeoroutingDataSourceRestImpl.changeDatasourceUrl -> ({})", result);
}
```
- respecter la convention de log:
    - Entrée de fonction
        - argument d'entrée
    - retour de fonction
        - contenu retourné si affichable
    - ~~identitié de l'appelant~~
        - ~~service client + version du client utilisé~~

# Dépendances des services
```graphviz
digraph G {
    {georouting routing refweb}
    -> bic3
    -> SLS
}
```