Partager via


Extension du concepteur d’itinéraire

L’itinéraire Designer est un langage DSL (Visual Domain-Specific Language) pour Microsoft Visual Studio qui permet la modélisation graphique des itinéraires à utiliser avec microsoft BizTalk ESB Toolkit. Le concepteur expose différents points d’extension pour lesquels les développeurs peuvent écrire des extensions personnalisées afin d’activer de nouvelles fonctionnalités et/ou de nouvelles options de configuration.

Création d’un exportateur d’itinéraire personnalisé

L’architecture de l’itinéraire Designer permet de créer des exportateurs de modèles personnalisés qui sérialisent et conservent les données dans un modèle d’itinéraire.

Création d’un extendeur personnalisé pour un service de messagerie

L’architecture de l’itinéraire Designer vous permet de créer des extendeurs personnalisés pour les éléments de modèle de service d’itinéraire qui peuvent être utilisés pour ajouter des propriétés au conteneur de propriétés à utiliser par les services de messagerie.

Pour obtenir un exemple de création d’un tel extendeur, consultez Installation et exécution de l’exemple d’extensibilité Designer.

Création d’un extendeur personnalisé pour un service d’itinéraire Orchestration-Based

L’architecture du Designer d’itinéraire vous permet de créer des extendeurs personnalisés pour les éléments de modèle de service d’itinéraire qui peuvent être utilisés pour ajouter des propriétés au conteneur de propriétés à utiliser par les services d’itinéraire basés sur l’orchestration.

Pour obtenir un exemple de création d’un tel extendeur, consultez Installation et exécution de l’exemple d’extensibilité Designer.

Création d’un extendeur de résolution personnalisé

L’architecture de l’itinéraire Designer vous permet de créer des extendeurs personnalisés pour la configuration des résolveurs personnalisés. Ces extendeurs fournissent une interface graphique pour configurer les paires nom-valeur dans les chaîne de connexion du programme de résolution, qui correspondent aux propriétés de la classe d’extendeur de résolution spécifique.

Pour obtenir un exemple de création d’un tel extendeur, consultez Installation et exécution de l’exemple d’extensibilité Designer.

Création d’un fichier manifeste pour les propriétés de l’adaptateur personnalisé

Lors de la création d’un fournisseur d’adaptateurs personnalisé, vous devez également fournir la prise en charge du concepteur pour le fournisseur d’adaptateurs aux extendeurs de programme de résolution qui affichent une propriété de configuration de point de terminaison. Pour activer la prise en charge du concepteur, il est nécessaire de créer un fichier manifeste du fournisseur d’adaptateurs.

Le fichier manifeste du fournisseur d’adaptateurs définit les propriétés associées à un fournisseur d’adaptateurs spécifique, leurs types, leurs descriptions et l’assembly dans lequel elles peuvent être trouvées. Ces fichiers manifeste doivent être placés dans le même dossier que l’itinéraire Designer binaires (par exemple, Microsoft.Practices.Itineary.DslPackage.dll) avec un nom unique (par exemple, FTPPropertyManifest.xml).

Voici une référence instance d’un fichier manifeste de fournisseur d’adaptateurs ; les fichiers manifeste personnalisés doivent être structurés de la même façon.

<?xml version="1.0" encoding="utf-8" ?>  
<adapterPropertyManifest adapterName="FTP">  
     <aliases>  
          <alias name="globalPropertySchemas" value="Microsoft.BizTalk.GlobalPropertySchemas, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />  
     </aliases>  
     <properties>  
          <property name="UserName" type="FTP.UserName" description="The user name for the connection." encrypted="true" assembly="globalPropertySchemas" />  
          <property name="Password" type="FTP.Password" description="The password for the conection." encrypted="true" assembly="globalPropertySchemas" />  
          <property name="MaxConnections" type="FTP.MaxConnections" description="The maximun number of connections." assembly="globalPropertySchemas" />  
          <property name="EventArgs" type="System.EventArgs" assembly="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />  
     </properties>  
</adapterPropertyManifest>  

Création d’un extendeur de filtre personnalisé

L’architecture de l’itinéraire Designer vous permet de créer des extendeurs personnalisés pour la configuration de filtres personnalisés. Ces extendeurs fournissent une interface graphique pour configurer les paires nom-valeur dans le filtre chaîne de connexion, qui correspondent aux propriétés de la classe d’extendeur de filtre spécifique.

  • /Samples/Designer Extensibilité Samples/Extenders.Itinerary.OrchestrationSample/Extenders.Itinerary.OrchestrationSample/Extenders.Itinerary.OrchestrationSample

  • /Samples/Designer Extensibilité Samples/Extenders.ResolverSample/Extenders.ResolverSample

    Création de règles de validation personnalisées

    La dernière extension importante introduite par le Designer d’itinéraire est un mécanisme de validation qui vous permet de spécifier et d’implémenter les règles de validation du modèle en externe, par rapport à un langage spécifique au domaine (DSL). Le mécanisme « se connecte à » l’infrastructure de validation DSL et est activé lorsque l’utilisateur clique sur Valider ou Valider tout dans le menu contextuel d’un modèle. Cela appelle l’objet DslCommandSet de l’infrastructure DSL qui, à son tour, appelle le moteur de validation dans l’itinéraire Designer.

    La classe ValidationEngine effectue la validation de l’élément de modèle à l’aide du bloc d’application de validation de bibliothèque d’entreprise et enregistre les erreurs de validation dans la fenêtre Liste d’erreurs dans l’IDE Microsoft Visual Studio. La validation qui doit être effectuée pour chaque type d’élément dans un modèle est définie dans le fichier de configuration De la bibliothèque d’entreprise. Le fichier est nommé Ruleset.config et se trouve dans le dossier binaire où se trouvent tous les fichiers binaires d’itinéraire Designer. L’exemple suivant est un fragment du fichier de configuration et inclut deux règles de validation (des validateurs nommés) pour l’extendeur UddiResolver , une pour la propriété ServerUrl et l’autre pour la propriété ServiceKey .

<!--   
UddiResolver  
-->  
<type assemblyName="Microsoft.Practices.Services.Extenders.Resolvers.UDDI"  
 name="Microsoft.Practices.Services.Extenders.Resolvers.UDDI.UddiResolver">  
<ruleset name="Menu">  
<properties>  
<property name="ServerUrl">  
<validator type="Microsoft.Practices.Modeling.Validation.NotEmptyStringValidator, Microsoft.Practices.Modeling.Validation"  
          messageTemplate="The '{1}' property value should not be empty or null."  
          name="UddiResolver.ServerUrl not null validator"/>  
</property>  
<property name="ServiceKey">  
<validator type="Microsoft.Practices.Modeling.Validation.NotEmptyStringValidator, Microsoft.Practices.Modeling.Validation"  
          messageTemplate="The '{1}' property value should not be empty or null."  
          name="UddiResolver.ServiceKey not null validator"/>  
</property>  
</properties>  
</ruleset>  
</type>  

Chaque règle identifie le validateur qui implémente la règle. L’itinéraire Designer est fourni avec un grand ensemble de classes de validateurs. Ils se trouvent tous dans le projet Microsoft.Practices.Modeling.Validation dans le dossier binaire Designer.

Le résultat final de l’utilisation de ce mécanisme de validation est que l’itinéraire Designer utilisateurs peuvent modifier la façon dont les modèles sont validés en modifiant les règles et validateurs fournis ou en ajoutant leurs propres règles et validateurs. Vous pouvez le faire sans ouvrir, modifier, reconstruire et redéployer les DLL en effectuant les deux étapes suivantes :

  1. Créez une classe de validateur et placez-la dans une bibliothèque à l’intérieur du dossier binaire où se trouve la bibliothèque Microsoft.Practices.Modeling.Validation.dll .

  2. Ajoutez des entrées au fichier Rules.config pour définir la propriété de la classe d’élément de modèle que le validateur doit appliquer.