Hace unos días hablaba con un partner que me pedía ayuda o consejo para poder preparar una propuesta para un cliente en un escenario de integración. La duda era si utilizar SQL Server Integration Services o BizTalk Server. Así a bote pronto la respuesta es fácil; depende...
En varias ocasiones he oído el mismo comentario, oye, hay un montón de tecnologías de integración y muchas veces no tenemos claro cuándo utilizar cada una. La elección entre SSIS y BizTalk Server suele ser la más frecuente. Pero aún hay más, veamos algunas:
Aunque cada una de ellas tiene su papel en escenarios concretos, todas ellas tienen puntos en común, lo que es, en mi opinión, muy importante. Un mismo entorno de desarrollo con Visual Studio; y una misma base, .NET Framework.
Lógicamente estos escenarios de integración son lo suficientemente complejos y variados como para poder describirlos aquí, pero me voy a atrever con una tabla en plan guía maestra con algunas recomendaciones de alto nivel (muy alto nivel) sobre los escenarios habituales o principales de cada una de ellas. Va por ustedes:
Tecnología
Escenarios principales
Servicios Web ASP.NET (asmx)
Conectar aplicaciones Windows con aplicaciones No-Windows
.NET Remoting
Conexión entre aplicaciones, Windows y no Windows vía SOAP
Enterprise Services
Conexión entre aplicaciones Windows que usen transacciones distribuidas, gestión de vida de objetos ...
WCF
Unificación de las tecnologías de aplicaciones distribuidas en Windows. Unifica las tecnologías previas: asmx, .NET Remoting y Enterprise Services.
Colas de Mensajes (MSMQ)
Conexión entre aplicaciones Windows mediante colas de mensajes.
SQL Server Service Broker
Conexión entre aplicaciones SQL Server 2005 mediante colas de mensajes
Host Integration Server
Conexión con CICS, IMS, acceso a DB2, conexión de MSMQ con MQ Series. Estas funcionalidades ahora disponibles también a través de BizTalk Server.
BizTalk Server
Comunicación entre aplicaciones Windows y no Windows a través de distintos protocolos.
Integración con diversos formatos de mensajes: XML, ficheros planos, SWIFT, HL7 ...
Diseño y ejecución de procesos de negocio
Uso de reglas de negocio
BAM
Requisitos de mensajería fiable
Escalabilidad y alta disponibilidad
SQL Server Integration Servcices (SSIS)
Combinar y transformar datos de fuentes diversas en datos de SQL Server
Y una cosa es cierta, al menos en mi experiencia, no son excluyentes, lo que uno se encuentra con frecuencia en el mundo real es que muchas veces hay que utilizar una combinación de algunas de ellas; lo que es importante y valioso para poder diseñar y ofrecer una solución que cubra las necesidades del cliente.