Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le Concepteur d’itinéraires est un langage spécifique au domaine visuel (DSL) 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 pour activer de nouvelles fonctionnalités et/ou de nouvelles options de configuration.
Création d’un exportateur d’itinéraire personnalisé
L’architecture du Concepteur d’itinéraires 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 du Concepteur d'itinéraires vous permet de créer des extensions personnalisées pour les éléments du 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’une telle extension, consultez le guide d’installation et d’exécution de l’échantillon d’extensibilité du concepteur.
Création d’un extendeur personnalisé pour un service d’itinéraire Orchestration-Based
L’architecture du Concepteur d’itinéraires 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 la création d'un tel extendeur, consultez l'exemple de l'extensibilité du concepteur : Installation et exécution.
Création d’un extendeur de résolution personnalisé
L’architecture du Concepteur d’itinéraires 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 la chaîne de connexion du résolveur, qui correspondent aux propriétés de la classe d'extendeur de résolveur spécifique.
Pour voir un exemple de création d'un tel extendeur, consultez Installer et exécuter l'exemple d'extensibilité du concepteur.
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 offrir le support d'interface utilisateur pour le fournisseur d’adaptateurs à ces extensions de résolution qui affichent une propriété de configuration du 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, descriptions et l’assembly dans lequel ils sont trouvés. Ces fichiers manifestes doivent être placés dans le même dossier que les fichiers binaires du Concepteur d’itinéraires (par exemple, Microsoft.Practices.Itineary.DslPackage.dll) avec un nom unique (par exemple, FTPPropertyManifest.xml).
Voici une instance de référence d’un fichier manifeste du fournisseur d’adaptateurs ; Les fichiers manifeste personnalisés doivent également être structurés.
<?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 du Concepteur d’itinéraires vous permet de créer des extendeurs personnalisés pour la configuration des filtres personnalisés. Ces extendeurs fournissent une interface graphique pour configurer les paires nom-valeur dans la chaîne de connexion de filtre, qui correspondent aux propriétés de la classe d’extension de filtre spécifique.
/Samples/Designer Extensibility Samples/Extenders.Itinerary.OrchestrationSample/Extenders.Itinerary.OrchestrationSample/Extenders.Itinerary.OrchestrationSample
/Samples/Designer Extensibility Samples/Extenders.Resolvers.ResolverSample/Extenders.Resolvers.ResolverSample
Création de règles de validation personnalisées
La dernière extension significative introduite par le Concepteur d’itinéraires est un mécanisme de validation qui vous permet de spécifier et d'implémenter, de manière externe, en relation avec un langage spécifique à un domaine (DSL), les règles de validation de modèle. 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 le Concepteur d’itinéraires.
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 d’un modèle est définie dans le fichier de configuration Enterprise Library. Le fichier est nommé Ruleset.config et se trouve dans le dossier binaire où se trouvent tous les fichiers binaires du Concepteur d’itinéraires. L’exemple suivant est un fragment du fichier de configuration et inclut deux règles de validation (validateurs nommés) pour l’extendeur UddiResolver , une pour la propriété ServerUrl et une 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. Le Concepteur d’itinéraires est fourni avec un grand ensemble de classes de validateur. Ils sont tous dans le projet Microsoft.Practices.Modeling.Validation, dans le dossier binaire du concepteur.
Le résultat final de l’utilisation de ce mécanisme de validation est que les utilisateurs du Concepteur d’itinéraires peuvent modifier la façon dont les modèles sont validés en modifiant les règles et les validateurs fournis ou en ajoutant leurs propres règles et validateurs. Vous pouvez effectuer cette opération sans ouvrir, modifier, reconstruire et redéployer les DLL en effectuant les deux étapes suivantes :
Créez une classe de validateur et placez-la dans une bibliothèque dans le dossier binaire où se trouve la bibliothèque Microsoft.Practices.Modeling.Validation.dll .
Ajoutez des entrées au fichier Rules.config pour définir quelle propriété de quelle classe d’élément de modèle le validateur doit être appliqué.