Brevet FR3067490A1 — publié le 20181214

TRAITEMENT DE MESSAGES MULTINORMES DOMAINE DE L'INVENTION L'invention présente relève de façon générale du traitement de message. Plus spécifiquement, l'invention présente vise le traitement de messages en respectant les dépendances entre les messages et l'ordre des messages. CONTEXTE Selon l'art antérieur, divers systèmes de traitement de messages sont connus. US 7,240,097 B2 décrit un système qui est capable de préserver l'ordre des messages pour un traitement parallèle. Ce système de messagerie traite des messages saisis immédiatement dès la 15 réception et préserve l'ordre des messages saisis lorsque les messages sont envoyés aux destinations. US 8,200,765 B2 décrit un système centralisé dans lequel les messages sont mis en file d'attente dans un ordre sur la base d'une valeur de primordialité des messages, p. ex. les messages les 20 plus cruciaux sont prioritaires sur les messages moins cruciaux. Des files d'attente d'entrées et de sorties sont utilisées. Le système proposé est mis en oeuvre à la façon d'un système distribué/parallèle avec une connexion à une base de données centralisée ou des files d'attente de sortie sont utilisées dans chaque serveur de noeuds d'un parc. L'ordre des messages est calculé avant que les messages ne soient placés dans la file d'attente de sortie. 25 US 2007/0124398 Al est capable d'envoyer des messages à des récepteurs en fonction d'un identifiant de séquence attribué. Le procédé proposé peut établir la priorité des messages qui sont générés pour une enveloppe et les enveloppes sont connectées les unes aux autres en utilisant les identifiants de séquence. 30 US 7,680,793 B2 envoie des messages dans un ordre basé sur l'horodatage d'une validation. Les messages sont envoyés dans un ordre basé à la fois sur une valeur commerciale et sur l'horodatage de validation. 2 US 8,875,155 B2 gère les ordres des messages pour des groupes de messages. EP 2 811 437 propose un système SOA pour séquencer les messages entrant, en particulier pour les messages basés sur HTTP (protocole de transfert hypertexte), SOAP (protocole d'accès à 5 un objet simple) ou XML (langage de balisage extensible). Par ailleurs, certaines normes de messages sont connues telles que le télétype, ou brièvement, les messages TTY. Par exemple, P 2254046 B1 décrit un séquencement de messages rry afin de déterminer un ordre d'envoi des messages TTY. 10 En outre, la norme relative à la « Nouvelle Capacité de Distribution », plus brièvement désignée NDC ci-après, a été émise par TATA, l'International Air Transport Association en 2015. NDC est un format de distribution pour les compagnies aériennes pour le développement et l'adoption par le marché d'une norme de transmission de données basée sur XML entre compagnies aériennes et systèmes de distribution globale (GDS). NDC permet par exemple aux compagnies aériennes de répondre directement à des demandes de consultation d'offres en provenance d'agents de voyage, afin de gérer le traitement de commandes et de permettre de véritables comparaisons d'offres. NDC n'est ni un système ni un logiciel ni une base de données, mais une norme pour l'échange d'informations entre compagnies aériennes et agents de voyage. RÉSUMÉ Il s'agit d'un objet fournissant un système de traitement de messages capable de traiter à la fois des messages conformes à un format hérité et des messages conforme à un successeur du format hérité, p. ex. un nouveau format, tout en assurant que les messages conformes aux deux formats sont envoyés à des récepteurs dans un ordre correct de message. Spécifiquement, il s'agit d'un objet fournissant un système de traitement de messages qui peut traiter de façon homogène des messages, basés sur XML selon la norme NDC et sur un format hérité tel que TTY. NDC permet qu'une validation de changement de base de données déclenche de multiples messages à une cible de message. Ces messages peuvent être de types différents, peuvent être soumis à des procédés d'envoi différents et peuvent avoir une certaine dépendance et causalité. Il s'agit donc d'un objet fournissant un système de messagerie qui prend en charge des flux de messages NDC et en même temps est inversement compatible avec des systèmes de messages 3 hérités dotés de fonctionnalités plus simples, de sorte que les deux types de flux de messages sont pris en charge de façon intégrée et homogène, et non comme deux systèmes indépendants de messagerie. 5 Par ailleurs, il s'agit d'un objet fournissant un système de messagerie ouvert et extensible et qui peut ainsi prendre en charge les futures normes de messages pouvant accommoder une gamme encore plus large de fonctionnalités que la norme NDC. Selon un premier aspect, un procédé est fourni pour le traitement des messages dans un système 10 de messagerie distribuée par un moteur de traitement de messages. Au moins une cible de message d'une pluralité de cibles de message opère selon une première norme et au moins une cible de message de la pluralité des cibles de message opère selon une seconde norme héritée. Le procédé estmis en oeuvre par un moteur de traitement de messages. 15 Une pluralité d'indications de validations de base de données est reçue, dans laquelle chaque indication de validation de base de données indique un changement dans un enregistrement d'une base de données. En réponse à la réception d'une indication de validation de base de données provenant de la pluralité d'indications de validations de base de données, une enveloppe de messages est générée pour chaque cible de message devant être notifiée, opérant 20 selon la première norme et au moins un message dans chaque enveloppe de messages est généré. Les dépendances d'enveloppe de messages entre les enveloppes de message générées pour une même cible de message sont calculées. Les dépendances des enveloppes de message définissent un ordre des enveloppes de message pour la même cible de message. Les dépendances de message entre les messages dans chaque enveloppe de messages sont calculées sur la base au moins de la norme des messages de l'enveloppe respective de messages et des fonctions des messages. Les dépendances des enveloppes de message définissent un ordre des messages dans chaque enveloppe respective. 25 30 Les messages sont envoyés à la cible respective de message dans une séquence basée sur les dépendances d'enveloppe de messages et sur les dépendances des messages. 4 Selon un second aspect, un système de messagerie, arrangé pour mettre en oeuvre le procédé ci-dessus, est fourni. Selon un troisième aspect, un produit-programme d'ordinateur qui met en oeuvre le procédé ci- 5 dessus lorsqu'il est exécuté sur un ordinateur est fourni. DESCRIPTION SOMMAIRE DES DESSINS L'invention présente sera décrite en faisant référence aux dessins qui l'accompagnent. Des 10 numéros de référence similaires indiquent généralement des éléments identiques ou similaires sur le plan fonctionnel. FIGS. 1, 2, 3 et 4 sont des organigrammes pour un procédé de traitement de messages sur le plan fonctionnel comme décrit par les présentes. 15 FIG. 5 est une représentation visuelle des dépendances au niveau de l'enveloppe de messages et au niveau du message telles qu'elles sont définies par le système de traitement de messages décrit dans les présentes. 20 FIG. 6 est une représentation visuelle exemplaire, orientée-processus, du système de traitement de messages. FIG. 7 illustre un matériel d'architecture exemplaire pour le système de traitement de messages. 25 FIGS. 8 et 9 sont des organigrammes plus détaillés d'une implémentation exemplaire du traitement de message et de la dépendance. FIG. 10 est un organigramme détaillé d'une implémentation exemplaire d'un processus d'envoi de message. 30 5 FIGS. 11, 12, et 13 montrent des états différents d'un tableau contenant des enveloppes de message et des messages, ainsi que les dépendances entre les enveloppes de message et les messages. 5 FIG. 14 est une vue schématique exemplaire de l'architecture interne d'un tableau de base de données et/ou d'un client demandeur. DESCRIPTION DÉTAILLÉE 10 Avant d'expliquer un exemple d'implémentation plus spécifique par rapport aux FIGS. 6 et 14, quelques aspects généraux seront d'abord discutés en référence aux FIGS. 1 à 5. De façon générale, l'ordre des messages devant être envoyé aux cibles de message et un aspect qui doit être adressé dans le système de traitement de messages. Par exemple, un ordre correct 15 de messages de réservation doit être maintenu pour les flux d'information dans un GDS. Par exemple, une réservation (simple réservation) dans une base de données d'un système de réservation est modifiée dans une ou plusieurs validations de changement. Un récepteur est supposé recevoir les notifications correspondantes du changement de réservation sous forme d'un échange de messages, spécifiquement de ces validations de changement, dans l'ordre, afin 20 de maintenir la cohérence des données dans l'ensemble du système. Si l'ordre des validations de changement est modifié, une divergence ou une incohérence pourrait survenir entre des enregistrements de GDS et/ou des systèmes des compagnies aériennes. Par exemple, une agence de voyages effectue une annulation de vol, puis effectue une nouvelle réservation pour le même vol à une date différente, via deux validations subséquentes de changement. Le client, 25 c.-à-d. la compagnie aérienne, a besoin de recevoir le message d'annulation en premier et, seulement après, un message pour la nouvelle réservation de vol pour que la synchronisation soit correcte. Donc, une séquence de messages correcte envoyée à la cible du message garantit que la réservation reste cohérente entre une source de réservation et une cible de réservation afin d'éviter toute possibilité d'anomalie d'enregistrement. 30 De nos jours, dans les flux de messagerie tels que les flux de synchronisation de réservations d'un GDS, habituellement - pour une cible de message - au plus un message TTY par validation de changement d'un enregistrement de réservation (désigné comme enveloppe de tin de transaction pour un enregistrement de nom de passager, autrement dit un PNR) est généré 6 pour échanger des changements entre noeuds de GDS. Un procédé dédié pour un contexte traditionnel TTY a été proposé par EP 2254046 Bi. Cependant dans le contexte des réservations NDC, le scénario change, car des implémentations de normes NDC sont habituellement envisagées pour déclencher de multiples messages pour une validation de changement d'un 5 enregistrement de réservation à des cibles de message opérant conformément aux spécifications NDC et implémentant ainsi les caractéristiques NDC. Ces multiples messages peuvent être de type de message différent (TTY, XML, au même d'autres types dans le futur), avoir des fonctions de messagerie différentes (telles que l'ajout ou la suppression de messages), des procédés d'envoi (synchrone : le message est envoyé et une réponse de confirmation est reçue 10 au cours de la même session, puis la session est fermée une fois que la livraison réussie du message est constatée ; ou asynchrone : la session est fermée du côté de l'émetteur le message est envoyé, la réponse de confirmation est renvoyée à l'émetteur au cours d'une autre session), ils peuvent utiliser des protocoles de réseau et de transmission variés (tels que HTTP/SOAP) et aussi des priorités d'envoi qui définissent les relations entre les messages. Aussi, les flux de 15 messages TTY hérités sont toujours assurés par les systèmes de traitement de messages, c.-à-d. les systèmes de traitement de messages doivent être inversement compatibles, car les flux TTY et les flux NDC coexisteront pour synchroniser les enregistrements de réservation. Dans le but d'obtenir de la robustesse, une compatibilité inverse, et de maintenir la stabilité, un nouveau mécanisme de traitement de messages est donc recherché. 20 Pour résumer, ce nouveau mécanisme de traitement de messages doit traiter le problème des séquences de messages dans le contexte des réservations NDC dans lequel de multiples messages qui peuvent avoir une relation de dépendance les uns par rapport aux autres sont déclenchés par une validation de changement et ont donc besoin d'être envoyés à une cible de 25 message dans un ordre bien défini. Le nouveau traitement de message permet aussi d'adresser le problème d'intégration des flux de messages NDC et des flux TTY hérités dans un seul cadre générique de traitement de message qui synchronise l'enregistrement de réservation dans un mode hybride dans lequel TTY, XML ou d'autres types de messages sont utilisés. 30 Pour adresser ces problèmes, il est proposé de traiter les messages et de gérer les ordres de messages d'une façon intégrée contrairement à la gestion de flux de messages hérités et de flux de messages NDC par deux systèmes séparés et indépendants de traitement de messages. Faisant référence à la FIG. 1, des messages sont traités dans un système de messagerie distribuée par un moteur de traitement de message. 7 Le système de messagerie distribuée inclut de multiples types de cibles de message. Au moins une cible de message d'une pluralité de cibles de message opère selon une première norme et au moins une cible de message de la pluralité des cibles de message opère selon une seconde 5 norme héritée. Le terme cible de message tel qu'il est utilisé dans les présentes inclut des destinations de message à des niveaux variés, incluant de larges systèmes tels qu'un système de distribution globale (GDS) ; un système de contrôle des départs (DCS), un réseau de zone étendue (WAN), ou un réseau de zone locale (LAN) d'une entreprise particulière, par exemple une compagnie aérienne ainsi que des stations réceptrices individuelles. 10 Dans certain mode de réalisation, des cibles de message opérant selon la première norme sont entièrement inversement compatibles et opèrent donc aussi selon la seconde nonne, c.-à-d. qu'elles sont arrangées pour traiter aussi des messages selon la seconde norme, alors que les cibles de message qui opèrent selon la seconde norme sont des cibles de message héritées qui 15 n'implémentent pas la première norme et sont donc incapables de traiter des messages selon la seconde norme. Ainsi, une référence à la première norme mentionnée dans les présentes comprend généralement la première norme et la seconde norme et les messages respectifs conformes à la première et à la seconde norme, alors qu'une référence à la seconde norme mentionnée dans les présentes ne comprend que les cibles de message et les messages 20 conformes à la seconde norme. Faisant à nouveau référence à la FIG. 1 et à la FIG. 2, une pluralité d'indications de validation de bases de données est reçue par le moteur de traitement de messages. Chaque indication de validation de base de données indique un changement d'un enregistrement de base de données. 25 Une indication de validation de base de données est un contenu de tous les changements faits à un enregistrement de base de données tel qu'un enregistrement de nom de passager (PNR), entre une demande de récupération et une validation de base de données finalisant les changements de l'enregistrement de base de données dans la base de données qui est située en amont du moteur de traitement de messages. Par conséquent, chaque fois qu'un changement est 30 validé dans la base de données en amont, une indication de validation de changement de base de données est générée et publiée au moteur de traitement de messages. Les indications de validation de base de données alimentent ainsi le moteur de traitement de messages. 8 En réponse à la réception d'une indication de validation de base de données provenant de la pluralité d'indications de validation de base de données, une enveloppe de messages est générée pour chaque cible de message devant être notifiée selon la première nonne et au moins un message dans chaque enveloppe de messages est généré au 4. Une enveloppe de messages telle 5 qu'elle est utilisée dans les présentes est une occurrence spéciale d'un message qui n'est pas envoyé, mais qui constitue un groupement référentiel de messages d'une enveloppe de messages. Cela est similaire aux systèmes de fichiers où un répertoire, ou dossier est une occurrence particulière d'un fichier groupant tous les fichiers situés dans le répertoire. L'ensemble d'une enveloppe de messages et de ses messages est aussi désigné dans les 10 présentes comme étant une liste de messages. Généralement, le moteur de traitement de messages détermine les cibles de message qui sont affectées par une indication de validation de base de données reçue et génère une enveloppe de messages pour chaque cible de message affectée devant être notifiée qui opère selon la première 15 norme. Tous les messages dans une enveloppe de messages sont adressés à cette cible de message et seront envoyés à la cible de message dans un ordre bien défini. Afin de déterminer et d'assurer l'ordre d'envoi, des dépendances à des niveaux différents sont introduites, notamment la dépendance d'une enveloppe de messages au niveau de l'enveloppe de messages et une dépendance de niveau de message au niveau du message. Les dépendances d'enveloppe 20 de messages définissent un ordre pour toutes les enveloppes de messages générées pour une certaine cible de message. Les dépendances de messages définissent l'ordre d'un message dans une certaine enveloppe de messages. Par conséquent, la génération d'enveloppes de messages et de messages dans les enveloppes de 25 messages implique aussi un calcul des dépendances de l'enveloppe de messages entre les enveloppes de messages générées pour une même cible de message, au 6, et les dépendances de messages entre les messages dans chaque enveloppe de messages au 8. Généralement, une enveloppe de messages créée pour une indication de validation de base de 30 données est calculée au 6, pour être dépendante d'autres enveloppes de messages déjà existantes pour la même cible de message, c.-à-d. que les enveloppes de message qui ont déjà été générées précédemment pour cette cible de message en réponse à la réception antérieure d'un message de validation de base de données. Par conséquent, les enveloppes de messages pour une certaine 9 cible de message sont ordonnées sur la base d'un ordre de réception des messages de validation de base de données affectant ladite certaine cible de message. D'autre part, les dépendances de messages sont calculées au 8, sur la base au moins de la norme 5 des messages de l'enveloppe respective de messages et des fonctions des messages. En particulier les messages de la première nonne peuvent être classés selon des fonctions différentes (également désignées comme « nom de message » ci-dessous) par exemple : ajout de message ajoute un enregistrement, suppression de message supprime un enregistrement, division de messages divise un enregistrement, et autres. 10 Une carte de dépendances d'un message désigne les relations établies entre des enveloppes de messages spécifiques et des messages et qui sont valides à un certain moment dans le temps. Les cartes de dépendances de messages sont conservées par le moteur de traitement de messages dans un ou plusieurs tableaux de base de données. Les messages sont envoyés au 10, par le 15 moteur de traitement de messages à la cible de message respective, dans une séquence basée sur les dépendances d'enveloppe de messages et sur les dépendances de message. En plus des différents types de cibles de message, différents types de systèmes de base de données générant les indications de validation de base de données peuvent être présents dans le 20 système de messagerie distribuée. Un type de système de base de données opère selon la première (nouvelle) norme et peut produire des indications de validation de base de données déjà conformes à la première nonne (et, pour des raisons de compatibilité inverse, aussi des indications de validation de base de données conformes à la seconde nonne). Un autre type de système de base de données opère toujours uniquement selon la seconde nonne héritée et 25 produit ainsi uniquement des indications de validation de base de données héritées. En fonction de la source d'un message de validation de base de données (un système de base de données opérant selon la première nonne ou une opération de système de base de données selon la seconde norme héritée) et en fonction du type de cible de message devant être notifiée 30 (une cible de message opérant selon la première nonne ou une cible de message opérant selon la seconde norme héritée) il est possible de différencier différents cas de traitement de message. Un premier cas, représenté visuellement par la FIG. 2, suppose qu'une indication de validation de base de données reçue au 11 est une première indication de validation de base de données 10 de la pluralité d'indications de validations de base de données provenant d'un système de base de données qui opère selon la première norme. Dans certains modes de réalisation, cette indication de validation de base de données est signalée comme indication de validation de base de données conforme à la première norme, p. ex. par une balise, ainsi que cela est expliqué par 5 ailleurs ci-dessous. En réponse à la réception d'une indication de validation de base de données conforme à la première norme, le moteur de traitement de messages génère une enveloppe de messages pour chaque cible de message conforme à la première norme devant être notifiée et génère au moins un message dans chaque enveloppe de messages. 10 Ici, deux sous-cas peuvent être distingués. Pour chacune des cibles de message devant être notifiées en implémentant la première norme, désignées brièvement comme premières cibles de message, une première enveloppe de messages respective est générée au 12, chacune d'entre elles inclut habituellement une pluralité de premiers messages interdépendants devant être relayés à la première cible respective de message opérant selon la première norme. La pluralité 15 des premiers messages interdépendants est spécifiée comme étant conforme à la première norme (qui comprend aussi généralement les messages conformes aux seconds messages conformes à la seconde norme pour des raisons de compatibilité inverse déjà expliquées ci- dessus). Pour chaque cible de message devant être notifiée en implémentant la seconde norme héritée, brièvement désignée comme secondes cibles de message, un second message (un par 20 cible de message) devant être relayé à la seconde cible de message opérant selon la seconde norme est généré au 13. Le second message est spécifié comme étant conforme à la seconde norme héritée. Le moteur de traitement de messages calcule ensuite, les dépendances d'enveloppe de messages 25 entre la première enveloppe de messages et d'autres enveloppes de messages déjà en attente pour la première cible de message au 14. Les dépendances des enveloppes de messages définissent l'ordre des enveloppes de messages pour la première cible de message. Le moteur de traitement de messages calcule par ailleurs, les dépendances de message entre les 30 premiers messages de la première enveloppe de messages sur la base au moins de la première cible de message et des fonctions des premiers messages au 15. Les dépendances de messages définissent l'ordre des messages dans chaque enveloppe de messages. 11 Les premiers messages sont ensuite envoyés à la première cible de message au 16, dans une séquence basée sur les dépendances d'enveloppe de messages et sur les dépendances de messages. 5 Concernant les seconds messages générés pour les cibles de message implémentant la seconde norme héritée, ces messages sont, soit envoyés directement s'il n'y a plus de messages en attente pour la cible de message concernée ou, lorsque d'autres messages sont en attente pour la cible de message, une dépendance de niveau de message est calculée. Dans le deuxième cas, les seconds messages sont envoyés dans une séquence en fonction de la dépendance calculée 10 de niveau de message. Un second cas représenté visuellement par la FIG. 3 suppose qu'une indication de validation de base de données reçue au 17 est une seconde indication de validation de base de données de la pluralité d'indications de validations de base de données provenant d'un système de base de 15 données qui opère selon la seconde norme héritée. Dans certains modes de réalisation, cette indication de validation de base de données n'inclut pas un signalement indiquant la première norme et le système de traitement de messages interprète ainsi que l'indication de validation de base de données est une indication selon la seconde norme héritée. 20 En réponse à la réception d'une seconde indication de validation de base de données de la pluralité d'indications de validations de base de données provenant d'un système de base de données hérité qui opère selon la seconde norme, le moteur de traitement de messages génère au 18 un message pour chaque cible de message devant être notifiée et associe potentiellement le message pour chaque cible de message à une enveloppe existante de messages pour la cible 25 respective, sous réserve qu'au moins une enveloppe de messages pour la cible de message ait été générée dans le passé et soit toujours en attente. Généralement, puisque le message de validation de la seconde base de données est conforme à la seconde norme héritée, uniquement les messages respectifs conformes à la seconde norme sont générés par le moteur de traitement de messages. En d'autres termes, une indication de validation de base de données conforme à 30 la seconde norme héritée ne cause ni une génération d'enveloppe de messages ni une génération de messages conformes la première norme. Dans les deux cas, pour les cibles de message opérant selon la première norme et pour les cibles de message opérant selon la seconde norme héritée, le moteur de traitement de messages génère 12 un message formaté selon la seconde norme, ci-après désigné comme troisième message. Pour chaque cible de message, dont il est déterminé au 19, qu'elle n'a aucune enveloppe de messages et/ou messages en attente, le troisième message généré selon la seconde norme est envoyé immédiatement, au 20, sans aucun calcul de dépendance de message. 5 Pour les cibles de message dont il est déterminé au 19 qu'elle a une enveloppe de messages en attente et/ou au moins un message en attente, le message généré conforme à la seconde norme héritée est généralement associé à l'enveloppe de messages en attente ou, si aucune enveloppe de messages n'est en attente, est inclus dans la séquence des messages en attente. Dans ce cas, 10 le moteur de traitement de messages calcule au 21 une dépendance de message du troisième message sur la base au moins de la première cible de message et sur le fait que le troisième message est un message conforme à la seconde norme héritée. La dépendance de message calculée définit l'emplacement du troisième message dans la séquence des autres messages de l'enveloppe de messages en attente pour la cible de message visée. 15 Par exemple, si la cible de message visée opère selon la première norme, c.-à-d. qu'elle est une première cible de message, une première enveloppe avec les premiers messages est peut-être déjà en attente. Dans ce cas, le troisième message est généralement inclus dans l'enveloppe de messages et une dépendance de message est calculée liant les premiers messages au troisième 20 message. Au 22, les premiers messages et le troisième message sont envoyés à la première cible de message dans une séquence basée sur les dépendances d'enveloppes de messages et sur les dépendances de messages. Dans des cas particuliers, p. ex. si la plus haute priorité, par rapport à tous les autres messages 25 dans la première enveloppe de messages, est attribuée au troisième message, aucune dépendance de messages n'est calculée, car le troisième message peut être envoyé directement. Faisant référence à la FIG. 4, optionnellement, une valeur de priorité donnée est attribuée au 24 à chacune des pluralités de messages interdépendants en fonction au moins de la norme du 30 message et du type de message. La dépendance de message entre les messages avec une enveloppe de messages est calculée au 25 sur la base des valeurs de priorité attribuées. Un exemple de tableau définissant les valeurs de priorité sera par ailleurs présenté plus loin. 13 Optionnellement, un message est envoyé au 26 en réponse à la détermination que le message est indépendant de tout autre message dans l'enveloppe de messages du message et que l'enveloppe de messages du message est indépendante de toute autre enveloppe de messages. Par ailleurs, optionnellement, la dépendance de message du message envoyé et la dépendance 5 de message du message qui suit dans l'ordre des messages dans l'enveloppe de messages du message sont mises à jour au 27. Comme il le sera expliqué de façon plus détaillée ci-dessous, cette mise à jour pourrait, le cas échéant, rendre le message suivant dans l'enveloppe de messages indépendant et donc prêt à être envoyé. 10 Si le dernier message envoyé était le dernier message de l'enveloppe de messages actuelle, la dépendance d'enveloppe de message du dernier message envoyé est mise à jour et, de même, la dépendance d'enveloppe de message de l'enveloppe de messages suivante dans l'ordre des enveloppes de messages est mise à jour. Cette mise à jour complète le traitement de l'enveloppe de messages du dernier message envoyé et l'enveloppe de messages suivante devient 15 indépendante et, par conséquent, le premier message de l'enveloppe de messages suivante devient également indépendant aussi et donc prête à être envoyée. Optionnellement, la première norme est conforme à la nouvelle norme de capacité de distribution (NDC) émise par IATA. 20 Dans certains modes de réalisation, les méthodologies décrites dans les présentes, p. ex. un système de synchronisation de réservation GDS de messages hérités TTY s'étendent à un ensemble de messages hybrides : messages TTY, messages XML et potentiellement d'autres messages. 25 Une vue de haut niveau du traitement des messages est illustrée par la FIG. 5. À titre d'exemple, un scénario de segment de vol « annulé-réservé à nouveau » est survenu dans les indications de validation de changement 34 de l'enregistrement de réservation B. Des indications de validation de changement B2 et B3 sont reçues au cours d'un processus de séquencement et de génération 30 de messages 42 provenant d'un processus de réservation GDS 32. Une indication de validation de changement B2 indique une annulation du segment de vol XX123 pour l'enregistrement de réservation B, une indication de validation de changement B3 indique l'ajout d'un segment de vol XX123 à l'enregistrement de réservation B. Le processus de séquencement et de génération de messages 42 reçoit aussi des validations de changement 34 pour d'autres enregistrements de 14 réservation conservés par le processus de réservation GDS 32, telles que les validations de changement AO, A2 et A3 relatives à un autre enregistrement de réservation A. Idéalement les indications de validation de changement 34 sont produites par le processus de 5 réservation GDS 32 d'une manière ordonnée. Cependant, cela peut ne pas être toujours le cas, comme illustré dans l'exemple pour les validations de changement relatives à l'enregistrement de réservation A qui sont envoyées par le processus de réservation GDS 32 dans l'ordre AO, A3, A2, Al. Le processus de réservation GDS 32 peut à l'origine provenir de deux systèmes de base de données différents, notamment un système de base de données opérant selon la première 10 norme (p. ex. gérant l'enregistrement de réservation B) et un autre système de base de données opérant selon la seconde norme héritée (p. ex., gérant l'enregistrement de réservation A) comme cela a été expliqué ci-dessus. En réponse à la réception des indications de validations de changement 34 du flux exemplaire 15 « annulé-réservé à nouveau » concernant l'enregistrement de réservation B (ainsi que d'autres validations de changement 34 relatives à d'autres enregistrements de réservation), le processus de séquencement et de génération de messages 42 reconnaît que ces indications de validations de changement 34 du flux exemplaire « annulé-réservé à nouveau » concernant l'enregistrement de réservation B sont des validations de changement conformes à une norme de pointe telle que 20 la norme NDC (c.-à-d. la première norme, contrairement à la seconde nonne héritée). Pax exemple, les indications de validations de changement 34 du flux exemplaire « annulé-réservé à nouveau » concernant l'enregistrement de réservation B contiennent un indicateur spécial qui les identifie comme des indications de validations de changement NDC. 25 En réponse à la reconnaissance qu'une indication de validation de changement 34 est une validation de changement NDC, le processus de séquencement et de génération de messages 42 crée une enveloppe de messages 36 pour chaque cible de message devant être notifiée, ici la cible de message 49a opérant selon la première norme telle que NDC, et un ou de multiples messages 38 appartenant à l'enveloppe de messages 36. L'enveloppe de messages groupe ledit 30 ou les multiples messages relatifs à l'indication de validation NDC reconnue et devant être envoyés à la cible de message 49a. Par ailleurs, le processus de séquencement et de génération de messages 42 établit des dépendances à deux niveaux, notamment au niveau d'une enveloppe de messages ainsi qu'au niveau du message. Les dépendances aux deux niveaux sont aussi désignées ci-après comme cartes de dépendances. 15 Le but de créer une enveloppe de messages 36 est de gérer et de déterminer si et quand les messages de cette enveloppe de messages peuvent être envoyés, c.-à-d. si les messages de l'enveloppe de messages 36 n'ont aucune dépendance envers d'autres messages 38 qui sont 5 générés par d'autres validations de changement 34. Dans ce sens, d'un point de vue fonctionnel, une enveloppe de messages 36 constitue un noeud de référence pour tous les messages 38 appartenant à cette enveloppe de messages 36 (les enveloppes de messages sont donc aussi abrégées par la lettre « R » ci-après). 10 Une nouvelle enveloppe de messages créée 36 est incluse dans une carte de dépendances au niveau de l'enveloppe de messages potentiellement déjà existante si une ou plusieurs autres enveloppes de messages est/sont déjà présentes pour la cible de message concernée 49a. Dans l'exemple de la FIG. 3, une indication de validation de changement B2 indiquant l'annulation du segment de vol XX123 est reçue par le processus de séquencement et de génération de 15 messages 42. Le processus de séquencement et de génération de messages 42 détermine que la cible de message 49a doit être notifiée et crée une enveloppe de messages R2 et trois messages 2.1 XML; 2.2 XML et 2.3 TTY appartenant à l'enveloppe de messages R2. Ensuite, une indication de validation de changement B3 est reçue. Le processus de 20 séquencement et de génération de messages 42 détermine à nouveau que la cible de message 49a doit être notifiée et crée une autre enveloppe de messages R3 avec un ensemble de messages 3.1 XML, 3.2 XML et 3.3 XML. Une dépendance entre les enveloppes de messages R2 et R3 est établie du fait que l'enveloppe de messages R3 dépend de l'enveloppe de messages R2, comme l'indique la flèche pointillée 37. 25 De plus, à l'intérieur de l'enveloppe de messages 36, des messages 38 sont mis en ordre également, c.-à-d. qu'une carte de dépendances de niveau de message est établie. Dans l'exemple de la FIG. 5, l'ordre de messages dans l'enveloppe de messages R2 est 2.1 XML, 2.2 XML et 2.3 TTY et l'ordre de messages dans l'enveloppe R3 est 3.1 XML, 3.2 XML et 3.3 30 XML comme indiqué par les flèches 39. Dans certains modes de réalisation, les cartes de dépendances de niveau de message sont établies sur la base des valeurs de priorité prédéfinies des messages, de sorte que les messages dont les valeurs de priorité sont plus élevées sont situés en amont dans la carte de dépendances des messages par rapport aux messages dont les valeurs de priorité sont plus basses. 16 Ensuite, le processus de génération de messages et de séquencement 42 reçoit l'indication de validation de changement B4 toujours liée à l'enregistrement de réservation B. l'indication de validation de changement B4 provient d'un système de réservation hérité et le processus de 5 génération de messages et de séquencement 42 détermine à nouveau que la cible de message 49a opérant selon la première nonne doit être notifiée. Ainsi, le processus de génération de messages et de séquencement 42 génère un message TTY; le message 4 TTY, qu'il classe dans la carte de dépendances existante conformément aux mécanismes du contexte TTY décrits par EP 2254046 B1 . Dans l'exemple de la FIG. 5, une dépendance de .niveau de messages est 10 calculée pour le message 4 TTY de sorte que le message 4 TTY dépend du message 2.3 TTY (pour des raisons de présentation, il est supposé ici que le message 2.3 TTY ne pouvait pas déjà être envoyé, p. ex parce que d'autres messages TTY antérieurs relatifs à l'enregistrement de réservation B, non représentés dans la FIG.5, sont toujours en attente pour la cible de message 49 a) 15 Les cartes de dépendances au niveau de l'enveloppe de messages et au niveau des messages contrôlent la séquence d'envoi des messages aux cibles de message 49. Généralement, les messages pour une enveloppe particulière de messages 36 sont seulement envoyés aux cibles de message 49 si l'enveloppe particulière de messages 36 ne dépend pas d'autres enveloppes 20 de messages 36. Par conséquent, dans l'exemple de la FIG. 5, les messages 3.1 XML, 3.2 XML et 3.3 XML ne sont envoyés qu'après le traitement complet de l'enveloppe R2, c.-à-d. après que toutes les enveloppes de messages R2 ont été envoyées avec succès à la cible de message 49a. À l'intérieur d'une enveloppe de messages, l'ordre d'envoi des messages est déterminé par la dépendance de niveau de message. Dans l'exemple de la FIG. 5, l'ordre d'envoi des messages 25 à l'intérieur de l'enveloppe de messages R2 est le message 2.1 XML en premier, suivi du message 2.2 XML et en dernier le message 2.3 TTY. Pour l'enveloppe de messages R3, l'ordre d'envoi des messages est le message 3.1 XML en premier, suivi du message 3.2 XML et en dernier le message 3.3 XML. Le message 4 TTY peut être envoyé après que le message 2.3 TTY a été transmis avec succès, c.-à-d. que le message 4 TTY est envoyé parallèlement au 30 message 3.1 XIVIL. Les indications de validation de changement 34 reçu en provenance d'un système de base de données hérité sont généralement converties uniquement en message conforme à la seconde norme héritée, dans l'exemple de la FIG. 5 en messages TTY. Dans le cas où aucun message 17 antérieur n'est en attente pour une cible de message donnée concernée, ces messages peuvent être envoyés immédiatement sans calcul d'une dépendance de niveau d'enveloppe de messages et de niveau de messages. Dans l'exemple de la FIG. 5, l'enregistrement de réservation A est conservé dans un système hérité de base de données et les indications de validations de 5 changement AO, Al, A2 et A3 ne sont donc converties qu'en messages TTY. Par exemple, en réponse à la réception d'une indication de validation de changement AO, le processus de génération de messages et de séquencement 42 détermine que la cible de message 49b (qui est une cible de message opérant selon la seconde norme héritée) doit être notifiée et génère un message 0 TTY qui est ensuite envoyé immédiatement puisqu'il n'y a aucun autre message en 10 attente pour la cible de message 49b. De même, l'indication de validation de changement Al déclenche la génération du message 1 TTY qui est à nouveau envoyé immédiatement sans calcul d'une dépendance de niveau de message, en supposant que le message 0 TTY a déjà été délivré avec succès à la cible de message 49b. 15 Généralement, un message est déterminé comme étant éligible à l'envoi et doit être placé dans une file d'attente d'envoi de messages en réponse à la détermination que le message ne dépend pas de la remise réussie d'un autre message, dans lequel cette dépendance est définie par les cartes de dépendances au niveau d'enveloppe de messages et au niveau du message. Si une remise réussie d'un message particulier est reconnue, p. ex. par la réception d'une réponse de 20 confirmation de réception en provenance de la cible de message 49, l'état de dépendance de ce message particulier est mis à jour par le système de traitement de messages. En réponse à la mise à jour de l'état de cette dépendance, l'état de dépendance d'autres messages dépendants du message particulier est ensuite actualisé de « dépendant à « indépendant » ayant pour effet de déclencher ensuite l'envoi de ces autres messages. En réponse à la détermination que le 25 dernier message dans la carte de dépendances de niveau de message d'une enveloppe particulière de messages 36 a été remis avec succès à la cible de message 49, c.-à-d. tous les messages de l'enveloppe de message particulière 36 ont été envoyés, l'enveloppe particulière de messages particulière 36 est considérée comme étant complètement traitée et l'état de dépendance au niveau de l'enveloppe de messages de l'enveloppe de messages suivante qui 30 dépend de l'enveloppe de messages particulière 36 est actualisée de « dépendant » à « indépendant ». Cela rend le premier message de la carte de dépendances de niveau de message de l'enveloppe suivante de messages prêt pour envoi et l'envoi de ce premier message de l'enveloppe de messages suivante est déclenché. Tout le processus continue de la même 18 manière jusqu'à ce que tous les messages de l'enveloppe de messages aient été envoyés à leurs cibles de message. TTY et XML utilisés ci-dessus sont des exemples de différents types de messages conformes 5 aux différentes normes de messages. TTY est un exemple de norme héritée utilisant un ou plusieurs sous-types hérités de messages. XML est un exemple d'une nouvelle génération de normes utilisant une pluralité de sous-types de messages, p. ex. pour des fonctions différentes de manipulation de base de données. Habituellement, les différents types de messages sont générés pour différents types de cibles de message, notamment des cibles de message qui 10 implémentent les différentes normes de message. L'exemple de la FIG. 5 montre deux types spécifiques de cibles de message, notamment les cibles de message TTY 49b qui implémentent uniquement la norme héritée (et non la norme de la nouvelle génération) et les cibles de message XML 49 a qui implémentent la nouvelle génération de normes telles que la norme NDC (comme expliqué ci-dessus, la cible de message XML 49a pourrait potentiellement être compatible 15 inversement et donc capable de traiter aussi les messages hérités). Le système de traitement de message des présentes n'est pas limité aux traitements des messages de deux normes de message, mais il est extensible et généralement approprié aux traitements des messages conformes à une ou plusieurs autres normes et types pour des cibles 20 de message 49e qui implémentent lesdites nouvelles normes. Le concept d'établir des dépendances au niveau de l'enveloppe de messages et au niveau du message peut être utilisé pour gérer toute autre nouvelle norme et tout autre type, par exemple en attribuant des valeurs de priorité aux messages de la nouvelle norme/nouveau type qui définissent une relation des messages de la nouvelle norme/nouveau type aux messages des normes/types existants. 25 Concernant la partie plus spécifique de la description, un exemple d'implémentation particulier des mécanismes généraux de traitement des messages expliqués ci-dessus sera décrit maintenant en référence aux FIGS. 6 à 14. 30 Un processus d'architecture exemplaire pour l'implémentation du moteur de traitement de messages 50 est illustré par la FIG. 6. L'architecture de système inclut les composants suivants qui sont implémentés par un logiciel utilisant des ressources matérielles dédiées et/ou partagées : 19 - un moteur de réservation d'un système de distribution globale hérité (GDS) 41 qui produit des indications de validations de changement d'un GDS hérité ; - un moteur de réservation NDC 40 produit des indications de validations de changement NDC PNR et marque ces validations de changement avec une balise 5 signalant que ces indications de validations de changement sont des indications de validations de changement NDC (c.-à-d. conformes à la première norme) et doivent être traitées conformément à la norme NDC, sauf pour les cibles de message devant être notifiées qui opèrent toujours selon la seconde norme héritée, telles que les cibles de message TTY. 10 - un processus de génération de messages NDC et de séquencement 42 qui génère toutes sortes de messages de réservation tels que des messages TTY, des messages XML ou autres types de messages. Le processus de génération de messages et de séquencement NDC 42 calcule les cartes de dépendances des messages. - un moteur de séquencement de messages TTY 43 qui forme une partie du processus 15 de génération de messages et de séquencement NDC 42. Le moteur de séquencement de messages TTY 43 calcule les caractéristiques de dépendance des messages TTY, ce qui détermine l'ordre d'envoi des messages TTY comme décrit p. ex. par EP 2254046 Bi. - un tableau de priorité de messages 44 qui stocke les valeurs de priorité de message. 20 Les valeurs de priorité des messages sont précalculées sur la base des résultats d'analyse et peuvent être mises à jour si nécessaire ou à la demande. - une carte de dépendances et un tableau de messages 45 qui stockent les cartes de dépendances à au moins deux niveaux, notamment les cartes de dépendances au niveau de l'enveloppe de messages pour les enveloppes de messages et les chaînes 25 de dépendances au niveau du message pour les messages. - une machine étatique d'envoi de messages 46 qui représente le processus principal pour contrôler l'envoi de messages et pour mettre à jour la carte de dépendances au niveau des enveloppes et les chaînes de dépendances au niveau des messages. La machine étatique d'envoi de messages 46 inclut une file d'attente de messages 46a 30 et deux sous-processus, notamment - un sous-processus d'émission de messages 47 qui retirent systématiquement les messages de la file d'attente et les envoie aux cibles 49, et - un sous-processus de réception de réponse de messages 48 qui est à l'écoute des réponses aux messages. Le sous-processus de réception de réponse 48 des cibles 20 valide les opérations de la file d'attente de l'émetteur et met à jour les cartes de dépendances au niveau des enveloppes de messages et les chaînes de dépendances au niveau des messages afin de suivie les changements dans la carte de dépendances et le tableau de messages 45 en réponse à la réception de réponses de confirmation 5 provenant des cibles de message 49. Ces composants d'architecture de système interagissent les uns avec les autres de la manière suivante illustrée par les flèches connectant les blocs dans la FIG. 6. 10 Le moteur de réservation NDC 40 crée un nouvel enregistrement de base de données, p. ex. en réponse à une nouvelle réservation de voyage ou à des mises à jour d'un enregistrement existant de donnée en réponse à changement d'une réservation de voyage existante. La création d'un nouvel enregistrement de base de données et la mise à jour de l'enregistrement existant de base de données génèrent respectivement des indications de validations de changement que le 15 moteur de réservation NDC 40 publie (flèche NO1) au processus de séquencement et de génération de messages NDC 42. Toutes les publications provenant du moteur de réservation NDC 42 sont signalées (p. ex., balisées) comme étant des validations d'un changement de réservation NDC, c.-à-d. comme des indications de validations de changement de base de données provenant du moteur de réservation NDC 40. 20 De façon similaire, le moteur de réservation GDS hérité 42 peut créer un nouvel enregistrement de base de données, p. ex. en réponse à une nouvelle réservation de voyage ou à des mises à jour d'un enregistrement existant de donnée en réponse à un changement dans une réservation de voyage existante. La création d'un nouvel enregistrement de base de données et la mise à 25 jour d'un enregistrement existant de base de données génèrent respectivement une indication de validation de changement qui est publiée par le moteur de réservation GDS hérité 42 (flèche NO2) au processus de séquencement et de génération de messages NDC 42. Cependant, les indications de validations de changement publiées par le moteur de réservation GDS hérité 40 ne sont pas signalées ou balisées. 30 En réponse à la réception d'une indication de validation de changement provenant du moteur de réservation GDS hérité 42, le processus de séquencement et de génération de messages 42 génère uniquement des messages TTY pour des cibles de message devant être notifiées. 21 En réponse à la réception d'indications de validations de changement de base de données provenant du moteur de réservation NDC 40, le processus de séquencement et de génération de messages NDC 42 génère des enveloppes de messages pour les cibles de message NDC devant être notifiées et des messages associés aux enveloppes de messages respectives. Dans ce but, le 5 processus de séquencement et de génération de messages NDC 42 récupère les valeurs de priorité de messages dans le tableau de priorité de messages 44 (flèche N05 représentant des demandes de récupération et flèche N06 représentant des réponses de récupération), ainsi que l'information récupérée concernant les enveloppes d'un message actuelles et les messages associés de la carte de dépendances et le tableau de messages 45, et insère les enveloppes de 10 messages nouvellement générées et les messages associés dans une carte de dépendances et dans le tableau de messages 45 (flèche NO3 représentant les demandes de récupération et d'insertion et flèche N04 représentants les réponses de récupération et d'insertion). Les interactions du processus de séquencement et de génération de messages NDC 42 avec le tableau de priorité de messages 44 et la carte de dépendances et le tableau de messages 45 seront 15 expliquées par la suite sur la base d'un exemple particulier. Par ailleurs, le processus de séquencement et de génération de messages 42 peut déterminer qu'un message particulier ne dépend d'aucun autre message ce qui signifie que ce message est prêt à être envoyé à la cible de message 49. Dans cette situation, le processus de séquencement 20 et de génération de messages 42 récupère le message particulier de la carte de dépendances et du tableau de messages 45 via des opérations NO3 (demande de récupération) et N04 (réponse de récupération), génère un élément de file d'attente de message représentant le message particulier et place l'élément de file d'attente de message dans la file d'attente de messages 46a de la machine étatique d'envoi de messages par une opération N07. 25 Par la suite, l'élément de file d'attente de messages est retiré par une opération N08 de la file d'attente par la machine étatique d'envoi de messages 46 et envoyé (flèche N09) par le sous-processus d'émission de messages 47 à la cible correcte de message 49. Une réponse de message (telle qu'un accusé de réception) peut être reçue (flèche N10) de la cible de message 30 49 par le sous-processus de réception de réponses de message 48 de la machine étatique d'envoi de messages 46. Une fois que la réponse de la cible de message 49 a été reçue, c.-à-d. que le message particulier a été remis avec succès à la cible de message 49, la machine étatique d'envoi de messages 22 46 met à jour l'état de dépendance de message du message particulier dans la carte de dépendances et dans le tableau de messages 45 (flèche N11). Cette mise à jour peut rendre le message ou les messages suivants indépendants de tout autre message (c.-à-d. que l'envoi de ce nouveau message de ces nouveaux messages peut-être ensuite déclenché. Dans ce but, le 5 message qui est devenu indépendant par la remise réussie du message particulier préalablement est récupéré (flèche N12) par la machine étatique d'envoi 46 et placé en file d'attente dans les files d'attente de messages 46a. Les opérations N08, N09 et Ni 0 sont ensuite exécutées de la même manière que décrite ci-dessus. 10 Un exemple du tableau de priorité de messages 44 se présente ainsi : Cible de message Type de message Nom de message Valeur de priorité YY XML SUPR 90 YY TTY TTY 50 YY XML AJT 10 YY NOUV GÉN NULL ZZ XML SUPR 95 ZZ TTY TTY 90 ZZ XML AJT 70 ZZ XML DIV 0 La colonne « Cible de message » définit les destinations de messages, c.-à-d. qu'elle liste toutes les cibles de message connues 49. La colonne « Type de message » indique les nonnes de 15 messages (c.-à-d. si elles sont conformes à une norme héritée telle que le type de message ITY ou conformes à une norme actuelle telle que NDC qui utilise des messages XML. Selon le type/norme de message, il peut y avoir des messages de sous-types différents qui sont indiqués dans la colonne « Nom de message ». Comme le montre l'exemple ci-dessus, la norme héritée peut ne pas fournir différents types de messages de sorte que tous les messages TTY sont 20 désignés sous le nom de messages TTY. Cependant, la nouvelle norme qui utilise des types de messages XML peut définir différents types de messages tels que suppression de messages (« SUPR ») et ajout de messages (« AJT »). Enfin une troisième nonne (« NOUV ») peut définir des messages génériques (« GÉN »). 23 La colonne « Valeur de priorité » définit la valeur de priorité du message de tous les messages d'un type de message donné et le nom du message devant être adressé à une cible de message particulière. Par conséquent, les valeurs de priorité permettent de différencier des messages au niveau de la cible de message, de la norme et du sous-type/nom de message. Dans l'exemple 5 ci-dessus, les valeurs de la colonne « Valeur de priorité » ont les significations suivantes : une valeur de priorité de 0 signifie que le message ne doit pas être envoyé. Ceci a du sens, p. ex. dans les cas où les messages, ayant une certaine fonction, sont déjà spécifiés par la première norme, mais ne sont pas encore pris en charge par les cibles de message actuellement déployées. Dans l'exemple de la table 44 ci-dessus, c'est le cas p. ex. pour le message DIVISE qui est déjà 10 généré en interne par le moteur de traitement de messages 50, mais n'est pas (encore) envoyé en raison d'un manque d'implémentation par les cibles de message. Si aucune valeur de priorité n'est fixée (« NULL »), le message peut être envoyé lorsqu'il n'y a aucune dépendance au niveau de l'enveloppe de messages. Les messages d'une enveloppe sont interdépendants selon leur valeur de priorité, des valeurs de priorité de valeurs plus ou moins élevées. 15 Le tableau de priorité de messages 44 est généralement statique, mais configurable à tout moment. Une nouvelle cible peut être ajoutée, de nouveaux types de messages peuvent être ajoutés pour les diverses cibles et aussi de nouveaux noms de message peuvent être ajoutés pour un type de message donné. En outre, des rangs existants peuvent être mis à jour ou supprimés, 20 par ex. lorsqu'une cible particulière doit être retirée. Les valeurs de priorité peuvent être également reconfigurées. Dans certains modes de réalisation, le tableau de priorité de messages 44 n'est pas hébergé par un système de base de données, mais est stocké sous la forme d'un fichier antémémoire (cache 25 memory) par ex. d'un serveur de lots. L'antémémoire peut être synchronisée avec tout serveur si cela est nécessaire ou approprié. Par exemple, les changements du tableau de priorité de messages 44 peuvent être effectués par un système de gestion de contenu du serveur de lots puis diffusés vers tous les serveurs déployés. 30 D'autre part, la carte de dépendances et le tableau de messages 45 est très dynamiques parce que la carte de dépendances et le tableau de messages 45 représente l'état actuel du système de traitement de messages à tout moment donné. Ainsi, dans certains modes de réalisation, la carte de dépendances et le tableau de messages 45 est hébergés par un système de base de données. Le système de traitement de messages décrit dans les présentes peut fonctionner en sessions 24 multiples en direct, en insérant et en actualisant la carte de dépendances et le tableau de messages 45 en temps réel. Une définition exemplaire des colonnes de la carte de dépendances et du tableau de messages 5 45est la suivante : Nom de colonne Définition ID Numéro d'identifiant de message P Clé de référence identifiant l'enregistrement de réservation associé du moteur de réservation NDC. 40 ou du moteur de réservation GDS hérité 41. P-Ordre de Clé et/ou une chaine de lettres et de nombres I Numéro de validation de changement : P(i) représente la e validation de changement de base de données l'enregistrement de réservation P J Cible de message RD_STAT État de dépendance au niveau de l'enveloppe de messages D_STAT État de dépendance au niveau de l'enveloppe de messages D ID Identifiant de dépendance indiquant l'enveloppe de messages ou le message dont dépend l'enveloppe de messages ou le message N Nom de message TYPE Type de message Message P(i),n Le message généré lui-même Mi (x) représente le Xe message devant être envoyé à la cible j, généré pour la validation de changement i de l'enregistrement de réservation P et le nom du message est n. Les deux états de dépendance RD_STAT et D_STAT peuvent prendre les valeurs « envoyées » (S) si le message a été envoyé, ou « sans effet » (V) s'il n'y a pas de message à envoyer à la 10 cible (p. ex. l'entrée du tableau représente une enveloppe de messages contrairement à un message), ou « dépendant » (D) si le message à une dépendance envers un autre message au niveau du message ou si l'enveloppe de messages du message a une dépendance envers une autre enveloppe de messages, ou « N» s'il n'existe pas de dépendance (= prêt à être envoyé) ou « inconnu » (U) lorsque la dépendance n'a pas encore été identifiée, p. ex. un message 15 correspondant est manquant pour le moment, c.-à-d. toujours en suspens dans le processus de séquencement et de génération de messages NDC 42. Les entrées de tableau représentent des enveloppes de messages si la cellule RD_STAT est remplie et si la cellule D_STAT reste vide. 25 P(i),n Par exemple l'enveloppe de messages pour la liste de messages de {Mi (x)}est dénotée P(i) comme R. - Dans certains modes de réalisation, le système de traitement de messages 50 est déployé comme 5 une gamme de serveurs 52 avec potentiellement de multiples occurrences respectives de traitement 54 comme le montre la FIG. 7. Les caractéristiques de répartition de charges peuvent distribuer les charges de traitement de messages entre les cas de traitement 54 d'un serveur 52 et/ou entre les serveurs 52 de la gamme de serveurs. Par conséquent, le système de traitement de messages 50 est extensible afin de s'adapter à une augmentation potentielle de trafic. 10 Le système de traitement de messages 50 présente au moins un serveur de base de données 56 (il peut y avoir des bases de données additionnelles pour des raisons de redondance et/ou de performance) qui conserve la carte de dépendances et le tableau de messages 45. Toutes les occurrences de traitement 54 sont connectées aux serveurs de base de données 56. De façon 15 globale, le système de traitement de messages 50 constitue une étape dans une chaîne de traitement d'information d'un système distribué plus large comprenant tous les composants montrés dans la FIG. 6 et d'autres composants tels que les clients d'agences de voyages. D'autre part, le système de traitement de messages 50 effectue un traitement parallèle, car chaque cas de traitement individuel 54 est capable de traiter une enveloppe d'enregistrement à la fois. 20 Comme expliqué ci-dessus, le processus de séquencement et de génération de messages NDC 42 est le processus principal du système de traitement de messages 50. Le processus de séquencement et de génération de messages NDC 42 contient le moteur de séquencement de messages TTY hérités 43 et interagit avec le tableau de priorité de messages 44 et la carte de 25 dépendances et le tableau de messages 45. Les opérations NO! à N07 montrées dans la FIG. 6 peuvent être implémentées par l'organigramme de processus exemplaire de la FIG. 8 décrit ci-après. Lorsqu'une indication de changement de validation d'une base de données est reçue, au 602, 30 provenant soit du moteur de réservation NDC 40, soit du moteur de réservation GDS hérité 41, le processus de séquencement et de génération de messages NDC 42 construit en premier, au 604, une liste de cibles de message 49 qui sont affectées par la validation de changement de base de données et recevront donc un ou plusieurs messages informant la cible du changement 26 dans l'enregistrement de réservation survenue dans le moteur de réservation NDC 40 ou dans le moteur de réservation GDS hérité 41. De façon générale, les messages pour les différentes cibles 49 n'ont pas de relations de 5 dépendance (c.-à-d. qu'un premier message vers une première cible peut être envoyé quel que soit l'état du second message adressé à une seconde cible. Par conséquent, comme expliqué ci-dessus, les dépendances au niveau de l'enveloppe de messages ne sont établies qu'entre des enveloppes de messages pour la même cible de message et, naturellement, les dépendances au niveau du message ne sont établies qu'entre les messages d'une enveloppe de messages et donc 10 entre messages pour une et même cible de message. Par conséquent comme illustré par la FIG. 8, le processus de séquencement et de génération de messages NDC 42 traite les cibles de message 49 dans la liste l'une après l'autre. Pour une indication donnée de validation de changement de base de données, une carte de dépendances de messages est construite ou élargie soit par la génération d'une nouvelle enveloppe de messages avec un ou plusieurs messages 15 [côté droit de la FIG. 8] ou un message hérité [côté gauche de la FIG. 8] pour chaque cible de message devant être notifiée par les activités suivantes représentées dans la FIG. 8. Au 606, le processus de séquencement et de génération de messages NDC 42 vérifie si la fin de la liste établie de cibles de message au 604 a été atteinte. Si tel est le cas, le processus de la 20 FIG. 8 se termine, car l'indication de validation de changement de base de données reçue a été traitée complètement. Si ce n'est pas le cas, le processus se poursuit avec la cible de message 49 suivante dans la liste de cibles de message ; après lecture de cette nouvelle cible au 608 le processus détermine si la cible suivante opère selon la première norme [c.-à-d. NDC dans cet exemple] ou selon la seconde norme héritée [c.-à-d. ne traitant que les messages TTY dans cet 25 exemple]. Le processus vérifie ensuite au 610 si l'indication de validation de changement de base de données reçue est signalée comme étant une validation provenant du moteur de réservation NDC 40 ou du moteur de réservation GDS hérité 41. Les deux déterminations des boîtes 608 et 610 déterminent si le récepteur actuel est traité via 30 le côté gauche ou via le côté droit de la FIG. 8. En réponse à la détermination que l'indication de validation de changement de base de données provient du moteur de réservation NDC 40 et est donc alignée avec la première norme et que la cible actuelle de messages opère selon la première norme, « branche oui » de la boîte 610 est choisie. Dans tous les autres cas, c.-à-d. en réponse à la détermination que l'indication de validation de changement de base de données 27 provient du moteur de réservation GDS hérité 41 au 610, et/ou que la cible actuelle de message opère selon la seconde norme héritée au 608, « branche non » de la boîte 610 est choisie. Les deux branches du processus dans son ensemble, illustrées par la FIG. 8, utilisent la carte de dépendances et le tableau de messages 45. Le côté gauche « branche non » de la boîte 610 stocke 5 les dépendances au niveau du message ainsi que les messages mêmes dans la carte de dépendances et dans le tableau de messages 45, sauf si les messages TTY sont envoyés directement, car aucun des messages qui étaient en attente pour la cible de message visée n'est plus en attente. Le côté droit « branche oui » de la boîte 610 stocke les dépendances au niveau de l'enveloppe de messages et au niveau du message également ainsi que les messages mêmes 10 dans la carte de dépendances et dans le tableau de messages 45. Pour les cibles de message héritées/non NDC et/ou les indications de validation de changement héritées, le processus de séquencement et de génération de messages NDC 42, plus spécifiquement le moteur de séquencement TTY 43, génère un message TTY par les activités 15 612 à 624. Le message TTY est formaté au 612, un élément de dépendance TTY est initialisé au 614. Ici, les valeurs de priorité de messages pour les messages TTY sont récupérées dans le tableau de priorités de messages 44. Si, au 616, il est déterminé que le message TTY actuel est le premier message pour la cible sélectionnée dans les listes au 606, c.-à-d. s'il n'y a pas de message TTY antérieur en attente pour cette cible, le message TTY est transmis à la machine 20 étatique d'envoi de messages 46 et placé directement dans la liste d'attente 46a. La carte de dépendances et le tableau de messages 45 est ensuite validé au 620 et le processus dans son ensemble avance à la cible suivante sur la liste de cibles, au 626. Si, au 606, il est vérifié que la fin de la liste de cibles est atteinte, le processus prend fin. 25 En réponse à la détermination, au 616, qu'un ou plusieurs autres messages XML et/ou TTY sont toujours en attente pour la cible de message actuelle sélectionnée au 606, le processus de séquencement et de génération de messages NDC 42 calcule un état de dépendance de niveau de message pour le message TTY au 622, c.-à-d. que le paramètre D_STAT est réglé pour le message TTY. Si D_STAT est calculé comme étant «N », c.-à-d. qu'aucune dépendance 30 n'existe pour le message TTY, le message TTY peut être envoyé directement à la cible de message 49. Ainsi, de façon similaire à ce qui a été décrit ci-dessus, le message TTY est transmis à la machine étatique d'envoi de messages 46 et placé directement dans la file d'attente 46a au 618 et le processus procède de la façon décrite ci-dessus. Si l'opération 624 détermine un quelconque état de dépendance du message autre que « N », la carte de dépendances et le 28 tableau de messages 45 est ensuite validé au 620 et le processus global avance à la cible suivante sur la liste de cibles au 626. D'autres détails de traitement des messages hérités TTY sont décrits dans EP 2254046 Bi, en 5 particulier dans la FIG. 5, FIG. 6 et FIG. 7 d'EP 2254046 B1 et la description qui les accompagne sous les paragraphes [0030] à [0034] auxquels il est fait référence dans les présentes. Pour les cibles de message 49 qui implémentent la norme NDC, ainsi que déterminé au 608, et 10 sous réserve que l'indication de validation de changement actuellement traitée soit balisée NDC, ainsi que déterminé au 610, le processus de séquencement et de génération de messages NDC 42 génère un ou plusieurs messages NDC par les activités 612 à 624 de la FIG. 8. Au 628, un ou plusieurs messages sont générés selon la première norme [ici : sur la base NDC 15 sur XML] et/ou selon la seconde norme [ici : la norme de messages héritée sur la base TTY]. Les opérations 630 et 632 sont similaires sur le plan fonctionnel aux opérations 614 et 616, mais - contrairement à 614 et 616 - sont relatives à une chaîne de dépendances au niveau de l'enveloppe de messages. Au 630, une enveloppe de messages pour ledit ou plusieurs messages NDC est créée et l'état de dépendance de l'enveloppe de messages RD_STAT est initialisé. La 20 vérification au 632 détermine si l'enveloppe de messages est la première enveloppe de messages pour la cible actuelle de message 49 visée dans la boucle actuelle dans la carte de dépendances d'enveloppe de messages stockée dans la carte de dépendances et le tableau de messages 45. En réponse à la détermination, au 632, qu'il n'y a plus d'enveloppe de messages antérieure pour la cible actuelle 49, l'enveloppe de messages nouvellement créée n'a pas de 25 dépendance et le paramètre RD_STAT est ensuite réglé sur N conformément, au 634. D'autre part, en réponse à la détermination au 632 qu'une ou plusieurs enveloppes de messages pour la cible actuelle 49 sont déjà présentes dans la carte de dépendances et dans le tableau de messages 45, le paramètre RD_STAT est alors réglé conformément sur D au 636. Après que RD_STAT est calculé au 634 ou au 636, le processus 638 est appelé à stocker l'enveloppe de messages 30 présente dans la carte de dépendances et dans le tableau de messages 45. Après la validation réussie de la carte de dépendances et du tableau de messages 45 au 638, le processus 640 est appelé à construire une chaîne de dépendances de messages de c.-à-d. des dépendances des messages à l'intérieur de l'enveloppe de messages adressés à la 29 cible 49 de la boucle actuelle. L'opération 640 fait usage des valeurs de priorité de message prédéfinies dans le tableau de priorité de messages 44. Un organigramme détaillé de l'opération 640 est illustré dans la FIG. 9. Faisant maintenant 5 référence à la FIG. 9, les saisies de l'opération 640 de la FIG.8, telles qu'elles sont représentées au 702 de la FIG.9, sont : p(i) i) l'enveloppe de messages Ri , P(0,77. ii) la liste de messages, {Mi (x)) et iii) les noms de messages, les types et cibles des messages dans la liste de messages. 10 Les résultats sont la liste des éléments de dépendance qui sont construits pour les entrées. Les premiers processus, 704 et 706, visent à lire le tableau de priorité de messages 44 et à trouver les valeurs de priorité des messages Mif(iln(x) dans la liste de messages. La liste de messages entrés est ensuite classée selon des valeurs de priorité, des valeurs de priorité les plus élevées 15P an aux valeurs de priorité les plus basses. La liste des messages classés est dénotée {Mi (x)1. Une fois que les messages sont classés selon un ordre, alors chacun des messages de la liste de messages passe en boucle à l'étape 708, l'étape de vérification 710 permet de déterminer d'abord si le message actuellement envisagé a une valeur de priorité valide définie dans le 20 tableau des priorités de message 44. En réponse à la détermination que le message actuellement envisagé au 710 a une valeur de priorité valide, la vérification additionnelle au 720 est appelée à déterminer si le message est le premier message dans la liste de messages, Mil' 'n (1) . Dans l'affirmative, le DID du message Mir (iln (1) ' est attribué à l'ID de Rif(i) au 722. Au 724 une vérification est effectuée pour déterminer si la valeur Rif (i) de RD_STAT est N ou V, c.-à-d. si 25 l'enveloppe de messages est indépendante des autres enveloppes de messages. Si cela est avéré, alors au 726 le message actuel est réglé pour être indépendant, c.-à-d. que la valeur D_STAT pour e MiP(D'n (1) '=N. Sinon, au 728, le message est fixé pour être dépendant, c.-à-d. la valeur D STAT pour e (1.) '=D. Le processus de la FIG.9 avance ensuite au prochain message dans la liste de messages au 738. 30 Si le message traité dans la boucle actuelle n'est plus le premier message, ainsi que déterminé au 720, le DID du message 11,17 (D'il (X) 'est attribué à l'ID du message MiP(OEn(x - 1) ', au 730. 30 Une autre vérification 732 est alors effectuée afin de déterminer si la valeur de priorité du message de la boucle actuelle est égale à 0. Comme mentionné ci-dessus, une valeur de priorité égale à 0 signifie que le message ne doit pas être envoyé. Par conséquent, si la valeur de priorité = 0 est reconnue, D_STAT de MiP(iIn(x)' est réglé sur V. Sinon, D_STAT deMiPnn(x) ' est 5 réglé sur D dans les opérations 734 et 736, respectivement. Le processus de la FIG. 9 avance ensuite au prochain message dans la liste des messages, au 738. Si, au 710, il est déterminé que la valeur de priorité du message actuel ne doit pas être définie, cela signifie que le message n'est dépendant que de l'enveloppe de message Rif(i)s. Par 10 conséquent, MID est toujours réglé sur l'ID de Rif(i) au 712 (ce qui est identique à l'opération 722) et D STAT du message est réglé sur D au 716 ou à V au 718, selon que RD_STAT de l'enveloppe de messages est déterminé comme étant N ou V au 714. Le processus de la FIG. 9 avance ensuite au prochain message dans la liste des messages, au 738. 15 Faisant maintenant référence à nouveau à la FIG. 8, après que l'opération 640 est conclue, la vérification 642 de la dépendance RD_STAT de l'enveloppe de messages est appelée à déterminer si les messages de l'enveloppe de messages peuvent être placés dans la file d'attente 46a pour envoi. Si RD_STAT = N, l'opération 644 est exécutée pour placer le premier message P (0n de l'enveloppe de messages, c.-à-d. M, i (1)1, dans la file d'attente 46a afin d'être envoyé en 20 premier. Ensuite, d'autres messages de l'enveloppe de messages, Mir(i)'n(x)', dont D STAT est égal à N sont aussi placés dans la file d'attente 46a, au 644. Si, au 642, il est déterminé que RD_STAT de l'enveloppe de messages n'est pas N, une autre vérification est effectuée afin de déterminer si un message TTY estI t rn (1) dans la carte de 25 dépendances de message pour la cible de message 49 de la boucle actuelle. Dans l'affirmative, la carte de dépendances de messages et mise à jour au 648. Plus spécifiquement, {Mln(x)1} est mis à jour afin de de relier DID de Mif (iln (1) ' au message TTY de P(i - 1) ou à l'enveloppe de messages Rif(i-1), si aucun TTY n'est présent au 648. 30 À ce stade, après que les opérations 644, 646 et 648, respectivement, ont été conclues, le calcul de la liste de messages {Mi(x) est achevé et la chaîne de dépendances pour (P(0,j) est ainsi définie. De plus, tous les messages dont D_STAT=N ont tous placés dans les listes de file 31 d'attente 46a pour envoi de ces messages aux cibles de message 49. Les résultats sont ensuite stockés dans la base de données lors de l'opération de validation 620. Le processus de la FIG. 8 avance ensuite au 626 à la cible de message suivante dans la liste de cibles de message. 5 Le processus de séquencement et de génération de messages NDC 42 peut être expliqué par ailleurs en se référant à titre d'exemple aux mises à jour historiques de la liste de messages, dans les tableaux I et II illustratifs fournis à titre d'exemple qui figurent ci-dessous, les deux étant des exemples de la carte de dépendances et du tableau de messages 45 à un moment particulier dans le temps. 10 Dans cet exemple historique de mise à jour, les indications de validations par rapport aux deux enregistrements de réservation, AAAAAA et BBBBBB, sont reçues par le processus de séquencement et de génération de messages NDC 42. Deux cibles de message 49, désignées comme YY et ZZ, sont concernées par ces deux enregistrements de réservation et sont donc les 15 récepteurs des messages générés par le système de traitement 50. Pour les entrées d'enveloppe de messages, seules les six premières colonnes sont remplies. Les entrées de message n'incluent pas les valeurs pour la cinquième colonne RD_STAT, car ce paramètre fait référence à la dépendance au niveau de l'enveloppe de message. 20 Tableau I. Cartes de dépendances du traitement des enveloppes de messages 0 et 1 ID P I J RD STA T DID D STA T N TYP E Message 001 AAAAA A 0 YY S NUL L NULL NULL NULL NULL 002 BBBBBB 0 ZZ S NUL L NULL NULL NULL NULL 003 AAAAA A 0 YY NULL 001 S TTY T iviyAl(o),TTY (1), 004 AAAAA A 1 ZZ N 001 NULL NULL NULL NULL 005 AAAAA A 1 ZZ NULL 004 S SUPR X m zi4;1),DEL (1), 006 BBBBBB 0 ZZ NULL 002 V TTY T MzE.;"'TTY (1) ' 007 AAAAAA I ZZ NULL 005 N TTY T i t i zAp),TTY (2) , 32 008 BBBBBB 0 ZZ NULL 006 S AJOU T X B(0),ADD , M ZZ (2) 009 BBBBBB 1 YY N 002 NULL NULL NULL NULL 010 BBBBBB I YY NULL 009 N TTY Y B(1),TTY), M zz (1 011 AAAAA A 1 YY N 001 NULL NULL NULL NULL 012 AAAAAA I YY NULL 011 N AJOUT X myAl(i),xml, (1), Les enveloppes de messages AAAAAA(0) et BBBBBB(0) sont les premières enveloppes respectives de messages des enregistrements de réservation AAAAAA et BBBBBB. Ainsi, les entrées du tableau avec les ID 001 et 002 sont détectées chacune comme étant les « premières 5 pour la séquence » au cours de la vérification 632 dans la FIG. 8. AAAAAA(1) n'est pas la première enveloppe de messages, mais la première enveloppe de messages relative à l'enregistrement de réservation AAAAAA pour lequel au moins un message est généré pour la cible de message ZZ. En conséquence, l'entrée du tableau d'enveloppe de messages » D 004 est aussi détectée comme étant la « première pour la séquence » au cours de la vérification 632 10 dans la FIG.8. Ces entrées de tableau d'enveloppe de messages n'ont pas le paramètre DID réglé et leur RD_STAT respectif est réglé sur «V » comme indiqué dans le tableau I, car ces enveloppes de messages ne dépendent pas d'autres enveloppes de messages pour leurs cibles EL de message respectives 49. Par conséquent, les messages, MA(0),TTYyy (1) et MA(1),D zz (1) peuvent être envoyés immédiatement une fois qu'ils sont générés par le processus de séquencement et -' 15 de génération de messages NDC 42, et leur D_STAT est actualisé à S. M.:elTTY iij, est le premier message dans la liste de messages {MzBeln (x)1, mais il n'est pas calculé car il n'a pas besoin d'être envoyé (par exemple, parce que ce message TTY n'a pas d'effet fonctionnel sur la cible de message, ou parce que la cible de message est connue pour être désabonnée au message TTY, etc., voir EP 2254046 Bi, par. [0032] et Figure 7 auxquels il est fait référence 20 dans les présentes pour plus de contexte) par conséquent son D_STAT est finalement actualisé à V. Puis le message MzBrIADD izi est ensuite envoyé et son D_STAT est actualisé à S. Les Ao.),Try .80.1777(1) , et , messag .tj sont calculés et sont prêts à être placés esMzz (21 , myy dans la file d'attente de messages 46a pour envoi. 25 Déclenchées par d'autres changements effectués dans les enregistrements de base de données AAAAAA et BBBBBB, les indications de changement de base de données 2 et 10 de 33 l'enregistrement de base de données AAAAAA et l'indication de validation de changement de base de données 2 de BBBBBB, sont reçues par le processus de séquencement et de génération de messages NDC 42 au moment où le traitement des enveloppes de messages et des messages selon le tableau I est complété par le processus de séquencement et de génération de messages 5 NDC 42 et la carte de dépendances et le tableau de messages 45 viennent juste d'être validés. Les messages transmis aux listes d'attente de messages 46a ne sont pas encore envoyés aux cibles 49. En réponse à la réception des indications de validations de changement 2 et 10 de 10 l'enregistrement de base de données AAAAAA et de la validation de changement 2 de l'enregistrement de base de données BBBBBB, deux autres listes de messages, notamment )figyAl(2),TTY (11 myA1(2),DEL (2), mA ,TTY t zl?),SP LIT c., , yeleiDC (3)} et tmz zn son générées par le processus de séquencement et de génération de messages NDC 42 pour l'indication de validation de changement AAAAAA(2). Par ailleurs, une liste de messages, notamment 15 {MyAlSwITT1'(1), Mi4A 1°)'ADD (2)}, est générée pour l'indication de validation de changement AAAAAA (10), et une liste de messages, (myB1(2),TTY me}(2),A1D (2), myBy(2),DEL in est générée pour l'indication de validation de changement BBBBBB(2). Le tableau II représente la carte de dépendances et le tableau de messages 45 après que toutes ces listes de messages ont été traitées par le processus de séquencement et de génération de messages NDC 42. 20 Tableau II. Cartes de dépendances du traitement des enveloppes de messages 2 et 10 ID P I J RD_STAT DID D_STAT N TYPE Message 001 AAAAAA 0 'YY S NULL NULL NULL NULL NULL 002 BBBBBB 0 ZZ S NULL NULL NULL NULL NULL 003 AAAAAA 0 YY NULL 001 S TTY T myir,TTY (1), 004 AAAAAA 1 ZZ N 001 NULL NULL NULL NULL 005 AAAAAA 1 ZZ NULL 004 S SUPR X itizAp,DEL (1) , 006 BBBBBB 0 ZZ NULL 002 V ITY T m zBeITTY (1), 007 AAAAAA 1 ZZ NULL 005 N TTY T i t i zApITTY (2) , 008 BBBBBB 0 ZZ NULL 006 S AJOUT X mz11.0),ADD (2) , 009 BBBBBB 1 YY N NULL NULL NULL NULL NULL 010 BBBBBB 1 YY NULL 009 N TTY Y mzEp),TTY (1), 34 011 AAAAAA 1 YY N 001 NULL NULL NULL NULL 012 AAAAAA I l'Y NULL 011 N AJOUT X itesli(i),xml, (1), 013 BBBBBB 2 YY D NULL NULL NULL NULL NULL 014 BBBBBB 2 YY NULL 013 D SUPR X B42/DEL (1), 015 BBBBBB 2 YY NULL 014 D TTY T my./31(2),TTY (2), 016 AAAAAA 2 ZZ D 004 NULL NULL NULL NULL 017 AAAAAA 2 YY D 011 NULL NULL NULL NULL 018 AAAAAA 2 ZZ NULL 007 D TTY T ii4zAf /TTY (1), 019 AAAAAA 2 YY NULL 017 D SUPR X mA(2),DEL (1), 020 BBBBBB 2 YY NULL 015 D AJOUT X myE21(2)ADD (3), 021 AAAAAA 2 ZZ NULL 018 V DIV X z , jtiA2),SPLIT (2) 022 AAAAAA 2 YY NULL 019 D TTY T m;r41(2),777 (2) , 023 AAAAAA 2 YY NULL 017 D NDC N m yA}(2),N 024 AAAAAA 10 YY U NULL NULL NULL NULL NULL 025 AAAAAA 10 YY NULL 024 D TTY T myAi(i o),TTY (1), 026 AAAAAA 10 YY NULL 025 D AJOUT X myAr),ADD (2) , A(,n La liste classée {M2) yy (X) est faite sur la base de la définition des valeurs de priorité du tableau de priorités de message 44, dérivable à partir des entrées de tableau ayant les IDs 019, 022 et 023. Leur enveloppe de messages RyA1(,2) est stockée sous forme d'entrée de tableau ayant 5 l'ID 017. Les deux messages M2" (l)' et MiA42INDC (i) ont le même paramètre de dépendance DID qui lie les deux messages à Ry`112), résultant des vérifications 710 et 720 ainsi que des opérations 712 et 722 (Fig. 9). L'enveloppe de messages RzA?) et la liste classée {Mz42)'n(x)1 sont stockées comme entrées 10 de tableau ayant les IDs 016, 018 et 021. MeITT1'(1)' a son l'état de dépendance DID lié à Me'TTY(2)' plutôt qu'à RzA;2), résultant des vérifications 642 et 646 ainsi que de l'opération 648 dans la FIG. 8. L'état de dépendance DID deMzA.?),SPLIT (2)' est calculé comme étant 018 dans l'opération 730 dans la FIG. 9), mais, résultant de la vérification 732 et de l'opération 736 (FIG. 9), l'état du message D_STAT est calculé comme étant V. a yi(,n , L'enveloppe de messages Ry1(,B 2 m2)(x) 1 ) et la liste de messages sont stockées comme entrées de tableau ayant les IDs 013, 014, 015 et 020. L'enveloppe de messages Re°) et la liste de messages {myA,P0),n(x)1} sont stockées comme entrées de tableau ayant les IDs 024 à 5 026. Le RD STAT de l'enveloppe de messages RA(10)yy est calculé comme étant U (Inconnu), au 630 dans la FIG.8 (p. ex. parce que pour une raison quelconque l'indication de validation de changement 10 est arrivée au processus de séquencement et de génération de messages 42 avant que l'indication de validation de changement 9 et qu'un contexte de publication à l'intérieur de l'indication de validation de changement 10 ne montre qu'il existe une indication de validation 10 de changement antérieure, puis l'état de dépendance de l'enveloppe de messages est réglé sur U en attendant l'arrivée de l'indication de validation de changement 9. Des détails concernant le calcul de l'état U inconnu sont aussi expliqués dans EP 2254046 B1 sous les par. [0031] et [0032] et la Figure 7 auxquels il est fait référence dans les présentes), et tous les messages ont un état de dépendance D_STAT de D, ce qui signifie qu'ils ne seront mis en file d'attente pour 15 envoi que lorsque la dépendance de l'enveloppe de messages RD_STAT de leur enveloppe de messages est réglée sur N. Faisant maintenant référence à la FIG. 10, la machine étatique d'envoi de messages 46 est responsable de l'envoi des messages qui sont en file d'attente dans les files d'attente de 20 messages 46 a, en actualisant l'état de dépendance D_STAT de ces messages de N à S et en actualisant aussi l'état des enveloppes de messages et des messages restants dans les enveloppes de messages contenus dans la carte de dépendances et dans le tableau de messages 45 après qu'ils ont été envoyés à la cible 49, c.-à-d. en réponse à la réception de confirmations reçues des cibles de message, et finalement en plaçant d'autres messages éligibles à l'envoi dans les 25 files d'attente de messages 46a. La machine étatique d'envoi de messages 46 est active chaque fois qu'un message est présent dans la file d'attente de messages 46a. La machine étatique d'envoi de messages 46 retire le message de la file d'attente et au 802 le processus d'émission 47 envoie le message, via une 30 chaîne de communication établie définie pour le type de message vers la cible correcte de message 49. Les messages TTY hérités et les messages XML peuvent être envoyés via des chaînes de communication différentes (p. ex. de façon asynchrone en utilisant une chaîne dédiée pour les messages TTY et de façon synchrone en utilisant SOAP/HTTP pour les messages XIVIL). Une fois qu'un message est retiré de la file d'attente et envoyé, basé sur la méthode 36 d'envoi de message (synchrone ou asynchrone), le processus de réception 48 vérifie, au 804, si une réponse de confirmation provenant du système cible (pour le mode synchrone) ou, p. ex., provenant d'un système interne délégataire de messages (pour le mode asynchrone) est présente, comme décrit par EP 2693337A1. Un message est signalé comme étant « Envoyé » 5 (S) au 812 seulement lorsqu'une réponse de confirmation valide est reçue en provenance de la cible de message 49 et que la réponse de confirmation ne présente aucun code/information d'erreur. L'opération de nouvelle tentative d'envoi qui est constituée des opérations 806, 808 et 810 est un procédé sécurisé pour répéter les opérations d'envoi pour les messages qui n'ont pas été remis avec succès (pas de réponse de confirmation valide reçue dans un intervalle de 10 temps donné après la transmission du message ou une réponse de confirmation avec un code d'erreur est reçue), pour le mode asynchrone. Optionnellement, les messages dépassant un nombre donné de tentatives sont signalés et stockés dans la file d'attente pour récupération comme s'ils n'étaient finalement pas envoyés (non illustré par la FIG. 10). 15 Lorsqu'il est déterminé, aux 804, qu'une réponse valide et correcte est reçue pour le message P (i),n - (y) ', l'état de dépendance D STAT du message est actualisé à l'état S (envoyé) au 812. Ensuite, l'opération 814 est appelée à vérifier si M (iln (y) 'est le dernier message dans la liste de messages {M (iln (41. Dans l'affirmative, l'opération 816 actualise l'état de dépendance P (i) 20 RD STAT au niveau de l'enveloppe de messages de R. à l'état S (envoyé) et stocké dans la carte de dépendances et dans le tableau de messages 45, stockant aussi la mise à jour D_STAT de l'opération 812. Après cela, au 818, l'état de dépendance de l'enveloppe suivante de messages de la chaîne de dépendances au niveau de l'enveloppe de messages P(i + 1), le cas échéant, est réglé sur RD_STAT-N (pas de dépendance), car tous les messages de l'enveloppe 25 actuelle de messages ont été envoyés et par conséquent, l'ensemble de l'enveloppe de messages a été traitée entièrement. De plus, toujours au 818, tous les messages dont DID est réglé sur l'ID de e1), selon la carte de dépendances et le tableau de messages 45, sont actualisés pour régler leur état de dépendance D_STAT sur N. Ces messages sont aussi placés dans la file d'attente de messages 46a pour envoi, au 818. Finalement, la carte de dépendances et le tableau 30 de messages 45 sont aussi validés une fois de plus au 822 afin de stocker les changements les plus récents dans l'enveloppe suivante de messages Rf(i+1) dans la chaîne de dépendances au 37 niveau de l'enveloppe de messages et de la liste suivante de messages {M p(i-Fun(x) ,s c.-à-d.i les messages de l'enveloppe suivante de messages.. Si, au 814, il est déterminé que le message actuel n'est pas le dernier message de la liste de 5 messages, l'opération 820 est appelée à sélectionner les messages éligibles pour envoi : tous les messages dont D_ID est réglé sur l'ID de M'" (y) ' (c.-à-d. tous les messages qui dépendent du message actuel qui a été remis à la cible avec succès) sont sélectionnés à partir de la carte de dépendances et du tableau de messages 45, leur état de dépendance D_STAT est réglé sur N et ces messages sont placés dans la file d'attente de messages 46a pour envoi. Après cela, 10 l'opération 822 est appelée à valider la carte de dépendances et le tableau de messages 45 afin de stocker les changements les plus récents des listes de messages -(Mif(iln(x) '} et Im.F(i+1),tt (x) La machine étatique d'envoi de messages 46 peut être illustrée par ailleurs en référence au 15 Tableau II déjà discuté ci-dessus. Tout d'abord, les cartes de dépendances sont mises à jour après l'envoi réussi de Mzz Au),Try(2) , , m-B(i)a-Ty (1), et MyAP'XML comme illustré dans la zz FIG. 11 avec le Tableau III, représentant l'état de la carte de dépendances et du tableau de messages à ce stade. 20 Lorsque le dernier message d'une liste de messages, c.-à-d. à l'intérieur d'une enveloppe de P(i) message R- , est envoyé avec succès à la cible de message, l'entrée de tableau d'enveloppe de message dans la carte de dépendances et dans le tableau de messages 45 est mise à jour pour P(i) compléter le traitement d'envoi de messages pour l'enveloppe actuelle de messages Ri Par exemple, les entrées suivantes de tableau sont mises à jour à l'opération 816 dans la FIG.10, 25 ainsi que représenté visuellement par les flèches dans la FIG. 11: La transmission réussie du message avec l'ID=007 règle D_STAT=S ce qui signifie que tous les messages de l'enveloppe de messages avec l'ID=004 ont été envoyés. Par conséquent, la dépendance au niveau d'enveloppe de messages peut être réglée sur « envoyée » aussi, c.-à-d. que RD_STAT de l'enveloppe de messages ID=004 est réglé 30 sur S. Le message avec ID=010 est le seul message de l'enveloppe de messages 113=009. Ainsi, lorsque le message ID=010 est transmis avec succès, son D_STAT est réglé sur 38 S et la dépendance au niveau de l'enveloppe de messages peut également être réglée sur ( REVENDICATIONS1. Un procédé pour le traitement des messages dans un système de messagerie distribuée avec une pluralité de cibles de message dans lequel au moins une cible de message de la pluralité des cibles de message fonctionne selon une première norme et au moins une cible de message de la pluralité des cibles de message fonctionne selon une seconde norme héritée, le procédé étant mis en oeuvre par un moteur de traitement de messages, le procédé comprenant : - la réception d'une pluralité d'indications de validation de base de données, chaque indication de validation de base de données indiquant un changement dans un enregistrement d'une base de données ; - en réponse à la réception d'une indication de validation de base de données provenant de la pluralité d'indications de validation de base de données, la génération d'une enveloppe de messages pour chaque cible de message devant être notifiée comme étant fonctionnelle selon la première norme et à au moins un messages dans chaque enveloppe de messages ; - le calcul des dépendances d'enveloppe de messages entre les enveloppes de message générées pour une même cible de message, les dépendances d'enveloppe de messages définissant un ordre des enveloppes de message pour la même cible de message ; - le calcul des dépendances de message entre les messages dans chaque enveloppe de messages sur la base au moins de la norme des messages de l'enveloppe de messages respective et des fonctions des messages, les dépendances de message définissant un ordre des messages dans chaque enveloppe de messages ; - l'envoi des messages à la cible respective de message dans une séquence basée sur les dépendances d'enveloppe de messages et sur les dépendances de messages. 2. Le procédé selon la revendication 1 comprenant par ailleurs - en réponse à la réception d'une première indication de validation d'une base de données de la pluralité d'indications de validation de base de données en provenance d'un système de base de données qui fonctionne selon la première 45 norme, la génération d'une enveloppe de messages pour chaque cible de message devant être notifiée et la génération d'au moins un message dans chaque enveloppe de messages, comprenant : o la génération d'une première enveloppe de messages avec une pluralité de premiers messages interdépendants devant être relayés à une première cible de message qui fonctionne selon la première norme, dans lequel la pluralité des premiers messages interdépendants est spécifiée selon la première norme ; o la génération d'un second message devant être relayé à une seconde cible 10 de message qui fonctionne selon une seconde norme héritée, dans lequel le second message est spécifié conformément avec la seconde norme héritée ; - le calcul des dépendances d'enveloppe de messages entre la première enveloppe de messages et d'autres enveloppes de message, les dépendances d'enveloppe 15 définissant l'ordre des enveloppes de message pour la première cible de message ; - le calcul de chaque enveloppe de messages entre les premiers messages de la première enveloppe de messages sur la base au moins de la première cible de message et des fonctions des premiers messages, les dépendances de message 20 définissant l'ordre des messages dans chaque enveloppe de messages ; - l'envoi des premiers messages à la première cible de message dans une séquence basée sur les dépendances d'enveloppe de messages et sur les dépendances des messages. 25 3. Le procédé selon la revendication 2 comprenant par ailleurs : - en réponse à la réception d'une seconde indication de validation d'une base de données de la pluralité des indications de validation de base de données provenant d'un système de base de données hérité qui fonctionne selon la seconde norme, la génération d'un troisième message pour chaque cible de 30 message devant être notifiée, dans lequel le troisième message est un message selon la seconde norme héritée, et 46 o l'envoi du troisième message sans calculer une dépendance de message pour le troisième message en réponse à la détermination qu'il n'y a plus de message en attente d'envoi pour la cible de message du troisième message, ou 5 o en réponse à la détermination qu'au moins un autre message est en attente d'envoi à la cible de message du troisième message, le calcul de la dépendance du message du troisième message sur la base au moins de la cible de message et de la fonction du troisième message, les dépendances des messages définissant l'ordre des messages pour la cible 10 de message du troisième message et l'envoi dudit au moins un autre message et du troisième message à la cible de message du troisième message dans une séquence basée sur les dépendances de l'enveloppe de messages et sur les dépendances de message. 15 4. Le procédé selon l'une quelconque des revendications 1 à 3 comprenant par ailleurs : - l'attribution, pour chaque enveloppe de messages, d'une valeur de priorité donnée pour chacune des pluralités de messages interdépendants dépendant au moins de la norme du message et du type de message ; et - le calcul de la dépendance de message entre les messages avec chaque enveloppe 20 de messages sur la base des valeurs de priorité attribuées. 5. Le procédé selon l'une quelconque des revendications 1 à 4, comprenant l'envoi d'un message en réponse à la détermination que le message est indépendant d'un quelconque autre message dans l'enveloppe de messages du message et que l'enveloppe de 25 messages du message est indépendante d'une quelconque autre enveloppe de messages. 6. Le procédé selon la revendication 5, comprenant par ailleurs la mise à jour de la dépendance de message du message envoyé et, le cas échéant, de la dépendance de message du message suivant, selon l'ordre du message dans l'enveloppe de messages 30 du message. 47 7. Le procédé selon la revendication 5 ou la revendication 6, comprenant par ailleurs la mise à jour de la dépendance d'enveloppe de messages pour l'enveloppe de messages du message envoyé et, le cas échéant, la mise à jour de la dépendance de l'enveloppe pour l'enveloppe de messages suivante dans l'ordre des enveloppes de message en 5 réponse à la détermination que le message envoyé était le dernier message sel-on l'ordre des messages dans l'enveloppe de messages des messages envoyés. 8. Un moteur de traitement de messages pour traiter des messages dans un système de messagerie distribuée avec une pluralité de cibles de message, dans lequel au moins une 10 cible de message de la pluralité des cibles de message fonctionne selon une première norme et au moins une cible de message de la pluralité des cibles de message fonctionne selon une seconde norme héritée, le moteur de traitement de messages étant arrangé pour : - recevoir une pluralité d'indications de validation de base de données, chaque 15 indication de validation d'une base de données indiquant un changement d'un enregistrement d'une base de données ; - en réponse à la réception d'une indication de validation d'une base de données de la pluralité d'indications de validation de base de données, générer une enveloppe de messages pour chaque cible de message devant être notifiée qui 20 fonctionne selon la première norme et au moins un message dans chaque enveloppe de messages ; - calculer les dépendances d'enveloppe de messages entre les enveloppes de message générées pour une même cible de message, les dépendances d'enveloppe de messages définissant un ordre des enveloppes de message pour 25 la même cible de message ; - calculer les dépendances de message entre les messages dans chaque enveloppe de messages sur la base au moins de la norme de message de l'enveloppe de messages respective et des fonctions des messages, les dépendances de message définissant un ordre des messages dans chaque enveloppe de messages ; 30 - envoyer les messages à la cible respective de message dans une séquence basée sur les dépendances d'enveloppe de messages et sur les dépendances de messages. 48 9. Le moteur de traitement de message de la revendication 8 étant par ailleurs arrangé pour : - en réponse à la réception d'une première indication de validation d'une première 5 base de données de la pluralité d'indications de validation de base de données en provenance d'un système de base de données qui fonctionne selon la première norme, générer une enveloppe de messages pour chaque cible de message devant être notifiée et générer au moins un message dans chaque enveloppe de messages, comprenant : 10 o la génération d'une première enveloppe de messages avec une pluralité de premiers messages interdépendants devant être relayés à une première cible de message qui fonctionne selon la première norme, dans lequel la pluralité des premiers messages interdépendants est spécifiée selon la première norme ; 15 o la génération d'un second message devant être relayé à une seconde cible de message qui fonctionne selon une seconde norme héritée, dans lequel le second message est spécifié conformément avec la seconde norme héritée ; - le calcul des dépendances d'enveloppe de messages entre la première enveloppe 20 de messages et d'autres enveloppes de message déjà en attente pour la première cible de message, les dépendances d'enveloppe définissant l'ordre des enveloppes de message pour la première cible de message ; - le calcul des dépendances de message entre les premiers messages de la première enveloppe de messages basé au moins sur la première cible de message et sur 25 les fonctions des premiers messages, les dépendances de message définissant l'ordre des messages dans chaque enveloppe de messages ; - l'envoi des premiers messages à la première cible de message dans une séquence basée sur les dépendances d'enveloppe de messages et sur les dépendances de message. 30 10. Le moteur de traitement de message de la revendication 9 étant par ailleurs arrangé pour : 49 - en réponse à la réception d'une seconde indication de validation d'une base de données de la pluralité des indications de validation de base de données provenant d'un système de base de données hérité qui fonctionne selon la seconde norme, générer un troisième message pour chaque cible de message 5 devant être notifiée, dans lequel le troisième message est un message conforme à la seconde norme héritée, et o envoyer le troisième message sans calculer une dépendance de message pour le troisième message en réponse à la détermination qu'il n'y a plus de message en attente d'envoi pour la cible de message du troisième 10 message, ou o en réponse à la détermination qu'au moins un autre message est en attente d'envoi à la cible de message du troisième message, calculer la dépendance de message du troisième message sur la base au moins de la cible de message et de la fonction du troisième message, les dépendances 15 de message définissant l'ordre des messages pour la cible de message du troisième message et envoyer ledit au moins un autre message et le troisième message à la cible de message du troisième message dans une séquence basée sur les dépendances de l'enveloppe de messages et sur les dépendances de message. 20 11. Le moteur de traitement de message selon l'une quelconque des revendications 8 à 10 étant par ailleurs arrangé pour mettre en oeuvre le procédé selon l'une quelconque des revendications 4 à 7. 25 12. Un produit-programme d'ordinateur pour traiter des messages dans un système de messagerie distribuée avec une pluralité de cibles de message, dans lequel au moins une cible de message de la pluralité des cibles de message fonctionne selon une première norme et au moins une cible de message de la pluralité des cibles de message fonctionne selon une seconde norme héritée, le produit-programme d'ordinateur comprenant des 3-0 instructions de code de programme stockées sur un support lisible par ordinateur pour exécuter les étapes du procédé selon l'une quelconque des revendications 1 à 7 lorsque ledit programme fonctionne sur un ordinateur.