Tecnologías de integración. Cuándo utilizar qué.
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:
- Integración directa entre aplicaciones mediante Servicios Web (asmx), .NET Remoting y Enterprise Services. O sea, Windows Communication Foundation.
- Integración a través de colas; Microsoft Message Queue. En su momento también con SQL Service Broker (SSB).
- Integración con aplicaciones y datos en sistemas IBM. Esto en Microsoft se llama Host Integration Server. Ahora, con BizTalk Server 2006 y 2006 R2 tenemos adaptadores para CICS, IMS, DB2 y VSAM.
- Integración de aplicaciones a través de un ‘broker', ¡sorpresa!, BizTalk Server
- Integración de datos, SQL Server Integration Services (SSIS)
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.