L’infrastructure des fournisseurs de résolveur et d’adaptateur
L’infrastructure du programme de résolution et de fournisseur d’adaptateurs prend en charge l’itinéraire, la transformation, la résolution et le routage des points de terminaison. L’infrastructure peut résoudre dynamiquement les points de terminaison et définir les propriétés de l’adaptateur sortant. Une fois qu’un composant de programme de résolution a résolu un point de terminaison (par exemple, à l’aide de la description universelle, de la découverte et de l’intégration [UDDI] pour rechercher un point de terminaison de service Web sortant), un composant fournisseur d’adaptateurs définit les propriétés spécifiques des adaptateurs BizTalk Server inscrits. Par exemple, le fournisseur d’adaptateurs WCF-BasicHttp est chargé de définir les propriétés de contexte de message spécifiques à BizTalk pour l’URI de point de terminaison qui utilisera l’adaptateur BizTalk spécifique ; le fournisseur d’adaptateur FTP est chargé de définir les propriétés spécifiques de l’adaptateur FTP.
L’un des objectifs de l’infrastructure du programme de résolution et de fournisseur d’adaptateurs est de prendre en charge la résolution et le routage au niveau de la messagerie, sans nécessiter l’utilisation d’orchestrations BizTalk ou au niveau de l’orchestration. Dans les deux cas, l’infrastructure enfichable facilite le développement, le déploiement et l’inscription de nouveaux programmes de résolution et de fournisseurs d’adaptateurs. Tous les résolveurs et fournisseurs d’adaptateurs implémentent des interfaces bien définies et sont chargés à la demande au moment de l’exécution via l’inscription dans les fichiers de configuration.
Les composants de pipeline Esb Dispatcher et Esb Dispatcher Désassemblent tous deux utilisent l’infrastructure du programme de résolution et du fournisseur d’adaptateurs en passant le chaîne de connexion de l’en-tête SOAP de l’itinéraire ou de la configuration du pipeline au Gestionnaire de résolution.
La configuration de Microsoft BizTalk ESB Toolkit contient les détails de tous les résolveurs et fournisseurs d’adaptateurs inscrits. Au moment de l’exécution, les responsables du programme de résolution et les gestionnaires d’adaptateurs lisent les détails des programmes de résolution et des fournisseurs d’adaptateurs inscrits à partir des fichiers de configuration, chargent les assemblys appropriés et les stockent dans un cache au niveau de l’hôte BizTalk. Cette technique de mise en cache supprime l’exigence de lecture répétée des fichiers de configuration et de chargement des assemblys pour chaque message envoyé.
Pour plus d’informations sur le fonctionnement de l’infrastructure du programme de résolution et de fournisseur d’adaptateurs et sur la façon dont vous pouvez l’étendre en créant des résolveurs et des fournisseurs d’adaptateurs personnalisés, consultez Modification et extension du kit de ressources BizTalk ESB Toolkit.
Mécanismes de résolution pris en charge (résolveurs)
BizTalk ESB Toolkit inclut les résolveurs suivants : STATIC, UDDI, UDDI3, XPATH, BRE, BRI, ITINERARY, ITINERARY-STATIC et LDAP.
Le chaîne de connexion d’un résolveur se compose toujours d’un moniker (tel que BRE) suivi de « :\\ » et des détails de connexion ou de traitement. Le moniker correspond à la définition du programme de résolution associé dans le fichier de configuration. Les propriétés associées à chaque chaîne de connexion sont uniques, et toutes les propriétés ne sont pas requises. Le schéma de chacun des résolveurs se trouve dans l’ESB. Projet Resolvers.Schemas.
Voici des exemples de chaînes de connexion :
STATIQUE
STATIC :\\TransportType= ;
TransportLocation=
http://localhost/ESB.CanadianServices/SubmitPOService.asmx
;Action= ;
EndPointConfig= ;
JaxRpcResponse=false ;
MessageExchangePattern= ;
TargetNamespace=http://globalbank.esb.dynamicresolution.com/canadianservices/ ;
TransformType= ;
UDDI
UDDI :\\serverUrl=
http://localhost:9901/rmengine
;serviceName=OrderPurchaseWebService ;
serviceProvider=Microsoft Practices ESB
XPATH
XPATH :\\TransportType= ;
TransportLocation=/*[local-name()='OrderDoc' and namespace-uri()='http://globalbank.esb.dynamicresolution.com/northamericanservices/']/*[local-name()='ID' and namespace-uri()='http://globalbank.esb.dynamicresolution.com/northamericanservices/'];
Action= ;
EndPointConfig= ;
JaxRpcResponse= ;
MessageExchangePattern= ;
TargetNamespace=/*[local-name()='OrderDoc' and namespace-uri()='http://globalbank.esb.dynamicresolution.com/northamericanservices/']/*[local-name()='customerName' and namespace-uri()='http://globalbank.esb.dynamicresolution.com/northamericanservices/'];
TransformType= ;
BRE
BRE :\\policy=GetCanadaEndPoint ;
version= ;
useMsg= ;
BRI
BRI :\\policy=ResolveItinerary ;
version= ;
useMsg= ;
ITINÉRAIRE
ITINERARY :\\name=TwoWayTestItinerary ;
version= ;
ITINÉRAIRE STATIQUE
ITINERARY-STATIC :\\name=TwoWayTestItinerary ;
version= ;
LDAP
LDAP :\\TransportType=SMTP ;
TransportLocation={mail}
Filter=(&(objectClass=User)(|( userPrincipalName=yourname@domain.com))) ;
SearchRoot= ;
SearchScope=Subtree ;
EndpointConfig=Subject=Itinerary Test Message to {mail}&
SMTPAuthenticate=0&
SMTPHost=127.0.0.1&
From=test@globalbank.com&
DeliveryReceipt=false&
MessagePartsAttachments=0&
ReadReceipt=false ;
ThrowErrorIfNotFound=false ;
Action= ;
JaxRpcResponse=false ;
MessageExchangePattern= ;
TargetNamespace= ;
TransformType= ;
Tous les attributs du chaîne de connexion ne sont pas obligatoires. En outre, EndPointConfig est un attribut spécial que n’importe quel programme de résolution peut remplir et retourner. Si vous le souhaitez, le programme de résolution peut stocker les paires nom/valeur qui correspondent à des propriétés de contexte d’adaptateur BizTalk spécifiques, qu’il peut à son tour écrire dans le contexte du message BizTalk.
Dans ce cas, le instance ResolverDictionary qui contient toutes les propriétés résolues retournées par le processus de résolution passe ensuite au gestionnaire d’adaptateurs. Le gestionnaire d’adaptateurs transmet le dictionnaire au fournisseur d’adaptateurs spécifique qui définit toutes les propriétés de contexte BizTalk spécifiques à l’adaptateur et au point de terminaison pour le message. Les résolveurs recherchent la propriété EndPointConfig , extraient les paires nom/valeur qui correspondent à leurs propriétés d’adaptateur respectives, puis définissent ces valeurs sur le message.
Fournisseurs d’adaptateurs pris en charge
Microsoft BizTalk ESB Toolkit inclut les fournisseurs d’adaptateurs intégrés suivants : FILE, FTP, SMTP, MQSeries, WCF-BasicHttp, WCF-WSHttp et WCF-Custom. Le nom de chaque fournisseur d’adaptateurs est identique au nom de l’adaptateur associé (type de transport) dans BizTalk Server.
L’un des principaux avantages de l’infrastructure du programme de résolution et du fournisseur d’adaptateurs est que vous pouvez l’étendre en créant et en inscrivant vos propres résolveurs personnalisés pour résoudre les informations de point de terminaison et les fournisseurs d’adaptateurs personnalisés pour définir des propriétés spécifiques des adaptateurs BizTalk inscrits. Pour plus d’informations, consultez Modification et extension de BizTalk ESB Toolkit.