30
May
08

Cuándo usar qué

Para este segundo BizTalk’s Fridays me he inspirado en un post de mi colega Eduardo Azanza  que lo ha llamado Tecnologías de la información: Cuando utilizar que  en el que describe la mejores tecnologías de integración para cada escenario. Bien, en este mi post, vamos a pensar que ya hemos adoptado BizTalk como la mejor tecnología que se adecua a nuestras necesidades. Pero ….. Y ahora qué?

Como os comentaba en el artículo del estreno del blog, dentro de BizTalk contamos con muchas piezas que nos ayudan a reducir el esfuerzo de desarrollo en la implementación del proceso de integración.  Bajo mi experiencia, los problemas llegan cuando no sabemos qué pieza del puzle usar en cada momento y por tanto creamos una arquitectura no lo demasiado desacoplada, con escasa escalabilidad y bajo rendimiento.

Lo primero que tenemos que pensar es que debemos seguir una filosofía BPM y diferenciar entre procesos de negocio y procesos tecnológicos.

 Cuando estamos implementando procesos tecnológicos debemos pensar en cosas como Adaptadores, Componentes de pipeline, Librerías tipo helper …

Mientras que para el verdadero desarrollo del proceso de negocio contamos con otras cosas como Orquestaciones, Reglas de negocio, BAM

Visto así …. ¿Parece fácil verdad? El truco está en saber dónde queda la línea en cada momento. Por ejemplo en uno de los proyectos en los que he estado involucrado en un momento de la integración tenía que realizar una transformación de videos, lo primero es pensar…. Eso es un proceso técnico, debería de estar dentro de un componente de pipeline, pero….. Y si estamos hablado de un portal de noticias en el que parte de su negocio consiste realmente en eso, en hacer dichas transformaciones. Quizás en ese caso debería construir un flujo de proceso en el que en una de las actividades llame a un servicio encargado de la transformación de video.

Otra cosa muy importante es el detectar si la integración consiste en la colaboración de dos aplicaciones diferentes, por lo cual solo necesitaré hacer uso de los servicios de mensajería BizTalk (Puertos, transformaciones, patrones de tipo “content based routing”). O si por el contrario consiste en coordinar diferentes servicios en un orden determinado para lo que entonces si estaremos obligados a usar orquestaciones.

Como todo esto suele ser difícil os voy a dar unas pequeñas pinceladas:

  • Adaptadores: En pocas ocasiones tendremos que desarrollarlos, puesto que existen más de 22 out-of-the-box y además hay empresas de terceros especializados en el desarrollo de adaptadores empresariales. Pero en caso de tener que conectarte a algo de lo que no exista uno ya, no te quedará otro remedio.
  • Pipelines y componentes de pipeline: Los usaremos cada vez que tengamos que trabajar a nivel de mensaje. Quiero decir, todas las triquiñuelas que tengas que realizar para tratar a un mensaje previo a su entrega lo harás con un componente de pipeline.
  • Orquestaciones: Definen las actividades que realiza el proceso o flujo de negocio.
  • Motor de reglas: Sirve para gestionar y automatizar las reglas de negocio de una manera mucho más desacoplada, ¡más BPM!. Pero también nos puede servir por ejemplo para dotar al sistema de un agnosticismo de componentes a ejecutar en un pipeline genérico que instancie diferentes componentes basándonos por ejemplo en el tipo de documento que se está procesando …. Bueno lo dejo que igual os lio, pero os aseguro que es muy potente para desacoplar funcionalidad y crear factorías de clases
  • BAM: Inicialmente se pensó para monitorizar la actividad de negocio, es decir para dar visibilidad a los usuarios de negocio de que está pasando en cada momento a través de KPI’s, agregaciones de datos, ….. Pero hoy en día la tendencia es usarlo también para la monitorización del sistema como tal.

Por último, hay una serie de patrones de integración ya definidos que nos ayudan a saber cómo combinar todos estos artefactos de una manera más efectiva, si queréis más información sobre esto os podéis descargar mi webcast ” Microsoft BizTalk Server 2006: Patrones de diseño “.

También os recomiendo la lectura del libro “Pro BizTalk 2006” habla de problemas y soluciones del mundo real.

Bueno pues, Con todo esto y un poco de ingenio espero que os salgan unos diseños 100% BizTalk compliant.


0 Respuestas a “Cuándo usar qué”



  1. Aún no hay comentarios

Escribe un comentario