Utilisation d'un courtier XML

De RAD Studio
Aller à : navigation, rechercher

Remonter à Ecriture des applications client Web


Un courtier XML reçoit des navigateurs les mises à jour au format des paquets delta XML et les applique au serveur d'applications.

Lorsque vous ajoutez le courtier XML au module Web (ou à un module de données contenant un TWebDispatcher), il se recense lui-même automatiquement avec le répartiteur Web en tant qu'objet auto-réparti. Cela veut dire qu'au contraire des autres composants, il n'est pas nécessaire de créer un élément d'action pour le courtier XML afin qu'il réponde aux messages de mise à jour provenant du navigateur Web. Ces messages contiennent les paquets delta XML à appliquer au serveur d'applications. Habituellement, ils proviennent d'un bouton que vous avez créé dans une des pages HTML produites par l'application client Web.

Afin que le répartiteur reconnaisse les messages pour le courtier XML, vous devez les décrire comme indiqué dans la rubrique Répartition des messages de requête.

Lorsque le répartiteur passe un message de mise à jour au courtier XML, il passe les mises à jour sur le serveur d'applications et il reçoit éventuellement un paquet delta XML décrivant toutes les erreurs de mise à jour qui se sont produites. Finalement, il envoie un message de réponse au navigateur, qui redirige le navigateur sur la page ayant généré le paquet delta XML delta ou lui envoie un nouveau contenu.

Certains événements vous permettent d'intégrer des traitements personnalisés au niveau de chacune des étapes de ce processus de mise à jour :

  1. La première fois que le répartiteur passe le message de mise à jour au courtier XML, il reçoit un événement XMLBrokr.BeforeDispatch, où vous pouvez pré-traiter la demande ou même la gérer entièrement. Cet événement permet au courtier XML de gérer d'autres messages que les messages de mise à jour.
  2. Si le gestionnaire de l'événement BeforeDispatch ne gère pas le message, le courtier XML reçoit un événement XMLBrokr.OnRequestUpdate, où vous pouvez appliquer les mises à jour vous-même plutôt que de suivre le processus par défaut.
  3. Si le gestionnaire de l'événement OnRequestUpdate ne gère pas la demande, le courtier XML applique les mises à jour et reçoit un paquet delta contenant les erreurs s'y rapportant.
  4. S'il n'y a pas d'erreur de mise à jour, le courtier XML reçoit un événement XMLBrokr.OnGetResponse, où vous pouvez créer un message de réponse indiquant que les mises à jour ont été appliquées avec succès ou envoyer des données rafraîchies au navigateur. Si le gestionnaire de l'événement OnGetResponse n'achève pas la réponse (ne définit pas le paramètre Handled par True), le courtier XML envoie une réponse qui redirige le navigateur sur le document ayant généré le paquet delta.
  5. S'il y a des erreurs de mise à jour, le courtier XML reçoit un événement XMLBrokr.OnGetErrorResponse. Vous pouvez utiliser cet événement pour tenter de résoudre les erreurs ou pour générer une page Web qui les décrit à l'utilisateur final. Si le gestionnaire de l'événement OnGetErrorResponse n'achève pas la réponse (ne définit pas le paramètre Handled par True), le courtier XML appelle un générateur de contenu particulier, appelé le ReconcileProducer, pour générer le contenu du message de réponse.
  6. Enfin, le courtier XML reçoit un événement XMLBrokr.AfterDispatch, où vous pouvez effectuer toutes les actions voulues avant de renvoyer une réponse au navigateur Web.