Volver

BizTalk Server 2004: 10 Cosas que Deberías Saber

Traducido desde http://articles.techrepublic.com.com/5100-7343_11-5795155.html?tag=sc
por Hernaldo González C. - Development Team Leader
http://darknromhacking.com
hernaldog@gmail.com
(* Notas del traductor)



Resumen: BizTalk Server 2004 es el 3er intento de Microsoft para servidores integrados que permiten integración de procesos de negocio internamente y entre compañías, todo un encanto. Pero hay mas cosas bajo el telón de lo que debes estar enterado. Aquí te listo 10 cosas para ti.

BizTalk Server 2004 es la tercera versión del servidor de integración de procesos de negocios. Se integra con Visual Studio .NET 2003 y con los XML como su médula de transporte de datos, BizTalk 2004 es la mas poderosa oferta de Microsoft (*ahora ya salió Biztalk 2006), que todavía insiste en hacer entradas serias en la integración de empresas.

Lo malo es que hay muy poca documentación sobre como hacer que el nuevo Biztalk trabaje, ya sea en Redmond (*oficinas centrales de Microsoft) o en otro lugar (Y lo digo sinceramente, ¡criticas como estas, no son lo único que verás ahora!) En resumen, BizTalk es poderoso y versátil pero es difícil de usar completamente. Aquí tienes una lista con sus aspectos buenos y en contra.


1. Puedes interactuar con bases de datos SQL Server desde dentro de BizTalk

BizTalk 2004 puede comunicarse con otras fuentes de datos vía TCP, carpetas de archivos, HTTP, ftp y otros. También puede comunicarse directamente con SQL Server, con un adaptador SQL configurable. Reduciendo lo que de otra forma sería un proceso multi-etapa, a un simple paso y muy eficiente: BizTalk hace un Select o Update a tablas SQL vía procedimientos almacenados especificados en una configuración de un adaptador, y generará solicitudes fáciles de usar y de mapear y te responderá objetos para ti.

Pero por otro lado, cada adaptador SQL que crees en Biztalk es específico para una base de datos, lo que es inconveniente cuando tienes un proceso de negocio en una orquestación que necesite acceder a mas de una base de datos (por ejemplo si usas BD específicas para cliente pero tu proceso es común). Es posible pero no es simple crear mas de un adaptador SQL por orquestación, no se logra con una codificación dura o creando un adaptador por base de datos (otro desafortunado ejemplo de Microsoft para hacer decisiones de diseño por nosotros). Una mejor aproximación dinámica seria bienvenida, y algo que podemos esperar en futuras versiones.


2. Puedes sincronizar procesos de negocios con BizTalk

Las Orquestaciones BizTalk permiten correlacionar procesos, basados en la data disponible. Es común en muchos procesos de negocio realicen ciertos eventos y decisiones de contingencia con los datos de entrada, puedes escalonar o hacer condiciones sobre las capas de negocio. Puedes, de hecho, hacer procesos arquitecturalmente asíncronos (por la integridad de transacción, robustez, escabilidad, etc.) lógicamente una forma síncrona es aplacado por esta característica.


3. BizTalk se encarga de tu EDI, sin instalar

BizTalk 2004 viene con varios adaptadores incluidos, incluyendo un Adaptador Base EDI que ofrece los set básicos de transacciones (Orden de compra, Factura, etc.) y una utilidad de mapeo que reemplaza tus interfaces EDI existentes y lanza una nueva más económica que antes no podías, haciendo BizTalk una inversión mas atractiva. El proceso de configurar e instalar una interfaz EDI usando este adaptador no es fácil, pero ofrece opciones de manejo para una actividad de tracking (*traceo, rastreo) con EDI externos. Si estas haciendo un EDI específico para algún negocio, como transacciones HL7, existen paquetes Biztalk compatibles disponibles desde Microsoft.


4. Puedes instalar una aplicación BizTalk como un Web service

Es posible, y muy conveniente, crear Web services desde orquestaciones BizTalk. El proceso de mapear de una orquestación BizTalk puede ser instalada como una transacción tipo servicio, tanto una red interna o externa, simplemente corriendo un asistente. Hay que tener cuidado de identificar y configurar correctamente el esquema que representa los datos que el Web service recibirá, pero de hecho es mas fácil crear e instalar un Web service usando BizTalk que otro software, es decir, mas convencional (dependiendo del trabajo que realizará el Web service).


5. Puedes monitorear procesos y tracear la actividad de negocio

El Business Activity Monitor de BizTalk Server 2004 es tanto un motor como un set de herramientas que pueden reportar el estado de los procesos (en tiempo real, si fuera necesario). Esta información puede ser manejada con SharePoint Portal Server de Microsoft, ser puesta para ser recibida por aplicaciones de Microsoft Office suite. La gracia de las métricas es que pueden ser extraídas de esas herramientas e incluirlas en medidas de performance similares, pero lo principal es la capacidad para informar a los usuarios a lo largo del proceso, la nueva información que puede emerger, permitiendo una reacción rápida si fuera necesario.


6. Puedes crear tus propios Adaptadores

¿Necesitas hacer andar tus propios adaptadores? BizTalk te permite crear adaptadores personalizados con la idea de comunicarte con sistemas externos, usando el mismo framework por los adaptadores construidos en BizTalk. Puedes adaptar sistemas de comunicación externos, y puedes (si es necesario) incrustar lógica requerida para el manejo de mensajes. No necesitas ningún otro software adicional hacer estos, aparte de BizTalk 2004, el SDK y Visual Studio 2003. Hay adaptadores de ejemplos incluidos en la instalación de Biztalk que puedes usar como ejemplo.


7. Puedes usar MSMQ (*Microsoft Message Queue) para mensajes asíncronos

MSMQ es, como algunos dicen, la mejor característica de Microsoft y que de seguro no estas usando. Pocos son conscientes incluso de esta conveniente y versátil capacidad de mensajería que viene incorporado con Windows XP o MS Server 2003. Es una forma fácil y económica de conectar aplicaciones asincrónicamente - y que hasta ahora, esto no era muy amigable en BizTalk. Existía MSMQT (*BizTalk Message Queuing) (que no es la misma cosa), pero habían adaptadores de MSMQ disponibles para BizTalk, hasta este año. Ahora puedes bajarlos gratis y usarlos para crear Puertos Receptores y de Envío en sistemas BizTalk, para comunicar con otras aplicaciones o con negocios externos.
(Nota: busca documentación de las incompatibilidades entre MSMQT y MSMQ cuando se usan en le mismo contexto.)


8. Una de las mas triviales e importantes funciones están ocultas

Desde que BizTalk trata de conectar sistemas y aplicaciones a través de mensajes, se construyo asumiendo que los mensajes entran y salen desde y hacia cualquier proceso. Para este fin, una orquestación BizTalk típicamente comienza con un objeto Receptor, y ese Receptor asume un mensaje de entrada inicial. Naturalmente, se requiere el tipo de mensaje para que el esquema lo soporte. Y ya que Microsoft le gusta el estilo "hazlo a tu modo", se respalda en eso para llevarnos a realizar errores de diseño, la orquestación no recibirá cualquier mensaje que no coincida con el tipo de mensaje especificado en el objeto de Recepción (Receive block).

Debes generar un esquema tipo desde una instancia XML bien formada, así darle a BizTalk un tipo seleccionable para el objeto Receive. ¡Increíblemente BizTalk no viene con esta capacidad activada! Tienes que hacerlo tu mismo. El software para realizar importación de esquemas XDR es activada de la forma out-of-the-box (*llegar y correr, sin instalaciones), al correr 2 scripts: InstallWFX.vbs y InstallDTD.vbs, ambos se encuentran en la ruta SDK\Utilities\Schema Generator que es un subdirectorio de la instalación de Biztalk —a fin de permitir el importe de XML o DTD para la generación de esquemas precisos que BizTalk puede usar para representar. Como esto, hay varios otros ejemplos de funciones críticas que no están claramente indicadas en documentos o en ejemplos. ¡Así que estén atentos!


9. Las orquestaciones BizTalk no siempre hacen lo que esperas

Otra cosa de BizTalk, es que te sientes como en el lado oscuro por la poca documentación, ya que se dan inconsistencias entre la manera que esperas que las cosas se hagan y la manera que las hace BizTalk. Una ejemplo de inconsistencia es la manera en que una orquestación BizTalk maneja los XML.

No puedes meterte mucho con la manipulación de XML dentro de una orquestación sin habilitar tu mismo el xPath, una utilidad indispensable para extraer datos desde los XMLs. La mayoría de las típicas expresiones se pueden extraer usando xPath con un argumento incluyendo instancias de origen y la instancia xPath (en la ventana de las propiedades de Visual Studio.NET, cuando haces clic en un ítem en un esquema XML). Si intentas usar la ruta de la instancia dada en las propiedades dentro una orquestación BizTalk, BizTalk se pierde.

Nadie se preocupa por decirte esto y también no hay ningún documento formal que diga como sacar simples, discretos items sin usar una orquestación (aunque podemos decir que esta falla de xPath solo ocurre algunas veces, dependiendo de la estructura del esquema XML y los lugares de los datos deseados). He visto explicaciones informales de esta falla, como uno llamado BizTalk's implementation of XLANG. Sea cual sea la causa, este es uno de muchos bugs en BizTalk que no has leído, y que debes confrontarlos sin asistencia.


10. El tiempo para aprender Biztalk será alto

Si hay en la historia de Microsoft un producto que es promocionado por lo cielos y cae en picada, este es BizTalk. Originalmente fue una adquisición de Microsoft (*Biztalk 2002 era externo a Visual Studio), pero que ahora esta bien integrada dentro de la familia Microsoft y largamente alimentada por sus creadores. BizTalk es poderoso, bien concebido, y en este punto punto amarrado a resto de la familia MS —pero con una gran falta de documentación. Decir que lo útil de Biztalk solo son los "how-to" y labs en el mundo real, sería un error. Compra BizTalk si estás mas o menos seguro, usándolo con tus aplicaciones y ambientes particulares.

En fin, luego de horas de ver blogs, y de horas de correr trial-y-errores. Conseguirás un montón de tips frustantes en el BizTalk Server Administration event log, mensajes vagos de excepciones, y poca asistencia de real debugging desde la utilidad Health and Activity Tracking. La gracia es que una vez que hayas aprendido todos los caprichos, te sentirás con mucho poder. Pero, oh, ¡pero vaya curva de aprendizaje! No debes subestimarla.


**Traducido el 06/07/2007. Dudas o comentarios a hernaldog@gmail.com.



Volver

2003-2011