Extensión del Diseñador de itinerarios
El itinerario Designer es un lenguaje visual específico del dominio (DSL) para Microsoft Visual Studio que permite el modelado gráfico de itinerarios para su uso con el kit de herramientas de MICROSOFT BizTalk ESB. El diseñador expone varios puntos de extensión para los que los desarrolladores pueden escribir extensiones personalizadas para habilitar nuevas funcionalidades o nuevas opciones de configuración.
Creación de un exportador de itinerarios personalizado
La arquitectura del Designer itinerario permite la creación de exportadores de modelos personalizados que serializan y conservan los datos en un modelo de itinerario.
Creación de un extensor personalizado para un servicio de mensajería
La arquitectura del Designer de itinerarios permite crear extensores personalizados para los elementos del modelo del servicio de itinerarios que se pueden usar para agregar propiedades al contenedor de propiedades para su uso por los Servicios de mensajería.
Para obtener un ejemplo de cómo crear este extensor, consulte Instalación y ejecución del ejemplo de extensibilidad de Designer.
Creación de un extensor personalizado para un servicio de itinerarios de Orchestration-Based
La arquitectura del Designer de itinerarios permite crear extensores personalizados para los elementos del modelo del servicio de itinerarios que se pueden usar para agregar propiedades al contenedor de propiedades para su uso mediante servicios de itinerarios basados en orquestaciones.
Para obtener un ejemplo de cómo crear este extensor, consulte Instalación y ejecución del ejemplo de extensibilidad de Designer.
Crear un extensor de resolución personalizado
La arquitectura del Designer de itinerarios permite crear extensores personalizados para la configuración de solucionadores personalizados. Estos extensores proporcionan una interfaz gráfica para configurar los pares nombre-valor en el solucionador cadena de conexión, que se asignan a las propiedades de la clase de extensor de resolución específica.
Para obtener un ejemplo de cómo crear este extensor, consulte Instalación y ejecución del ejemplo de extensibilidad de Designer.
Crear un archivo de manifiesto para las propiedades del adaptador personalizado
Al crear un proveedor de adaptadores personalizado, también debe proporcionar compatibilidad con el diseñador para el proveedor de adaptadores a los extensores de resolución que muestran una propiedad de configuración de punto de conexión. Para habilitar la compatibilidad con el diseñador, es necesario crear un archivo de manifiesto del proveedor de adaptadores.
El archivo de manifiesto del proveedor del adaptador define las propiedades asociadas a un proveedor de adaptador específico, sus tipos, descripciones y el ensamblado en el que se pueden encontrar. Estos archivos de manifiesto deben colocarse en la misma carpeta que los archivos binarios de Itinerario Designer (por ejemplo, Microsoft.Practices.Itineary.DslPackage.dll) con un nombre único (por ejemplo, FTPPropertyManifest.xml).
A continuación se muestra una instancia de referencia de un archivo de manifiesto del proveedor de adaptadores; Los archivos de manifiesto personalizados deben estar estructurados del mismo modo.
<?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>
Crear un extensor de filtro personalizado
La arquitectura del Designer itinerario permite crear extensores personalizados para la configuración de filtros personalizados. Estos extensores proporcionan una interfaz gráfica para configurar los pares nombre-valor en el filtro cadena de conexión, que se asignan a las propiedades de la clase extender de filtro específica.
/Samples/Designer Extensibility Samples/Extenders.Itinerary.OrchestrationSample/Extenders.Itinerary.OrchestrationSample/Extenders.Itinerary.OrchestrationSample
/Samples/Designer Extensibility Samples/Extenders.Resolvers.ResolverSample/Extenders.Resolvers.ResolverSample
Creación de reglas de validación personalizadas
La última extensión significativa introducida por el Designer de itinerarios es un mecanismo de validación que le permite externamente, con respecto a un lenguaje específico del dominio (DSL), especificar e implementar las reglas de validación del modelo. El mecanismo "enlaza" al marco de validación dsl y se activa cuando el usuario hace clic en Validar o Validar todo en el menú contextual de un modelo. Esto invoca el objeto DslCommandSet del marco DSL que, a su vez, llama al motor de validación en el Designer de itinerarios.
La clase ValidationEngine realiza la validación del elemento de modelo mediante el bloque de aplicación de validación de biblioteca empresarial y registra los errores de validación en la ventana Lista de errores del IDE de Microsoft Visual Studio. La validación que se debe realizar para cada tipo de elemento de un modelo se define en el archivo de configuración de la biblioteca empresarial. El archivo se denomina Ruleset.config y se encuentra en la carpeta binaria donde se encuentran todos los archivos binarios de itinerario Designer. El ejemplo siguiente es un fragmento del archivo de configuración e incluye dos reglas de validación (denominados validadores) para el extensor UddiResolver , una para la propiedad ServerUrl y otra para la propiedad 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>
Cada regla identifica el validador que implementa la regla. El itinerario Designer viene con un gran conjunto de clases de validador. Todos están en el proyecto Microsoft.Practices.Modeling.Validation de la carpeta binaria Designer.
El resultado final del uso de este mecanismo de validación es que el itinerario Designer los usuarios pueden modificar cómo se validan los modelos cambiando las reglas y validadores proporcionados o agregando sus propias reglas y validadores. Esto se puede hacer sin abrir, modificar, volver a generar y volver a implementar las DSL mediante los dos pasos siguientes:
Cree una clase de validador y colóquela en una biblioteca dentro de la carpeta binaria donde se encuentra la biblioteca Microsoft.Practices.Modeling.Validation.dll .
Agregue entradas al archivo Rules.config para definir qué propiedad de la clase de elemento de modelo se debe aplicar el validador.