Integración de Sistemas
Publicado por Jordi en Febrero 12, 2007
Os dejo un artículo de Oriol Quinquillà, (Raona Team Leader). En verdad resume en muy pocas lineas las diferentes opciones de las que disponemos para homogeneizar diferentes escenarios y tecnologias que podemos encontrar en una empresa:
A menudo nos toca enlazarnos con el Host, el SAP, el CRM de Microsoft, el Exchange, la aplicación a medida ASP.NET 1.1, el Content Manager, el Siebel, etc. Cada uno de estos sistemas gestiona una parte del negocio y, obviamente, si los pudiéramos integrar ganaríamos eficiencias que beneficiarían a la empresa.
¿Pero cómo podemos integrarlos? Según los Patterns&Practices de Microsoft, existen tres patrones básicos de integración de sistemas: la integración de portal, la integración de entidades y la integración de procesos. La integración de portales significa proveer una vista unificada de los sistemas al usuario. La integración de entidades significa crear una capa de abstracción del modelo de datos de todo el negocio que es compartida por todos los sistemas. Y la integración de procesos significa crear un Process Manager que sigue un Process Model con el objetivo de coordinar la ejecución de funciones de negocio. Veamos cómo podemos implementar estos patrones.
El patrón de integración de portal nos sugiere ya en su nombre una tecnología de gestión de portales. Tomando la historia de nuestros proyectos, lo hemos implementado customizando Microsoft Sharepoint 2003 o 2007 para presentar todas las aplicaciones incrustadas en la navegación de la estructura de páginas, personalizada según roles, y desarrollando un pequeño mecanismo de Single-Sign On que permite autenticar al usuario automáticamente, mediante las credenciales subministradas al inicio de la sesión y haciendo en cierto modo transparente la existencia de diferentes sistemas al usuario.
El patrón de integración de entidades se puede resolver siguiendo una topología Hub (por ejemplo, implementando una capa de objetos de negocio en .NET común a todas las aplicaciones; esta aproximación es teórica, a menos que todas las aplicaciones de la empresa sean desarrollos a medida), siguiendo una topología Point-to-Point (donde cada sistema se integra con conector propietario con otro sistema; por ejemplo, SAP y DB2 disponen de un conector) o siguiendo una topología Bus. Se trata de implementar un conjunto de servicios públicos de entidades de negocio en cada aplicación, que siguiendo la arquitectura SOA normalmente se traducen en Web Services. Esta capa Web Services de diferentes sistemas conformará el llamado Enterprise Service Bus (ESB). A menudo nos encontramos con que se tiende hacia esta topología a medio/largo plazo, es decir, se aprovechan los nuevos desarrollos para añadir “Servicios” a las partes de los sistemas que se actualicen.
El patrón de integración de procesos es el más complejo de implementar, ya que existen un conjunto de fuerzas a tener en cuenta:
- Las llamadas a las aplicaciones que forman un proceso pueden ser síncronas e inmediatas, pero el proceso puede tardar horas, días, semanas (por ejemplo, esperar a recibir un pedido). Por lo tanto, debe implementar mecanismos de persistencia.
- Cuanto más largo y complejo es un proceso, más posibilidades existen de error. La implementación debe ofrecer transaccionalidad y mecanismos de compensación.
- Por los mismos motivos de tiempo y complejidad, posiblemente mientras se da un proceso que se gestiona llegarán otros nuevos que habrá que procesar concurrentemente. La implementación debe soportarlo y, además, hacerlo de forma escalable.
- El conocimiento de los procesos de negocio es difuso y a menudo está concentrado en unas pocas personas. Es necesario un mecanismo que los clarifique y facilite sus cambios.
Microsoft Biztalk 2004 / 2006 es una excelente herramienta que implementa este patrón, ofreciendo mecanismos de persistencia, transaccionalidad, concurrencia, escalabilidad y modelado de procesos. Se sostiene sobre .net 1.1/2.0, SOA (sobre todo Web Services), XML, SQL 2000/2005 y Visual Studio 2003/2005 (incluye un diseñador propio que se integra con el IDE), según sea la versión 2004 o 2006. Ofrece un rendimiento que en nuestras experiencias ha superado las expectativas de los equipos de proyecto y, hasta el momento, podemos contrastar que se integra perfectamente con DB2, SAP, Websphere, aplicaciones .net y otras más concretas. Dispone, además, de un nutrido conjunto de adaptadores que aseguran la interacción con los sistemas y que hay que conocer, ya que la casuística de las integraciones es grande y eventualmente hemos hallado casos en los que los adaptadores estándar no han sido suficientes.

RSS 2.0 Posts