Vue d’ensemble de l’architecture du Kit de développement logiciel (SDK) de l’adaptateur LOB WCF
Le Kit de développement logiciel (SDK) de l’adaptateur LOB WCF repose sur le modèle de canal WCF et fournit des extensions au moment du design et de l’exécution pour les développeurs d’adaptateurs afin de créer des adaptateurs pour les systèmes métier qui ont des métadonnées volumineuses et dynamiques. Un adaptateur créé à l’aide du Kit de développement logiciel (SDK) de l’adaptateur LOB WCF est exposé au consommateur sous la forme d’une liaison WCF personnalisée. L’illustration suivante montre l’architecture interne et les composants main du KIT de développement logiciel (SDK) de l’adaptateur LOB WCF.
Gestionnaires
Le gestionnaire définit les modèles d’échange de messages pris en charge par l’adaptateur.
Le tableau suivant récapitule les types de gestionnaires disponibles, leur fonction et les canaux WCF auxquels ils sont mappés.
Type de gestionnaire | Fonction | Mappe aux canaux WCF |
---|---|---|
Microsoft.ServiceModel.Channels.Common.IOutboundHandler |
Prend en charge le modèle d’envoi ou de demande/réponse unidirectionnel. | Ioutputchannel IRequestChannel |
Microsoft.ServiceModel.Channels.Common.IAsyncOutboundHandler |
Prend en charge le modèle d’envoi ou de demande/réponse unidirectionnel asynchrone. | Ioutputchannel IRequestChannel |
Microsoft.ServiceModel.Channels.Common.IInboundHandler |
Prend en charge les modèles de réception ou de réponse unidirectionnel. | Iinputchannel IReplyChannel |
Microsoft.ServiceModel.Channels.Common.IAsyncInboundHandler |
Prend en charge les variantes asynchrones des modèles de réception ou de réponse unidirectionnel des méthodes. | IInputChannel IReplyChannel |
Microsoft.ServiceModel.Channels.Common.IMetadataBrowseHandler |
Prend en charge la navigation des métadonnées sur le système cible. | IRequestChannel |
Microsoft.ServiceModel.Channels.Common.IMetadataSearchHandler |
Prend en charge la recherche de métadonnées sur le système cible. | IRequestChannel |
Microsoft.ServiceModel.Channels.Common.IMetadataResolverHandler |
Prend en charge la récupération des métadonnées à partir du système cible. | IRequestChannel |
Implémentation du canal
Un adaptateur créé à l’aide du Kit de développement logiciel (SDK) de l’adaptateur LOB WCF est essentiellement un canal de transport (System.ServiceModel.Channels.IServiceListner). Un adaptateur créé à l’aide du Kit de développement logiciel (SDK) de l’adaptateur LOB WCF est exposé au consommateur sous la forme d’une liaison WCF, où la liaison est utilisée pour créer la pile de canaux. Cette liaison peut être considérée comme un homologue à d’autres liaisons WCF prédéfinies telles que BasicHttpBinding, WsHttpBinding et NetTcpBinding, et peut être définie via app.config ou dans le code par l’application cliente lors de l’appel d’un service. Cette liaison contient un ensemble ordonné d’éléments de liaison, l’adaptateur étant l’élément de liaison de clé qui dérive de la classe T :System.ServiceModel.Channels.TransportBindingElement. Dans un scénario sortant, le runtime du Kit de développement logiciel (SDK) de l’adaptateur LOB WCF utilise une fabrique de canaux pour créer l’adaptateur (autrement dit, le canal de transport). Dans un scénario entrant, le runtime du Kit de développement logiciel (SDK) de l’adaptateur LOB WCF utilise des écouteurs de canal pour les canaux entrants dans une application de service. Les messages d’exécution et de conception passent par ce composant.
Fabrique de connexion, générateur d’URI de connexion et de connexion
ConnectionFactory fournit un modèle d’usine pour créer des connexions basées sur l’URI et les informations d’identification de l’utilisateur. Pour plus d’informations, consultez Microsoft.ServiceModel.Channels.Common.IConnectionFactory
.
La connexion définit un contrat de communication de bas niveau avec le système cible et encapsule les API de communication natives et les handles de connexion. Pour plus d’informations, consultez Microsoft.ServiceModel.Channels.Common.IConnection
.
Le Générateur d’URI de connexion permet aux consommateurs d’adaptateurs de générer par programmation des URI de connexion sans avoir une connaissance spécifique de la syntaxe. Pour plus d’informations, consultez Microsoft.ServiceModel.Channels.Common.ConnectionUri
.
Gestion des connexions
La gestion des connexions est responsable de la gestion de la durée de vie des connexions d’un adaptateur. Il conserve en interne un pool de connexions prêts à l’emploi. Ce pool de connexions est basé sur des informations d’identification et des URI. Les informations d’identification contiennent un nom d’utilisateur et un mot de passe qui définissent le contexte de sécurité sous lequel la connexion s’exécute.
Lorsque les mêmes informations d’identification et URI sont utilisées, tout canal ouvert sous la même fabrique de connexion obtient la connexion du pool s’il en existe déjà un.
Le gestionnaire de pool de connexions conserve les enregistrements du nombre de connexions ouvertes à cet URI, quelles que soient les informations d’identification et au-delà des limites de la fabrique de canaux. Par exemple, dans un système, vous pouvez avoir deux utilisateurs qui ont des informations d’identification différentes, ce qui signifie que deux fabriques de canaux se connectent au système.
Notes
L’adaptateur peut être limité par rapport au nombre de connexions qu’il peut prendre en charge, généralement limité par les ressources système.
Pour aider les développeurs d’adaptateurs à configurer les paramètres du pool de connexions, le Kit de développement logiciel (SDK) de l’adaptateur LOB WCF fournit deux classes , Microsoft.ServiceModel.Channels.Common.ConnectionPoolSettings
et Microsoft.ServiceModel.Channels.Common.ConnectionManagerSettings
.
Gestion des métadonnées
La gestion des métadonnées est responsable de la représentation orientée objet de la mise en cache des métadonnées pour le système cible. Les métadonnées peuvent être conservées dans un cache commun accessible sur toutes les informations d’identification, ou elles peuvent être mises en cache par base d’informations d’identification.
Le cycle de vie des métadonnées commence par ses définitions au moment du design et se poursuit tout au long de l’utilisation pendant l’exécution. Au moment de la conception, les développeurs d’adaptateurs doivent identifier l’ensemble des opérations et générer le proxy WSDL et côté client nécessaires. Au moment de l’exécution, les adaptateurs basés sur Adapter Framework utilisent les métadonnées prédéfinies pour interpréter les messages retournés à partir des appels système cibles.
Pour aider les enregistreurs d’adaptateurs à configurer le paramètre de métadonnées, Adapter Framework fournit trois classes , Microsoft.ServiceModel.Channels.Common.CacheSettings
Microsoft.ServiceModel.Channels.Common.MetadataSettings
et Microsoft.ServiceModel.Channels.Common.CommonCacheSettings
.
Générateur WSDL
WSDL Builder fournit la génération automatique de WSDL à partir du modèle objet de métadonnées interne du Kit de développement logiciel (SDK) de l’adaptateur LOB WCF (il peut être remplacé pour les scénarios nécessitant une génération WSDL personnalisée).
Consultez la rubrique Microsoft.ServiceModel.Channels.Common.IWsdlRetrieval
(éventuellement en anglais) pour plus d'informations.
Recherche/recherche de métadonnées
L’exploration/la recherche des métadonnées permet de parcourir et de rechercher toutes les métadonnées métier.
Pour plus d’informations, consultez Microsoft.ServiceModel.Channels.IMetadataRetrievalContract
.
Génération de métadonnées
La génération de métadonnées permet de générer du code pour le client (pour les scénarios sortants) et pour le service (pour les scénarios entrants) en fonction des opérations sélectionnées par le consommateur de l’adaptateur. Même si nous recommandons aux consommateurs d’adaptateurs d’utiliser les outils Add Adapter Service Reference Plug-in (Consume Adapter Service Add-in in in case of BizTalk applications), le Kit de développement logiciel (SDK) de l’adaptateur LOB WCF fournit une interface Microsoft.ServiceModel.Channels.MetadataRetrievalClient.GetMetadata%2A
publique pour récupérer system.Web.Services.Description.ServiceDescription, qui représente un WSDL (Web Service Description Language) contenant des informations sur les opérations et les types sélectionnés. Les enregistreurs d’adaptateurs utilisent le modèle objet de métadonnées pour le Kit de développement logiciel (SDK) de l’adaptateur métier WCF qui inclut des classes dérivées de Microsoft.ServiceModel.Channels.Common.OperationMetadata
et Microsoft.ServiceModel.Channels.Common.TypeMetadata
pour décrire les détails de chaque opération et de chaque type.