# 5.1.1. Principes communs et environnement des services

## 5.1.1.1. Principes relatifs aux composants délivrés

Prudence

Dans la suite, les composants développés dans le cadre du projet VITAM seront appelés les « services VITAM » ; les composants intégrés, mais non développés, seront appelés les « COTS ».

### 5.1.1.1.1. Nommage

Dans la suite, on distinguera les identifiants différents suivants :

- ID de service (ou `service_id`) : c’est une chaîne de caractères qui nomme de manière unique un service. Cette chaîne de caractère doit respecter l’expression régulière suivante : `[a-z][a-z-]*`.
- ID de package (ou `package_id`) : il est de la forme `vitam-<service_id>`. C’est le nom du package à déployer.
- ID d’instance (ou `instance_id`) : c’est l’ID d’un service instancié dans un environnement ; ainsi, pour un même service, il peut exister plusieurs instances de manière concurrente dans un environnement donné. Cet ID a la forme suivante : `<service_id>-<instance_number>`, avec `<instance_number>` respectant l’expression régulière suivante : `[0-9]{2}`.

### 5.1.1.1.2. Principes relatifs aux services VITAM

Les services développés dans le cadre du projet VITAM interagissent avec un ensemble de composants externes dédiés à leur exploitation :

Environnement d’un service VITAM

Les interactions entre ces services et leur environnement se séparent essentiellement en 2 grandes familles :

- Les interactions avec des services externes ; on y trouve :

  > - L’accès aux packages logiciels pour installation (Cf. Packaging) ;

  > - Le déploiement, permettant l’orchestration du déploiement de la solution (Cf. Déploiement de la solution) ;

  > - L’annuaire de services, permettant à chaque service de localiser les services dont il dépend et d’y accéder de manière indépendante de la topologie de déploiement ; cette section intègre ainsi également les principes de load-balancing et de haute disponibilité (Cf. Principes sur les communications inter-services et le clustering) ;

  > - Le monitoring, avec (Cf. Suivi de l’état du système) :

  >   > - L’accès offert au système de supervision aux données de monitoring exposées par les services (sur un port d’administration dédié) ;
  >   > - L’export des logs applicatifs vers le sous-système de gestion des logs ;

- Les interactions locales au serveur, notamment avec des fichiers (dont la nomenclature est précisée dans une section dédiée) :

  > - L’installation, avec l’exécution du gestionnaire de paquets de l’OS (Cf. Packaging) ;
  > - La gestion des fichiers de configuration de l’application via l’outil de déploiement (Cf. Déploiement de la solution) ;
  > - Le démarrage / arrêt des services (Cf. Administration technique) ;
  > - La sauvegarde / restauration des données applicatives (Cf. Gestion des données du système).

### 5.1.1.1.3. Principes relatifs aux COTS

Note

Les COTS correspondent aux éléments intégrés dans VITAM, mais dont le code source n’est pas maîtrisé par VITAM. Ils comprennent notamment les moteurs de base de données (ex: MongoDB, Elasticsearch)

De manière générale, les distributions binaires utilisées sont celles fournies nativement par les distributions linux, ou à défaut les paquets fournis par l’éditeur du logiciel.

Les COTS respectent les principes énoncés ci-dessus dans la mesure de leurs possibilités ; les éléments suivants sont notamment respectés :

- Le packaging logiciel : la nature des packages et les outils utilisés pour installer ces logiciels doivent être les mêmes que pour les autres composants VITAM.
- Le déploiement : les outils et principes de déploiement doivent également être identiques à ceux utilisés pour déployer les autres composants VITAM.
- L’arrêt / démarrage des services : ces logiciels doivent utiliser le même gestionnaire de services système que les autres composants VITAM.
- L’export des logs : les logs de ces logiciels doivent être envoyés à la chaîne de gestion de logs suivant les mêmes protocoles que les autres services ; par contre, le format des messages de logs peut être différent.

Voir aussi

Les principes non respectés par les COTS (et qui concernent notamment les problématiques de LB/HA et de monitoring) sont détaillées dans les sections de documentation associées.