BizTalk Server: Como estructurar Soluciones y Proyectos Visual Studio

En este post quiero compartir la forma en que suelo estructurar las soluciones y proyectos de BizTalk en Visual Studio, para explicarme mejor creemos un escenario imaginario donde sea necesario emplear todos los artefactos de BizTalk Server.


Lo primero es elegir el espacio de nombre (namespace) a emplear, en mi caso suelo utilizar como prefijo el nombre de la compañía del cliente, seguido del nombre o código del proyecto. Un ejemplo ilustrativo: "Contoso.MiApp". No obstante, como siempre, si nuestro cliente dispone de una politica para esto hay que respetarla.


A continuación creo una solución en blanco denominada igual que el namespace elegido, en este caso "Contoso.MiApp". Ahora puedo incluir mis proyectos, y dado que en este escenario utilizo todos los tipos de artefactos de BizTalk Server mi propuesta sería:
  1. Contoso.MiApp.Schemas
    • Proyecto: BizTalk 
    • Extensión: btproj
    • En este proyecto guardo todos los esquemas utilizados en la aplicación que estamos creando, incluyendo los documentos de propiedades utilizadas para promocionar información en contexto.
  2. Contoso.MiApp.Maps
    • Proyecto: BizTalk 
    • Extensión: btproj
    • Repositorio de los mapas utilizados desde la aplicación.
  3. Contoso.MiApp.Orchestrations
    • Proyecto: BizTalk
    • Extensión: btproj
    • Recopilación de las orquestaciones que componen la aplicación, incluida las de gestión de errores de la aplicación.
  4. Contoso.MiApp.Pipelines
    • Proyecto: BizTalk
    • Extensión: btproj
    • Recopilación de los pipelines personalizados que podrán ser utilizados por la aplicación.
Por  supuesto, esta aproximación la considero adecuada en aplicaciones con muchos componentes. Esto quiere decir, que en pequeños proyectos o pruebas de concepto no es necesario ser tan estrictos. 


Bueno espero que con este post tengan otra idea de como estructurar las aplicaciones.

Comentarios

Entradas populares de este blog

Algo de Humor: Leyes de Java

MSDTC error code 0x8004D02A