
Open Office Hours saison 1 : session 11 – Déclencheurs et synchronisation quasi temps réel
Déclencheurs et synchronisation quasi temps réel dans Rapidi
Votre ERP vient de mettre à jour une liste de prix. Votre équipe commerciale établit ses devis depuis Salesforce. En combien de temps cette modification doit-elle lui parvenir, et que se passe-t-il si la synchronisation se déclenche au mauvais moment ?
Cet article explique quand utiliser l’exécution par déclencheur dans Rapidi, quand l’éviter et comment concevoir des schémas de synchronisation rapides mais sûrs, qui gardent vos données cohérentes sans surcharger vos systèmes.
- Les bases des déclencheurs : ce que sont les exécutions par déclencheur dans Rapidi et en quoi elles diffèrent des exécutions planifiées.
- Quand utiliser un déclencheur : les scénarios dans lesquels une synchronisation quasi temps réel apporte une réelle valeur métier.
- Quand NE PAS utiliser de déclencheur : les schémas qui semblent exiger une synchronisation instantanée, mais qui fonctionnent mieux avec une planification.
- Des schémas sûrs : comment gagner en rapidité sans risquer de conflits de données, d’écritures partielles ou d’erreurs en cascade.
- Les dépendances à grande vitesse : comment garantir que les données liées arrivent dans le bon ordre, même en quasi temps réel.
Regarder la session complète
Cet article s’appuie sur la session 11 du programme de formation Open Office Hours de Rapidi. La session complète comprend une démonstration en direct de la configuration des déclencheurs dans MyRapidi, des exemples concrets de schémas quasi temps réel et les pièges courants à éviter.
Diapositives de la présentation
Qu’est-ce qu’une exécution par déclencheur dans Rapidi ?
Une exécution par déclencheur est une exécution de transfert qui démarre automatiquement en réponse à un événement précis, en général une modification de données dans le système source. Contrairement aux exécutions planifiées, qui s’exécutent à intervalles fixes, que quelque chose ait changé ou non, les exécutions par déclencheur ne se lancent que lorsqu’il y a quelque chose à traiter.
Les déclencheurs sont donc idéaux pour les données sensibles au temps, pour lesquelles un retard a un impact direct sur l’activité. Mais cela signifie aussi qu’ils demandent une conception plus soignée, car ils peuvent se déclencher fréquemment, de façon imprévisible et parfois en rafale.
Les déclencheurs ne remplacent pas les planifications. Ils les complètent. Les meilleures architectures d’intégration utilisent les deux : des déclencheurs pour les données urgentes, des planifications pour tout le reste.
Quand activer les exécutions par déclencheur
Les exécutions par déclencheur ont du sens lorsque trois conditions sont réunies : les données sont sensibles au temps, le volume par événement est faible et le processus métier en aval ne peut pas attendre la prochaine exécution planifiée.
Scénarios courants dans lesquels les déclencheurs apportent une réelle valeur :
- Changements de prix : lorsque votre ERP met à jour une liste de prix, les équipes commerciales qui établissent leurs devis depuis un CRM ont besoin des nouveaux prix immédiatement, pas dans 30 minutes.
- Nouvelles commandes : une commande passée dans votre CRM ou votre boutique en ligne doit apparaître dans l’ERP le plus vite possible pour lancer son traitement.
- Mises à jour des stocks : les variations de stock qui influent sur l’affichage de la disponibilité ou sur la logique d’acceptation des commandes doivent être exactes en quasi temps réel.
- Changements de statut : lorsqu’une commande est expédiée ou qu’une facture est comptabilisée, les systèmes en aval doivent refléter rapidement ce statut.
Dans tous ces cas, le coût d’un retard est bien concret : un devis erroné, une commande manquée, un produit survendu ou un client désorienté.
Quand NE PAS utiliser de déclencheurs
Tous les flux de données ne gagnent pas à utiliser des déclencheurs. Dans bien des cas, ils créent plus de problèmes qu’ils n’en résolvent :
- Imports en masse ou migrations : charger 10 000 enregistrements dans votre ERP ne doit pas lancer 10 000 exécutions par déclencheur individuelles. Utilisez une planification pour les opérations en masse.
- Données de référence : les catégories de produits, les unités de mesure et les tables de devises changent rarement. Les planifier toutes les heures ou une fois par jour est plus efficace.
- Données aux dépendances complexes : si la synchronisation de l’enregistrement A exige que les enregistrements B, C et D existent déjà dans le système cible, un déclencheur sur A seul échouera. Des groupes planifiés séquentiels gèrent mieux les dépendances.
- Mises à jour nombreuses et peu urgentes : les changements d’adresse des contacts, les notes et les journaux d’activité peuvent attendre la prochaine exécution planifiée sans le moindre impact sur l’activité.
Règle empirique : si personne ne remarquerait un retard de 15 minutes, une planification est le bon choix. Les déclencheurs doivent être réservés aux données pour lesquelles chaque minute compte.
Des schémas de synchronisation rapides mais sûrs
Vitesse et sécurité ne s’excluent pas, mais elles exigent une conception réfléchie. Voici des schémas qui offrent des performances quasi temps réel sans compromettre l’intégrité des données :
-
Schéma de debounce : au lieu de déclencher à chaque modification, collectez les modifications sur une courte fenêtre (par exemple 30 secondes) et traitez-les par lot. Vous évitez ainsi que des déclenchements en rafale ne surchargent le système cible.
-
Schéma « filtrer d’abord » : appliquez des filtres à votre déclencheur pour qu’il ne se lance que pour les enregistrements répondant à des critères précis. Par exemple, déclenchez uniquement sur les commandes au statut « Confirmed », et non à chaque modification de commande.
-
Transferts idempotents : concevez vos transferts de sorte que le traitement du même enregistrement deux fois produise le même résultat. Vos déclencheurs restent ainsi sûrs, même s’ils se lancent plus souvent que prévu.
-
Planification de secours : exécutez à un intervalle plus long (par exemple toutes les heures) une exécution planifiée de rattrapage qui récupère tout ce que les déclencheurs ont pu manquer. Vous disposez ainsi d’un filet de sécurité sans travail en double, car le suivi par horodatage de Rapidi garantit que les enregistrements ne sont pas traités deux fois.
Des déclencheurs qui tiennent compte des dépendances
La partie la plus délicate de la conception des déclencheurs est la gestion des dépendances. Lorsqu’un transfert déclenché crée un enregistrement dont dépend un autre transfert, le timing devient critique.
Prenons ce scénario : un nouveau client est créé dans le CRM et, juste après, une commande est passée pour ce client. Si la synchronisation du client et celle de la commande sont déclenchées indépendamment, la commande peut arriver dans l’ERP avant que l’enregistrement client n’existe, ce qui provoque une erreur.
Stratégies pour gérer cette situation :
- Déclencheurs enchaînés : configurez le déclencheur des commandes pour qu’il vérifie, avant le traitement, que l’enregistrement client existe dans le système cible. Si ce n’est pas le cas, la commande attend la prochaine exécution.
- Ordre de priorité : veillez à ce que les déclencheurs des données de base (clients, produits) soient toujours traités avant ceux des données transactionnelles (commandes, factures).
- Continue on Error avec nouvelle tentative : laissez le transfert des commandes se poursuivre en cas d’erreur liée à une dépendance manquante, puis retraitez les enregistrements en échec lors de la prochaine exécution planifiée, lorsque l’enregistrement client sera disponible.
Surveiller les performances des déclencheurs
Les déclencheurs demandent une surveillance plus active que les planifications, car leur exécution est pilotée par les événements et moins prévisible :
- Fréquence des déclenchements : à quelle fréquence les déclencheurs se lancent-ils ? Un pic soudain peut signaler une opération en masse qui aurait dû être traitée autrement.
- Durée d’exécution : combien de temps dure chaque exécution déclenchée ? Si la durée augmente, le déclencheur traite peut-être trop d’enregistrements par événement.
- Taux d’erreur : les exécutions déclenchées échouent-elles plus souvent que les exécutions planifiées ? C’est souvent le signe de problèmes de dépendances ou de situations de concurrence (race conditions).
- Profondeur de la file d’attente : si les déclencheurs se lancent plus vite qu’ils ne peuvent être traités, un arriéré se forme. Surveillez-le et envisagez de limiter le débit ou de passer à une planification.
Les erreurs courantes à éviter avec les déclencheurs
- Tout déclencher : toutes les données n’ont pas besoin d’une synchronisation quasi temps réel. Abuser des déclencheurs gaspille des appels d’API et crée une charge système inutile.
- Ignorer les scénarios de masse : un déclencheur conçu pour des modifications unitaires saturera lors d’un import de 5 000 enregistrements. Prévoyez toujours une solution de repli pour les opérations en masse.
- Aucune gestion des dépendances : déclencher des enregistrements enfants sans s’assurer que les enregistrements parents existent déjà entraîne des échecs à répétition.
- Oublier la planification de secours : les déclencheurs peuvent manquer des événements en raison d’une indisponibilité du système ou d’une limitation des API. Une planification de rattrapage périodique garantit que rien ne passe entre les mailles du filet.
Regardez toutes les sessions et inscrivez-vous aux prochaines : rapidionline.com/resources/open-office-hours
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.
Consultez le programme complet de la saison 1 : rapidionline.com/product-updates/open-office-hours-season-1
Questions fréquentes
Quelle est la différence entre une exécution par déclencheur et une exécution planifiée ?
Une exécution planifiée s’exécute à intervalles fixes, que les données aient changé ou non. Une exécution par déclencheur se lance en réponse à un événement précis, par exemple la création ou la mise à jour d’un enregistrement dans le système source. Les déclencheurs synchronisent plus rapidement les données sensibles au temps, tandis que les planifications conviennent mieux aux flux de données prévisibles, volumineux ou peu urgents.
Les déclencheurs peuvent-ils gérer de gros volumes de données ?
Les déclencheurs sont conçus pour des mises à jour petites et fréquentes, pas pour des opérations en masse. Si un import en masse ou une migration lance des milliers d’exécutions individuelles, le système peut être submergé. Pour de gros volumes, utilisez plutôt une exécution planifiée, ou mettez en place un schéma de debounce qui regroupe les modifications avant leur traitement.
Comment empêcher les déclencheurs de se lancer pendant un import en masse ?
Vous pouvez désactiver temporairement le déclencheur avant de lancer l’import en masse, puis le réactiver ensuite. Vous pouvez aussi appliquer des filtres au déclencheur pour qu’il ne se lance que pour les enregistrements répondant à des critères précis, en excluant les enregistrements importés en masse. Une exécution planifiée de rattrapage traitera les enregistrements importés à l’intervalle suivant.
Que se passe-t-il si un déclencheur se lance alors que les données dont il dépend ne sont pas encore disponibles ?
Si un transfert déclenché fait référence à un enregistrement qui n’existe pas dans le système cible, il produit une erreur pour cet enregistrement. Avec Continue on Error, le transfert peut traiter les autres enregistrements, et ceux en échec seront retentés lors de la prochaine exécution, moment où les données dont ils dépendent devraient être disponibles.
Faut-il utiliser des déclencheurs ou des planifications pour mon intégration ?
La plupart des intégrations gagnent à combiner les deux. Utilisez des déclencheurs pour les données dont le retard a un impact direct sur l’activité : commandes, changements de prix, niveaux de stock. Utilisez des planifications pour tout le reste : contacts, données de référence, enregistrements historiques. Ajouter une planification de rattrapage périodique à vos déclencheurs fournit un filet de sécurité pour tous les événements que les déclencheurs pourraient manquer.