Partager via


Variables d'adaptateur

Les adaptateurs personnalisés doivent gérer un certain nombre de variables. Les valeurs attribuées à ces variables influencent la logique personnalisée que l'adaptateur implémente. Les propriétés de configuration spécifiques au transport ou à l'application permettent également de prendre en charge votre solution. Le tableau suivant répertorie ces variables courantes. Vous devez déterminer si vous souhaitez prendre chacune d'entre elles en charge dans votre adaptateur personnalisé.

Pour chaque option, votre adaptateur doit implémenter des interfaces spécifiques. Le tableau suivant répertorie les options de variable avec des liens vers des informations plus détaillées sur l'écriture du code d'adaptateur permettant de prendre en charge vos décisions de conception.

Variable d'adaptateur Description
Direction de la communication Réception. Un adaptateur de réception écoute l'adresse spécifique au protocole d'un message entrant. Lors de la réception d'un message, l'adaptateur de réception le remet au moteur de messagerie, qui le transmet via un pipeline de réception afin qu'il soit conservé par la suite dans la base de données MessageBox.

Envoi. Lorsque le moteur de messagerie doit envoyer un message à un point de terminaison spécifique, il le transmet au pipeline d'envoi. Un adaptateur d'envoi accepte un message provenant du pipeline d'envoi et l'envoie au port d'envoi.
Hébergement d'adaptateurs In-process. Un adaptateur in-process est créé et hébergé dans le processus de service BizTalk, BTSNTSvc.exe. Si l’hôte est 64 bits, le processus est nommé BTSNTSvc64.exe. Pour des raisons de simplicité, nous ne mentionnerons pas le processus 64 bits dans le reste de cette section.

Cela signifie que BizTalk Server crée et gère la durée de vie de l’adaptateur, l’initialise avec le proxy de transport, traite les demandes de l’adaptateur et met fin à l’adaptateur lors de l’arrêt du service.

Pour les adaptateurs in-process, BizTalk Server fournit également des informations de configuration à l’adaptateur au moment de l’exécution, y compris la configuration du gestionnaire, du port d’envoi et de l’emplacement de réception. Par ailleurs, les aspects de configuration tels que les fenêtres de service sont gérés par le moteur de messagerie afin que l'adaptateur n'ait pas à s'assurer qu'un emplacement de réception ou un port d'envoi se trouve en dehors d'une fenêtre de service.

Notez que tous les adaptateurs d'envoi sont de type in-process et doivent s'exécuter dans le processus BTSNTSvc.exe.

Isolé. L’adaptateur est créé dans un hôte isolé qui ne fait pas partie du runtime BizTalk Server. L'adaptateur de réception http, qui s'exécute dans l'espace de processus de IIS (Internet Information Services), illustre parfaitement ce qu'est un adaptateur isolé.

Le modèle de processus IIS est tel qu'IIS gère la durée de vie des applications ASP.NET et des extensions ISAPI. Lorsque BizTalk Server ne parvient pas à gérer la durée de vie de l’adaptateur, l’adaptateur est appelé adaptateur isolé.

Étant donné que BizTalk Server ne gère pas l’instanciation d’un adaptateur isolé, l’adaptateur doit créer son propre proxy de transport et s’inscrire auprès de ce proxy de transport.

Notez que l’architecture BizTalk Server élimine les communications entre processus inutiles. L'adaptateur isolé et la pile BizTalk étant dans le même processus, il n'y a pas de communication entre processus lorsque l'adaptateur appelle le moteur de messagerie. La seule communication entre processus est entre le moteur de messagerie et la base de données, qui est inévitable.

Les applications COM+ ne peuvent pas héberger les adaptateurs d'envoi écrit dans du code non géré.
Modèle d'échange de message Unidirectionnel. Le message est soit entrant, soit sortant.

Requête-réponse (bidirectionnel). Les adaptateurs de demande-réponse sont toujours des adaptateurs de réception. Un adaptateur de réception demande-réponse reçoit un message de demande du client et envoie le message à BizTalk Server. Une fois que BizTalk Server a traité le message de demande, il renvoie un message de réponse à l’adaptateur. L'adaptateur le retransmet ensuite au client.

Sollicitation-réponse (bidirectionnel). Les adaptateurs de réponse de sollicitation sont toujours des adaptateurs d’envoi. Un adaptateur de réception de type sollicitation-réponse envoie un message de requête de BizTalk Server vers un destinataire, attend la réponse du destinataire, puis renvoie le message de réponse à BizTalk Server.
Liaison de port d'envoi Emplacements de réception et des ports d'envoi dynamiques. La variable URI pour l'emplacement de réception et de port d'envoi utilisée dans la liaison dynamique est déterminée au moment de l'exécution.

Emplacements de réception et des ports d'envoi statiques. La variable URI pour l'emplacement de réception et de port d'envoi est statique et est configurée avant l'exécution.
Adaptateurs d'envoi synchrones et asynchrones Adaptateur d'envoi synchrone. Lors de l'exécution d'une opération d'envoi, le moteur de messagerie bloque le thread du proxy de transport jusqu'à ce qu'il ait envoyé le lot de messages et soit retourné. Le proxy de transport gère la suppression du message une fois celui-ci soit transmis, renvoyé, interrompu, ou après le passage à l'opération suivante.

Adaptateur d'envoi asynchrone. L'adaptateur d'envoi asynchrone ne bloque pas le thread du proxy de transport, mais utilise à la place un thread distinct lors de l'exécution des opérations d'envoi. Contrairement à l'adaptateur synchrone, il doit implémenter lui-même l'ensemble de la logique de suppression et de tentative ; le proxy de transport ne gère pas la logique.

Les cartes qui envoient des messages asynchrones permettent de meilleures performances BizTalk Server que celles qui envoient des messages synchrones. Cela est dû au fait que les threads consacrent beaucoup de temps à attendre que les opérations entrantes et sortantes soient terminées. Le moteur de messagerie étant étroitement lié à l'UC, le blocage de son thread dégrade les performances des adaptateurs.

L'utilisation de transmissions asynchrones est fortement recommandée et améliore les performances.
Adaptateurs de réception asynchrones Tous les adaptateurs de réception sont asynchrones. Cela signifie que lorsqu'un adaptateur envoie de nouveaux messages au moteur de messagerie BizTalk, il n'attend pas qu'ils soient complètement traités avant de retourner.
Prise en charge transactionnelle Adaptateur transactionnel. Prend en charge les messages d'envoi et de réception transactionnels. Du côté envoi, seuls les adaptateurs d'envoi par lot asynchrones prennent en charge les transactions.

Adaptateur non transactionnel. Adaptateur ne recevant pas ou n'envoyant pas de message au sein de l'étendue d'une transaction explicite. De nombreux adaptateurs sont non transactionnels car ils envoient vers ou à partir d'un système, tels que le système de fichiers Windows, qui ne prend pas en charge les transactions.
Adaptateurs d'envoi pris et non pris en charge par lot Adaptateur pris en charge par lot. L'adaptateur d'envoi peut traiter les messages par lots d'opérations.

Tous les adaptateurs peuvent collecter l'ensemble des messages disponibles pour envoi, puis les envoyer tous en même temps à la base de données MessageBox, ce qui permet de réduire le nombre de mises à jour de la base de donnés nécessaires. Dans certains cas, cela signifie que la longueur du lot est de un. De même, les adaptateurs d'envoi collectent tous les messages disponibles pour envoi, les extraient, puis les envoient tous en même temps vers leur destination.

En général, BizTalk Server traite un lot comme une unité de travail pour les mises à jour de base de données. Les adaptateurs peuvent, au sein du même lot, envoyer des messages unidirectionnels de type requête-réponse et sollicitation-réponse, suspendre des messages, supprimer des messages, demander la retransmission d'un message ou son déplacement le vers le transport secondaire. Chaque fois que cela est possible, utilisez des transmissions par lot.

Les adaptateurs d'envoi et de réception peuvent être pris en charge par lot, mais seuls les adaptateurs d'envoi asynchrones par lot prennent en charge les transactions.

Adaptateur non pris en charge par lot. Chaque message requiert des appels indépendants au serveur.
Adaptateurs de réception pris en charge par lot Tous les adaptateurs de réception prennent en charge le traitement par lot.
Configuration d'adaptateurs de conception dynamique et statique Conception d'adaptateur dynamique. Pour qu'un adaptateur prenne en charge la configuration de conception dynamique, vous devez développer une interface personnalisée afin d'utiliser l'Assistant Ajouter les métadonnées de l'adaptateur. Cette interface permet de sélectionner un schéma à ajouter à un projet BizTalk et retourne sa description de service via un fichier WSDL (Web Services Description Language). L'adaptateur fournit une interface personnalisée pour obtenir les schémas. Lorsqu'un service est importé à l'aide de l'Assistant Ajouter les métadonnées de l'adaptateur, il ajoute des types de port, des types de message et orchestration au projet BizTalk, outre les schémas.

Pour plus d’informations, consultez Configuration de l’adaptateur statique Design-Time.

Conception d'adaptateur statique. Pour qu'un adaptateur prenne en charge la configuration de conception statique, vous devez implémenter des interfaces standard afin de permettre à l'Assistant Ajouter les métadonnées de l'adaptateur de sélectionner un schéma à ajouter à un projet BizTalk. L'infrastructure d'adaptateurs BizTalk fournit l'interface pour l'adaptateur.

Pour plus d’informations sur la modification de l’exemple d’adaptateur de fichier, consultez Dynamic Design-Time Adapter Configuration.
Adaptateurs de transport et d'applications Adaptateurs de transport. Les adaptateurs de transport prennent en charge un protocole spécifique et n'utilise pas de schéma. Sur les douze adaptateurs natifs, neuf sont des adaptateurs de transport : MSMQ, série MQ, Fichier, FTP, HTTP, SMTP, POP3 et SOAP.

Adaptateurs d'applications. Les adaptateurs d'applications utilisent des schémas de données pour envoyer des données dans l'application spécifiée. Parmi les adaptateurs natifs, deux sont des adaptateurs d’application : Windows SharePoint Services et SQL.

Pour plus d'informations sur les interfaces à implémenter dans le code de votre adaptateur personnalisé, utilisez le lien indiqué dans le tableau suivant correspondant au type d'adaptateur que vous prévoyez de créer. Dans certains cas, il pourra s'avérer nécessaire de combiner les interfaces présentées pour répondre à une exigence avec celles indiquées dans une autre page pour répondre à une autre exigence.

Variable Informations supplémentaires
Adaptateurs d’envoi Instanciation et initialisation d’un adaptateur d’envoi
Synchrone Interfaces pour un adaptateur d’envoi synchrone
Asynchrone Interfaces pour un adaptateur d’envoi asynchrone
Synchrone pris en charge par lot Interfaces pour un adaptateur d’envoi pris en charge par lot synchrone
Asynchrone pris en charge par lot Interfaces pour un adaptateur d’envoi pris en charge par lot asynchrone
Asynchrone transactionnel pris en charge par lot Interfaces pour un adaptateur d’envoi pris en charge par lot asynchrone transactionnel
Sollicitation-réponse Interfaces pour un adaptateur d’envoi de type sollicitation-réponse
Adaptateurs de réception Instanciation et initialisation d’un adaptateur de réception
Normal Interfaces pour un adaptateur de réception In-process
Isolé Interfaces pour un adaptateur de réception isolé
Pris en charge par lot Interfaces pour un adaptateur de réception pris en charge par lot
Transactionnel pris en charge par lot Interfaces pour un adaptateur de réception pris en charge par lot transactionnel
Synchrone de type requête-réponse Interfaces pour un adaptateur de réception de type requête-réponse synchrone

Voir aussi

Développement d’adaptateurs personnalisés
Utilisation des adaptateurs
Exemples d’adaptateurs- Développement