
Open Office Hours Saison 1 : Session 6 – Horodatages et RTI
Lorsque Rapidi exécute un transfert, il ne récupère pas toutes vos données à chaque fois. Il ne récupère que ce qui a changé depuis la dernière exécution. Vos systèmes sources ne sont ainsi pas submergés de requêtes inutiles. Mais comment sait-il réellement ce qui a changé ? La réponse tient à deux éléments qui fonctionnent ensemble : les champs Source Control et la RTI.
Télécharger les diapositives de la présentation
Champs datetime et horodatages : quelle différence ?
Le terme « horodatage » est souvent employé de manière approximative, il vaut donc la peine d’être précis. Il existe deux types de champs différents que vous pouvez utiliser pour suivre les modifications dans Rapidi.
Les champs datetime sont lisibles par un humain. Ils indiquent une date et une heure précises, par exemple le moment où un enregistrement a été créé ou mis à jour pour la dernière fois. N’importe quel utilisateur peut consulter un champ datetime et comprendre immédiatement ce qu’il signifie.
Les champs de version de ligne sont différents. Il s’agit d’entiers générés par le système qui suivent chaque enregistrement nouveau ou mis à jour sous forme de numéro de séquence. Vous les trouverez dans des systèmes plus anciens comme Microsoft Dynamics. Le nombre en lui-même n’a aucune signification de date. Vous ne pouvez pas le convertir en date et heure. Il vous indique simplement qu’un nouvel enregistrement existe ou que quelque chose a changé.
Les deux types peuvent servir de Source Control dans Rapidi, mais le format que vous verrez stocké dans la RTI dépendra de celui que vous utilisez.
Avant toute chose : indexez le champ
Quel que soit le champ que vous prévoyez d’utiliser comme Source Control, il doit être indexé dans votre système source. Ce n’est pas facultatif. Lorsque Rapidi exécute un transfert, il interroge votre système source en se basant sur ce champ. Si le champ n’est pas indexé, les performances en pâtissent et vous imposez une charge inutile au système.
Dans certains systèmes, comme Microsoft Business Central, le champ doit également être publié et déployé avant de pouvoir être interrogé. Le champ d’horodatage système existe dans Business Central, mais il n’est pas disponible par défaut sur la page. Les utilisateurs finaux ne peuvent pas le voir, et Rapidi ne peut pas y accéder tant qu’il n’est pas publié. Une fois déployé dans votre environnement de production, le champ devient disponible pour le filtrage et vous pouvez l’utiliser comme Source Control.
Bon à savoir
Dans Business Central, le champ d’horodatage est un champ système. Il existe, mais il n’est pas publié par défaut sur la page. Vous devez le déployer dans votre environnement de production avant que Rapidi puisse l’utiliser.
Qu’est-ce que la RTI ?
RTI signifie Runtime Information. Voyez-la comme l’ouvrage de référence interne de Rapidi pour vos transferts. Chaque fois qu’un transfert s’exécute avec succès avec le Source Control activé, Rapidi écrit une entrée dans la RTI. Cette entrée enregistre la valeur la plus élevée du champ Source Control au moment de l’exécution.
Lors de l’exécution suivante du transfert, Rapidi consulte la RTI, trouve cette valeur stockée et interroge votre système source pour obtenir les enregistrements dont le champ Source Control est supérieur à cette valeur. C’est ainsi qu’il sait ce qui a changé.
Quelques points à connaître sur les entrées RTI :
- Une entrée RTI n’existe que si le Source Control est activé sur le transfert.
- Si vous n’avez jamais exécuté le transfert, il n’y a pas d’entrée RTI. Elle est créée lors de la première exécution réussie.
- Chaque entrée RTI est unique et identifiée par la combinaison du code de transfert, du système source et du système de destination.
- Si un transfert échoue, la RTI n’avance pas. Rapidi reprendra au même point lors de l’exécution suivante, si bien que rien n’est ignoré.
La valeur stockée dans la RTI est au format Unix, que vous utilisiez un champ datetime ou une version de ligne. Si vous souhaitez reconvertir une valeur Unix stockée en date lisible, vous pouvez utiliser n’importe quel convertisseur de timestamp Unix en ligne.
Un exemple concret
Voici à quoi cela ressemble en pratique avec deux exécutions de transfert à 30 minutes d’intervalle.
Exemple : deux exécutions à 30 minutes d’intervalle
10 h 00
Le transfert s’exécute avec succès. Rapidi lit tous les enregistrements, capture la valeur Source Control la plus élevée et la stocke dans la RTI.
10 h 30
Le transfert s’exécute à nouveau. Rapidi consulte la RTI, trouve la valeur de 10 h 00 et interroge la source pour obtenir les enregistrements dont le champ Source Control est supérieur à cette valeur. Si des enregistrements ont été créés ou mis à jour pendant cette demi-heure, Rapidi les récupère. Si rien n’a changé, rien n’est transféré.
C’est précisément pour cela que le Source Control est important. Sans lui, chaque exécution interroge la table entière. Avec lui, seul le delta est récupéré.
Comment réinitialiser la RTI
Il existe deux situations dans lesquelles vous pourriez vouloir modifier manuellement la valeur de la RTI.
Resynchronisation complète : définissez la valeur Source Control dans la RTI sur zéro. L’exécution suivante interrogera tous les enregistrements dont le champ Source Control est supérieur à zéro, c’est-à-dire tout. Utilisez cette option si vous devez transférer toutes les données vers le système de destination à partir de zéro.
Relancer à partir d’un point précis : modifiez le champ Source Control dans la RTI en lui attribuant une valeur précise. L’exécution suivante récupérera les enregistrements à partir de ce point. C’est utile si quelque chose s’est mal passé et que vous devez retransférer des données à partir d’une date ou d’un numéro de séquence particulier.
Les deux options sont disponibles sur la page RTI de Rapidi. Vous pouvez y accéder depuis la navigation principale en haut de l’écran, ou directement depuis le transfert grâce à l’icône RTI. Les deux méthodes fonctionnent.
La seule règle à respecter
À retenir
N’exécutez jamais un transfert sans Source Control.
Sans lui, chaque exécution interroge l’intégralité de votre table source, à chaque fois. Cela crée une charge inutile sur le système source et ralentit tout. Avec le Source Control activé et un champ correctement indexé, les transferts sont plus rapides et votre système source n’en pâtit pas.
Configurez-le correctement une fois, et la RTI s’occupe automatiquement du reste.
OPEN OFFICE HOURS
Chaque semaine, nos spécialistes de l’intégration animent une session de formation gratuite de 30 minutes sur un thème précis de MyRapidi.