ORM_MongoSetUp
Configure l'archivage MongoDB de l'ORM_CSHX2. Active ou désactive l'archivage des écritures, fixe le mode différé (asynchrone) ou synchrone, et établit la connexion au serveur MongoDB. Habituellement appelée indirectement via ORM_Setup en passant la sous-structure MongoSetUp, mais peut aussi être invoquée directement pour reconfigurer Mongo en cours d'exécution.
📋 Description
ORM_MongoSetUp pilote l'archivage MongoDB associé à chaque écriture (INSERT, UPDATE) effectuée par l'ORM. Lorsque l'archivage est activé, chaque enregistrement modifié est dupliqué pour assurer la traçabilité (audit, historique applicatif). La destination de l'archive dépend du mode :
- Mode synchrone (
bDeferred = Faux) : l'archive est écrite directement dans MongoDB au moment de l'écriture SQL. Garantit que l'archivage est terminé avant le retour, mais bloque la transaction le temps de l'aller-retour réseau. - Mode asynchrone (
bDeferred = Vrai) : l'archive est écrite dans la table SQLcshx2_archives(tampon local). Le transfert effectif vers MongoDB est différé et reste à la charge du code applicatif via la procédure ORM_MongoAddArchive.
Si l'écriture dans MongoDB échoue (réseau indisponible, serveur Mongo arrêté, base saturée…), la transaction SQL principale n'est pas impactée. L'écriture en base relationnelle est validée normalement, et l'échec de l'archivage est tracé sans interrompre le processus métier.
La procédure offre 2 leviers de configuration :
- Activation/désactivation via
bEnabled— l'archivage peut être activé pour certains environnements (production) et désactivé pour d'autres (développement, tests). - Mode synchrone ou différé via
bDeferred— en mode différé, l'écriture MongoDB est asynchrone et ne bloque pas la transaction SQL ; en mode synchrone, l'opération est bloquante et garantit l'archivage avant la fin de l'écriture SQL.
🔑 Signature
| Position | Élément | Type | Description |
|---|---|---|---|
| Sortie 1 | bProcessing | booléen | Vrai si la configuration a réussi, Faux sinon. |
| Sortie 2 | nErrorCode | entier | Code d'erreur (0 si succès) — voir page Codes d'erreur. |
| Sortie 3 | sErrorMessage | chaîne | Message d'erreur localisé (vide si succès). |
📦 Paramètres
| Paramètre | Type | Description |
|---|---|---|
| bEnabled | booléen | Active (Vrai) ou désactive (Faux) l'archivage MongoDB. Si Faux, tous les autres paramètres sont ignorés. |
| bDeferred | booléen | Mode d'archivage : Vrai = différé (asynchrone, n'attend pas la fin de l'écriture MongoDB), Faux = synchrone (bloquant, garantit que l'archivage est terminé avant le retour). Ignoré si bEnabled = Faux. |
| sServerAddress | chaîne | Adresse du serveur MongoDB (FQDN, ex. mongo.cashx2.fr, ou IP). Doit être renseigné si bEnabled = Vrai. |
| nPort | entier | Port d'écoute MongoDB. Port standard : 27017. Doit être strictement positif si bEnabled = Vrai. |
| sDatabase | chaîne | Nom de la base d'archivage MongoDB. Doit être renseigné si bEnabled = Vrai. |
| sUser | chaîne | Identifiant de connexion MongoDB. Doit être renseigné si bEnabled = Vrai. |
| sPassword | chaîne | Mot de passe MongoDB. Doit être renseigné si bEnabled = Vrai. |
💡 Exemples
Exemple 1 — Archivage activé en mode différé
Configuration courante en production : l'archivage est activé, mais en mode différé pour ne pas pénaliser la performance des écritures SQL principales.
Exemple 2 — Archivage activé en mode synchrone
Configuration plus stricte : l'archivage est synchrone, ce qui garantit que chaque écriture SQL est dupliquée dans MongoDB avant la fin de l'opération. Utile en environnement audit strict.
Le mode synchrone allonge le temps de chaque écriture SQL d'un aller-retour réseau MongoDB. À privilégier uniquement quand la garantie d'archivage est plus importante que la latence.
Exemple 3 — Archivage désactivé
Configuration en environnement de développement ou de test, où l'archivage n'est pas nécessaire. Les autres paramètres sont ignorés.