Extension de l’Éditeur BizTalk
L'Éditeur BizTalk est conçu pour autoriser les extensions prenant en charge les formats de message d'instance alternatifs. En fait, le format XML est le seul format intégré à l'Éditeur BizTalk. Même la prise en charge des formats de fichiers plats, qui est incluse dans Microsoft BizTalk Server, est implémentée en tant qu’extension De l’éditeur BizTalk, ce qui constitue un bon exemple du type de fonctionnalités qui peuvent être ajoutées par ces extensions.
En général, les extensions de l'Éditeur BizTalk conservent leurs données personnalisées sous forme d'annotations de langage XSD (XML Schema Definition) associées avec les éléments XSD correspondant aux nœuds de l'arborescence de schéma. Là encore, le large éventail d'annotations ajoutées par l'extension de fichier plat à l'Éditeur BizTalk illustre bien la manière dont les extensions de l'Éditeur BizTalk peuvent conserver leurs données personnalisées dans le schéma.
Les extensions de l'Éditeur BizTalk sont des assemblys .NET qui étendent la fonctionnalité de l'Éditeur BizTalk. Pour être identifié comme une extension, un assembly doit avoir une classe qui implémente l’interface IExtension et doit se trouver sous le dossier Developer Tools\Schema Editor Extensions dans le répertoire d’installation du produit.
Le développeur d'une extension doit faire en sorte que son assembly fasse référence au fichier Microsoft.BizTalk.SchemaEditor.Extensibility.dll, qui contient la définition de toutes les interfaces nécessaires à la présentation de la fonctionnalité étendue à l'Éditeur BizTalk. Ces interfaces sont définies sous l’espace de noms Microsoft.BizTalk.SchemaEditor.Extensibility .
L’interface IExtension est le point d’entrée de l’extension, à partir duquel l’éditeur BizTalk accède aux fonctionnalités étendues, telles que les gestionnaires de propriétés, les vues personnalisées, la validation de schéma, la génération native instance et la validation native instance.
Plusieurs extensions peuvent être associées à un schéma donné, mais une seule peut être définie comme standard à un moment donné ; cette valeur est définie dans la propriété Standard du nœud Schéma . L'extension actuellement définie comme norme est celle utilisée pour la validation et la génération d'instances natives ainsi que pour la validation de schémas.
Les extensions peuvent être associées à un schéma donné en modifiant la propriété Extensions de l’éditeur de schéma du nœud schéma . Les informations sur les extensions associées à un schéma sont stockées dans le schéma lui-même, dans l’élément d’annotation de l’élément de schéma , comme illustré dans le fragment XSD suivant.
<?xml version="1.0" encoding="utf-16" ?>
<xs:schema xmlns="http://BizTalk_Server_Project1.Schema11"
xmlns:b="http://schemas.microsoft.com/BizTalk/2003"
targetNamespace="http://BizTalk_Server_Project1.Schema11"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:annotation>
<xs:appinfo>
<schemaEditorExtension:schemaInfo namespaceAlias="b"
extensionClass="Microsoft.BizTalk.FlatFileExtension.FlatFileExtension"
standardName="Flat File"
xmlns:schemaEditorExtension="http://schemas.microsoft.com/BizTalk/2003/SchemaEditorExtensions" />
<b:schemaInfo schema_type="document" root_reference="Root"
is_receipt="no" schema_name="abc"
standard="Flat File"
count_positions_by_byte="false" />
</xs:appinfo>
</xs:annotation>
<xs:element name="Root">
...
Après avoir instancié l’objet d’extension, l’infrastructure appelle la méthode Initialize de l’interface IExtension , en passant un objet ITree afin que l’extension puisse accéder aux informations relatives à l’arborescence de schéma. Par exemple, l’extension peut parcourir tous les nœuds enfants en accédant à la propriété ITree.RootNode .
Cette section explique de quelles manières une extension de l'Éditeur BizTalk peut s'intégrer à l'environnement de l'Éditeur BizTalk et se raccorder aux commandes existantes de l'Éditeur BizTalk.