La determinación del conjunto de destinos de mensajes en tiempo de ejecución en la aplicación de BizTalk

StackOverflow https://stackoverflow.com/questions/3821517

  •  26-09-2019
  •  | 
  •  

Pregunta

yo soy un completo novato en BizTalk y necesito para crear una aplicación de BizTalk 2006 que transmite los mensajes de una manera específica. No estoy pidiendo una solución completa, pero por consejo y directrices, que las capacidades de BizTalk que deben utilizar.

Hay una fuente de mensajes, para simplificar, digamos, un directorio en el que el usuario agrega archivos a publicar ellos. Hay varios abonados, cada uno con un directorio para recibir los archivos publicados. El número de abonados puede variar en el transcurso de la explotación del programa. También hay algunas reglas que determinan si un abonado concreto necesita recibir un archivo en particular, sobre la base del nombre de archivo. Por ejemplo, cada abonado tiene un patrón o una máscara de nombre de archivo de qué archivos recibe deben coincidir. Dichas normas (por ejemplo, patrones) pueden cambiar en el tiempo también.

No sé cómo hacer esto. Crear un conjunto de puertos de envío en tiempo de ejecución, cada uno para cada destino? ¿Es posible? Utilizar un puerto cambiando su unión? ¿Funcionaría correctamente con envíos simultáneos? ¿Hay otras maneras?

Editar

Me di cuenta de que mi pregunta puede ser a oscurecer y general a preferir una respuesta sobre otra a aceptar. Así que sólo les upvoted.

¿Fue útil?

Solución

Si los cambios en el destino van a ser frecuentes, tienes razón en la búsqueda de una solución más dinámica. Una buena solución es el uso de los puertos de envío dinámico y las reglas de negocio del motor. Se crea conjunto de reglas para los mensajes que está Receving. Esto podría basarse en una propiedad de destino o ID de cliente en el mensaje. El uso de estos hechos, el motor de reglas puede devolver un montón de información como máscara de archivo, nombre del servidor, la dirección IP del servidor de deleiver, etc. Puede thenuse esta información para configurar el envío dinámico en la orquestación. El verdadero Lo bueno aquí es que se puede actualizar el conjunto de reglas en el motor de reglas sin volver a desplegar la solución completa. Como Novato, estos son algunos de los conceptos avanzados, pero no tan diificult como usted puede pensar.

Para una solución más simple, es posible que desee ver en el establecimiento de las propiedades de envío de archivos a través de adaptadores que Propery de esquema (es decir nombre. Archivo, directorio, etc.). Se podría tirar de estos valores de una base de datos con una clase de ayuda dentro de una forma expresison. En cada mensaje ogig cabo, utilizar el shcema de propiedades para definir donde se enviará el mensaje y el nombre. De esta manera, usted acaba de actualizar la base de datos como el cambio de las cosas.

Buena suerte!

Otros consejos

usted podría mirar a través de los puertos de envío dinámico para lograr esto - si sus suscriptores son verdaderamente dinámica. Esto introduce un poco de complejidad, ya que necesitará usar una orquestación para configurar las propiedades del puerto de envío en función de sus reglas.

Si es posible, tratar de eliminar la complejidad. Si usted sabe que usted no tiene que ser verdaderamente dinámica al agregar suscriptores (es decir, un abonado y sus reglas se pueden configurar una sola vez) y tiene un número manejable de abonados entonces sugeriría la configuración de cada abonado que usa su propio puerto de envío y utilizar un filtro para crear suscripciones basadas en las propiedades de contexto del mensaje. La belleza de este enfoque es que no es necesario para crear e implementar una orquestación y esto se convierte en una solución de gran rendimiento y escalable.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top