martes, julio 24, 2012

Plantilla de Visual Studio para proyectos de Biztalk

 

image

Recientemente he estado leyendo un libro muy recomendable - Biztalk Server 2010 Patterns, acá muestran varios consejos y uno de ellos es la utilización de una plantilla para facilitarnos la creación de los proyectos para Biztalk. Esta crea un solución con un grupo de proyectos estructurados según las mejores practicas. Les dejo el enlace para su descarga  Descargar Plantilla.

También esta el código fuente por si le sirve a alguien para crear su propia plantilla para lo que necesite.

Saludos.

lunes, julio 09, 2012

SQL Server - Max Degree of Parallelism y Biztalk

image

Cuando se instala Biztalk, el nivel de Paralelismo de la instancia de SQL Server que hospeda la base de datos BiztalkMsgBoxDB es cambiado. Esto ocurre si en la instancia de SQL Server se detecta que hay múltiples procesadores.

Este valor es cambiado a 1, lo cual afecta únicamente el numero de procesadores utilizados por una consulta T-SQL en particular al mismo tiempo. Si el valor de configuración es cambiado a 1 el optimizador de SQL Server no creara planes de ejecución que permitan utilizar múltiples procesadores a la vez.

Esto es manejado de esta forma ya que las consultas a la base de datos de Biztalk son relativamente pequeñas y se ejecutan rápido. Si se cambia la configuración de Paralelismo para que utilice mas de un procesador, esto puede tener consecuencias negativas en el rendimiento de Biztalk. Por lo mismo es recomendado que no se comparta el servidor con otras bases de datos o que se separen las instancias de la base de datos BiztalkMsgBox y las demás Bases de Datos.
Se puede ver la configuración de Paralelismo configurada para la instancia con la siguiente instrucción T-SQL

USE master 

sp_configure 'max degree of parallelism'

y cambiar la configuración con la siguiente instrucción T-SQL
USE master 

sp_configure 'max degree of parallelism', '1' 
reconfigure with override

También se puede hacer desde el SQL Server Management Studio, haciendo click derecho sobre el Servidor, seleccionar Propiedades, hacer click en Advanced y cambiar el valor de Max Degree of Parallelism.
Hasta la próxima.

sábado, julio 07, 2012

Optimizando la cantidad de Hosts en Biztalk

 

image

Una recomendación común a la hora mejorar el desempeño de Biztalk es separar los Hosts por función. Esto permite poder asignar los parámetros de rendimiento por separado, así como, poder detener/iniciar las Instancias de Host en forma independiente,  manejar los recursos de mejor forma y poder distribuir a través de varias Instancias de Host la carga de los componentes de la aplicación.

Aunque no existe una formula que funcione para todos los casos, puede ser útil seguir esta guía, creando los siguientes Hosts:

ReceiveHost, SendHost, OrchestationHost,  TrackingHost, IsolatedHost

1. Agregar cada Host desde la consola de Biztalk

image

2. Especificar el Nombre, Tipo y Grupo de Windows para el Host. En el caso de estar trabajando con Adapters que necesitan operar en modo de 32 Bits puede ser útil crear otros dos Hosts de Entrada y Salida de 32 bits específicamente, seleccionando la opción 32-bit only en los parámetros generales del Host.

image

3. Al momento de crear el HostTracking se debe seleccionar la opción Allow Host Tracking en los parámetros generales del Host. Solo debe haber un host marcado con esta opción, se debe deshabilitar la opción en el host configurado por default por Biztalk. En el caso de haber mas de una Base de Datos MessageBox, puede haber un HostTracking por cada MessageBox.

image

4. Se debe proceder a crear las Instancias de Host, para cada uno de los Hosts creados (se puede distribuir la cantidad de Hosts entre el grupo de servidores de Biztalk para balancear la carga)

image

image

5. Establecer las propiedades de la Instancia de Hosts a través del botón Configure, se deben ingresar las credenciales para la levantar la Instancia de Host (se debe tener cuidado al momento de configurar Adapters como el tipo Archivo, asignando una cuenta que tenga permisos para leer/grabar en la carpeta que se use para manejar los archivos)

image

6. Por ultimo se deben modificar los Handlers para cada Tipo de Adapter, para que utilicen el Host Correspondiente

image

image

Espero les sea de utilidad.

Hasta la próxima.