Revista Telem@tica. Vol. 11. No. 3, septiembre-diciembre, 2012, p. 1-10 ISSN 1729-3804 APROXIMACIONES A LA INTEGRACIÓN DE INFORMACIÓN Y APLICACIONES 1 2 3 Caridad Anías Calderón , Julio Cesar Jerez Camps , Yinett Mazón Fernández , Joan Manuel Granadillo 1 4 Dpto de Telecomunicaciones ISPJAE, 2,3,4DISERTIC, ISPJAE, cacha@tesla.cujae.edu.cu RESUMEN Hoy en día las organizaciones poseen una amplia gama de procesos de negocios automatizados mediante las Tecnologías de la Información (TI).Los sistemas concebidos a partir de dichos procesos en su mayoría son completamente independientes unos de otros, complejizando significativamente la tarea de los usuarios que los consultan. Teniendo en cuenta esta situación y aprovechando los continuos avances en esta esfera, es posible construir herramientas o sistemas que permitan la integración de los distintos servicios existentes de un modo sencillo y que a su vez, a partir de la interacción entre ellos, surjan nuevas prestaciones. En este trabajo, centrándose en una definición del estado del arte de la integración de aplicaciones e información se valora la viabilidad de definir un modelo de integración basado en SID (SharedInformationData Model) para los sistemas, con determinado desarrollo informático, existentes en una organización teniendo en cuenta el grado de automatización de sus procesos . PALABRAS CLAVES: integración de información, integración de aplicaciones, modelo de datos común, SID. APPROACHES TO INFORMATION AND APPLICATIONS INTEGRATION ABSTRACT Corporate entities currently have a wide range of business processes modeled by the Computing Technology and Communications (ICT). Systems designed from these processes are mostly completely independent of each other, the task complexity it significantly users who consult. Given this situation and making continued progress in this area, it is possible to build tools and systems for integrating various existing in a simple and turn from their interaction, new features arise. The objective of this work is to do research to define the state of the art in terms of the integration of applications and information, being of crucial importance to assess the feasibility of defining an integration model based on SID for existing systems in an organization with a particular software development (taking into account the degree of automation of their constituent processes). KEY WORDS: information integration, application integration, common data model, SID. 1 Sitio web: http://revistatelematica.cujae.edu.cu/index.php/tele APROXIMACIONES A LA INTEGRACIÓN DE INFORMACIÓN Y APLICACIONES INTRODUCCIÓN Usualmente en las organizaciones se cuenta con una amplia gama de procesos de negocios automatizados, mediante las Tecnologías de la Información (TI), que dan lugar a la existencia en estas de disímiles sistemas informativos siendo difícil para los usuarios correlacionar la información que ofrecen de forma coherente. En este artículo, con vistas a resolver la problemática antes planteada, se analiza el estado del arte en la integración de información y de los conceptos relacionados lo que permite una clasificación de la metodología usada para integrar datos, aplicaciones o información y definir los enfoques principales a tener en cuenta para esta integración. Además se justifica la viabilidad de emplear modelos de datos comunes, en particular de SID (SharedInformationData Model), para la integración de información. METODOLOGÍAS PARA INTEGRACIÓN Existen diferentes metodologías para integrar aplicaciones que se concibieron de forma independiente, estas son: • Integración de datos • Integración de Aplicaciones Empresariales (EAI) • Integración de Información Empresarial (EII) Integración de datos La integración de datos es el proceso de combinar información que reside en diferentes fuentes y proveer a los usuarios de una vista unificada de ella. Un exponente de este concepto son los almacenes de datos (Data Warehouse). En ellos, datos de distintas fuentes son extraídos, transformados y cargados (ETL) dentro del almacén compartiendo el mismo esquema. Esta forma de integración se considera estrechamente acoplada debido a que los datos residen juntos en un mismo repositorio en el momento de consultarlos. Los principales problemas asociados a este tipo de arquitectura están relacionados con la actualización de la información, por ejemplo, cuando una fuente original es actualizada, el almacén de datos contiene todavía la información anterior debiendo ser ejecutado nuevamente el proceso ETL para que la actualización sea propagada. Integración de Aplicaciones Empresariales (EAI) La Integración de Aplicaciones Empresariales (EAI por sus siglas en inglés) se define como el uso de principios de la arquitectura de software y sistemas informáticos para integrar un conjunto de informaciones y procesos en una organización. Las aplicaciones de gestión de información normalmente no se pueden comunicar entre sí para compartir datos o reglas de negocio. Por esta razón, a estas aplicaciones a veces se les denomina islas de automatización o silos de información. Esta falta de comunicación conduce a la ineficiencia debido a que se duplican datos idénticos en lugares diferentes provocando, además, que sea más difícil la automatización de procesos en apariencia simples. 2 Revista Telem@tica. Vol. 11. No. 3, septiembre-diciembre, 2012. ISSN 1729-3804 Caridad Anías Calderón, Julio Cesar Jerez Camps, Yinett Mazón Fernández, Joan Manuel Granadillo Empleando EAIse logra la integración de aplicaciones en una única organización, permitiendo simplificar y automatizar los procesos de negocio evitando, al mismo tiempo, tener que realizar cambios radicales en las aplicaciones existentes y sus estructuras de datos. De esta forma, EAI representa el intercambio de datos y procesos de negocios relacionados entre cualquier aplicación u origen de datos en una organización.[1] Un gran reto para la EAI es que, los distintos sistemas que deben ser integrados entre sí, a menudo residen en diferentes sistemas operativos y utilizan diferentes soluciones de bases de datos y diferentes lenguajes. Existen múltiples contextos en los cuales EAI puede ser utilizado, algunos de ellos son: • Integración de Datos (información): Garantiza la consistencia de la información en varios sistemas. • Integración de Procesos: Vincula los procesos de negocio a través de aplicaciones. • Independencia de proveedores: Al introducir en el sistema EAI las políticas de negocio o reglas de las aplicaciones se evita que tengan que ser implementadas nuevamente cuando las aplicaciones se sustituyen por las de otro proveedor. • Interfaz común: Provee una única interfaz a un grupo de aplicaciones evitando que los usuarios interactúen con múltiples paquetes de software.[2, 3] Existen dos patrones en la aplicación de sistemas EAI: Mediación: Cuando el sistema EAI actúa como intermediario o interfaz de comunicación entre múltiples aplicaciones. En este patrón siempre que en una aplicación ocurra un evento dado, por ejemplo una nueva información generada o una nueva transacción completada, un módulo de integración en el sistema EAI es notificado, el cual, entonces, propaga los cambios a las demás aplicaciones. Federación: En este patrón, el sistema EAI actúa como interfaz externa para múltiples aplicaciones. Todos los accesos desde el 'mundo exterior' a cualquiera de las aplicaciones se gestionan por el sistema EAI. Este sistema atiende las solicitudes en nombre del solicitante y se configura para exponer sólo la información pertinente. Ambos patrones se utilizan a menudo simultáneamente. Un mismo sistema EAI puede mantener múltiples aplicaciones en sincronización (mediación), mientras que satisface las solicitudes de servicio que los usuarios externos hacen a estas aplicaciones (federación). Los sistemas EAI poseen módulos que procesan la integración de múltiples operaciones simultáneas, en que participan, en un momento determinado. Estos módulos de integración se suscriben a determinados tipos de eventos y procesos que reciben notificaciones cuando se producen dichos eventos. Estos módulos pueden ser implementados de diferentes maneras: en sistemas EAI basados en Java, estos podrían ser aplicaciones Web o JavaBeans Empresariales (EJBs) o incluso Objetos Planos Antiguos de Java (POJOs) que se ajustan a las especificaciones del sistema EAI.[2]. En sistemas basados en .Net, pudieran ser igualmente aplicaciones web o controles Web de usuarios que encapsulen subconjuntos de la lógica de negocio de un sistema EAI. 3 Revista Telem@tica. Vol. 11. No. 3, septiembre-diciembre, 2012. ISSN 1729-3804 APROXIMACIONES A LA INTEGRACIÓN DE INFORMACIÓN Y APLICACIONES Un sistema EAI podría participar en la integración de múltiples operaciones simultáneas en un momento determinado, cada tipo de integración está siendo procesado por un módulo de integración. Los módulos de integración se suscriben a determinados tipos de eventos y procesos, recibiendo notificaciones cuando se producen dichos eventos. Estos módulos pueden ser implementados de diferentes maneras: en sistemas EAI basados en Java, estos podrían ser aplicaciones Web o JavaBeans Empresariales (EJBs) o incluso Objetos Planos Antiguos de Java (POJOs) que se ajustan a las especificaciones del sistema EAI.[2]. En sistemas basados en .Net, pudieran ser igualmente aplicaciones web o controles web de usuarios que encapsulen subconjuntos de la lógica de negocio de un sistema EAI. Entre las ventajas de los EAI se encuentran: • Posibilita el intercambio de información entre los sistemas en tiempo real. • Permite encadenar los procesos de negocio y ayuda a incrementar la eficiencia organizacional. • Mantiene la integridad de la información entre varios sistemas. Como desventajas de los EAI se tienen: • Costos de desarrollo muy altos, especialmente para pequeños y medianos negocios. • Las implementaciones de EAI consumen mucho tiempo y requieren muchos recursos.*2+ Integración de Información Empresarial (EII) EII permite la integración de datos procedentes de múltiples sistemas en una representación única, coherente y orientada hacia la visualización y manipulación de los datos. Los datos son agregados, reestructurados y renombrados, si es necesario, y luego presentados al usuario. Proporcionar un enfoque unificado de los datos procedentes de sistemas disímiles conlleva un conjunto de requisitos y restricciones. En primer lugar, los datos deben ser accesibles en "tiempo real", esto significa que es necesario acceder a los sistemas directamente en lugar de acceder a datos previamente capturados que pueden no estar actualizados. En segundo lugar, la consistencia de los datos entre diferentes sistemas, por ejemplo su semántica y significado, debe resolverse pues diferentes sistemas pueden representar los mismos datos con diferentes nombres y formatos que son relevantes solo para sus respectivos usos, pero que requieren algún tipo de relación para el usuario final a fin de serles útil. EII, teniendo en cuenta los datos involucrados, elimina las duplicaciones, comprueba la validez, adapta los nombres, reformatea los valores, etc. Sin EII todo esto, por lo general, es realizado manualmente por el usuario de los sistemas [4]. Para lograr la integración real de información es necesaria la implementación de una Arquitectura Orientada a Servicios (SOA). Esto proporciona un mecanismo de acceso universal a todos los sistemas a través de servicios Web y una representación de datos universal a través de XML. Una arquitectura SOA apoya la integración y el desarrollo de la estructuración de la información, los sistemas transaccionales y los sistemas basados en contenido.[4] 4 Revista Telem@tica. Vol. 11. No. 3, septiembre-diciembre, 2012. ISSN 1729-3804 Caridad Anías Calderón, Julio Cesar Jerez Camps, Yinett Mazón Fernández, Joan Manuel Granadillo EII utiliza las consultas para recoger e integrar datos desde múltiples orígenes. Una consulta EII es una consulta federada, formulada contra una vista integrada de los orígenes de datos. Para ejecutar una consulta federada, un servidor EII encuesta los orígenes de datos y en ellos obtiene los datos relevantes, procesándolos en el contexto de la vista de aplicación. Un enfoque simplista que algunos de los primeros proveedores de EII utilizaron, era extraer los datos de todos los orígenes en un procesador de consultas y procesarlos centralmente. Para entender por qué el enfoque simplista no puede proporcionar resultados aceptables, sólo hay que considerar el ejemplo de una consulta de unión en la que se unen dos tablas muy grandes, de dos orígenes de datos diferentes. Cada tabla se convertirá a XML, aumentando su tamaño en aproximadamente tres veces, se trasladará a través de la red y luego se realizará la operación de unión. Esto provoca dos grandes problemas de rendimiento: una enorme cantidad de datos se mueve a través de la red y la operación de unión no podrá ser optimizada. Dado que las fuentes de datos a integrar se encuentran en diferentes hardwares, sistemas operativos y sistemas de bases de datos, una única consulta a un motor EII se descompone en varias consultas componentes que se distribuyen a las fuentes de datos, y los resultados de las componentes deben ser unidos en un punto de ensamblaje. El punto de ensamblaje puede ser un centro único o puede ser uno de los orígenes de datos. Esta breve descripción del procesamiento de consultas en un motor de EII indica claramente que los factores de rendimiento crítico en la EII se referirán a la arquitectura distribuida del motor de EII y su capacidad para: • Maximizar el paralelismo en el procesamiento de las consultas. • Reducir al mínimo la cantidad de datos enviados para su ensamblaje mediante la utilización de reducciones locales y la selección de los mejores puntos de ensamblaje. Estos problemas han sido tratados en profundidad por los diseñadores de servidores de bases de datos en paralelo, por lo tanto técnicas similares a estas son utilizadas por los arquitectos de EII.[4, 5] ENFOQUES DE INTEGRACIÓN En un proceso de integración es extremadamente importante tener en cuenta el enfoque a adoptar. Existen varios puntos de vista en dependencia del tipo de sistema que se construya. A continuación se exponen dos de los enfoques más utilizados, así como una comparación entre los mismos. Enfoque de integración Global As View (GAV) En el enfoque Global As View (GAV), o esquema mediado, se construye en un repositorio cuyo esquema (global) está constituido por la suma de los esquemas particulares de las fuentes de datos que participen en el sistema. En este caso resulta compleja la adición de nuevas fuentes de datos al repositorio, debido a que es necesario redefinir el esquema global. Debido a lo anterior, este enfoque es más adecuado cuando se plantea la integración en entornos donde las fuentes de información no cambian regularmente.[7] 5 Revista Telem@tica. Vol. 11. No. 3, septiembre-diciembre, 2012. ISSN 1729-3804 APROXIMACIONES A LA INTEGRACIÓN DE INFORMACIÓN Y APLICACIONES Local As View (LAV) En el enfoque Local As View (LAV), o esquemas fuentes, se define una vista para cada origen de datos participante que describe cuáles datos pueden ser encontrados. En este caso la tarea de determinar cómo se recuperará la información y qué parte de ésta se mostrará recae en el procesador de consultas (adaptador). Este enfoque es más adecuado cuando se plantea la integración en entornos donde las fuentes de información son propensas al cambio.[7] LAV vs. GAV GAV tiene como ventaja la ejecución de las consultas globales de forma eficiente, mientras que LAV permite agregar o eliminar fuentes de información de forma simple. En la tabla 1 se brinda una comparación resumida entre ambos enfoques. [7] Tabla 1: Comparación entre los enfoques LAV y GAV. MODELO DE DATOS COMÚN Un Modelo de Datos Común (MDC), también conocido como modelo de datos canónico o modelo común, es un modelo de datos independiente de las aplicaciones que describe la estructura y la semántica de los procesos de una entidad. De manera general, un modelo de datos común puede contener la descripción de toda la información relativa a una organización. Estos modelos pueden ser muy extensos por lo que en la obtención del MDC los resultados del análisis costo beneficio pudieran ser cuestionables y, por ello, a menudo solo incluyen la información que va a ser integrada por las aplicaciones. Una práctica común es usar el modelo de información de la fuente de datos dominante en la entidad, como base del modelo de datos común. Algunas organizaciones se asocian entre ellas para desarrollar un modelo de datos para la información que se maneja en su esfera, estos modelos tienen gran probabilidad de ser aceptados como estándares en la esfera en cuestión. Las organizaciones que los usan adoptan solo la parte que describe su modelo de negocio.[8, 9] Integración a partir de un modelo de datos común Al utilizar un modelo de datos común para la integración se está estableciendo una capa para el intercambio de información. Esta forma de integración tiene múltiples ventajas, entre las cuales podemos nombrar: 6 Revista Telem@tica. Vol. 11. No. 3, septiembre-diciembre, 2012. ISSN 1729-3804 Caridad Anías Calderón, Julio Cesar Jerez Camps, Yinett Mazón Fernández, Joan Manuel Granadillo • La eliminación de la llamada “Integración Espagueti” donde cada aplicación se comunica con el resto punto a punto. • Reducción del número de transformaciones requeridas para la comunicación entre las aplicaciones, solo es necesaria la transformación hacia el modelo de datos común. • Se logra llevar las fuentes de datos de la entidad a una estructura común de información. • La implementación de los cambios que puedan surgir se hace más sencilla, teniendo en cuenta que en algunos de los casos pueden ser ejecutados al nivel del modelo de datos común mediante simples transformaciones.[8] Los modelos comunes de información se traducen a un conjunto de modelos de datos. Cada modelo de datos está optimizado para una combinación específica de protocolo de acceso / repositorio, que se utiliza para manejar tipos de datos particulares. Esto es necesario porque la gestión de los datos es diversa en naturaleza, y no es posible que un protocolo de acceso / repositorio pueda manejar la gestión de todos los datos simultáneamente. Precisamente por lo anterior es necesario disponer de un único modelo común de información pues si existen varios modelos de información la consistencia de una determinada entidad no se podrá garantizar a través de diferentes aplicaciones en diferentes repositorios. Modelo de datos e información compartida (SID) El Modelo de Datos e Información Compartida (SID)[10] se emplea por el TMF (TeleManagementForum) para la gestión de las redes y servicios de telecomunicaciones y está formado por un conjunto de modelos de datos, cada uno de los cuales abarca uno o más dominios de gestión. El SID es un modelo de información [11] independiente del tipo de repositorio, protocolo de acceso a datos, software de aplicación y plataforma. Su propósito es definir una estructura común de información, características, comportamiento y relaciones entre las partes componentes de una entidad de gestión de telecomunicaciones. El SID no necesariamente tiene que ser utilizado por completo al diseñar un modelo de datos e información compartida, o sea, pueden solo tomarse del mismo los elementos que son aplicables al problema que se quiere resolver en la organización. El SID ofrece uno o más modelos de datos para usar y compartir información que cumpla con sus estándares, los cuales están presentes en los componentes NGOSS (New Generation Operation Software System) del TMF.[12] ¿Por qué se valora definir un modelo de integración basado en SID para los sistemas de gestión de información existentes en una organización? Un modelo de datos e información compartida como SID va más allá de otros enfoques más limitados pues se extiende por las aplicaciones y sus respectivos orígenes de datos. En otras palabras, con este tipo de modelos es posible definir todas las relaciones de información, datos y significados que existen dentro de la organización. Como es de esperarse, esto no es tan sencillo de implementar por lo cual los modelos compartidos no son frecuentemente utilizados. Sin embargo, su importancia es cada vez más reconocida y es el sector de las telecomunicaciones quien está liderando el camino con SID 7 Revista Telem@tica. Vol. 11. No. 3, septiembre-diciembre, 2012. ISSN 1729-3804 APROXIMACIONES A LA INTEGRACIÓN DE INFORMACIÓN Y APLICACIONES Uno de los principales objetivos de SID no es la interconexión de los sistemas, sino lograr un alto grado de compatibilidad a la hora de definir una entidad. No basta con que los datos se almacenen utilizando la misma tecnología de bases de datos, si las entidades en cada sistema están definidas de manera distinta, resulta muy difícil lograr la integración entre estos sistemas. Es aquí donde SID juega su papel al definir entidades comunes con lo cual se realiza un aporte fundamental para la estandarización de la información. El análisis realizado por los autores del estado del arte de la integración de aplicaciones e información y de SID, desde un punto de vista conceptual, los lleva a considerar que es posible asignar las definiciones de entidades existentes en los sistemas de gestión de información al modelo de datos e información común, idea en la que trabajan. 8 Revista Telem@tica. Vol. 11. No. 3, septiembre-diciembre, 2012. ISSN 1729-3804 Caridad Anías Calderón, Julio Cesar Jerez Camps, Yinett Mazón Fernández, Joan Manuel Granadillo CONCLUSIONES A partir del análisis del estado del arte de la integración de información y de los conceptos relacionados se tiene que es posible agrupar las diferentes metodologías existentes para este propósito en tres grandes grupos: “Integración de datos”, “Integración de Aplicaciones Empresariales” e “Integración de Información Empresarial”. Teniendo en cuenta que EAI tiende a centrarse en aplicaciones arbitrarias, mientras que EII se centra en los datos y en la consulta a los mismos. Al escoger cualquiera de ellas, es necesario, además, tener en cuenta la existencia de los dos enfoques principales de integración, “Local As View” y “Global As View”. Además, es posible mezclar metodologías y enfoques a la hora de abordar un proyecto de integración sin perder de vista a quién va dirigido dicho proyecto y quiénes serán sus clientes siendo necesario involucrarlos tempranamente en la concepción e implementación de la integración. El análisis realizado permitió valorar la viabilidad de definir un modelo de integración, basado en el modelo común de información SID, para los sistemas que existen en una organización que pueden tener diferentes grado de automatización, que no fueron concebidos para ser integrados y que poseen un determinado desarrollo informático. En la actualidad los autores trabajan en esta dirección. 9 Revista Telem@tica. Vol. 11. No. 3, septiembre-diciembre, 2012. ISSN 1729-3804 APROXIMACIONES A LA INTEGRACIÓN DE INFORMACIÓN Y APLICACIONES Referencias Bibliográficas 1. Gable, J., Enterprise application integration. Information Management Journal. , 2002 March/April 2009(1). 2.Enterprise application integration. [cited http://en.wikipedia.org/wiki/Enterprise_application_integration. 2009 1]; Available from: 3. Lam, W., Information Systems Integration and Enterprise Application Integration (EAI) Adoption: A Case from Financial Services. Journal of Information Systems Education, 2007. 4. Taylor, J. Enterprise Information Integration: A New Definition. 2004 [cited 2009 2]; Available from: http://www.information-management.com/news/1009669-1.html. 5. Halevy, A.Y. (2005) Enterprise information integration: successes, challenges and controversies. Volume, 6. Imhoff, C., Understanding the Three E's of Integration EAI, EII and ETL. Information Management Magazine, 2005. 7. LiXu, D.W.E. Combining the Best of Global-as-View and Local-as-View for Data Integration [cited 2009 2]; Available from: http://www.deg.byu.edu/papers/PODS.integration.pdf 8. Džmuráň, M. Introduction to Data Integration Driven by a Common Data Model. *cited 2009 23-1]; Available from: http://www.progress.com/progress_software/worldwide_sites/cz/docs/uvod_do_datove_integrace_br. pdf. 9. Linthicum, D. Build a Common Data Model. I dare you. 2009 20/2/2009 [cited; Available from: http://www.ebizq.net/blogs/linthicum/2009/02/build_a_common_data_model_i_da.php. 10. Hartley, C., SID GB922. Addendum 0: SID Primer, H. Hepburn, Editor. 2004, TeleManagement Forum. 11. Lee, Y.T., Information modelling from design to implementation in National Institute of Standards and Technology. 1999. 12. Faurer, C.C., TMF 053. The NGOSS Technology Neutral Architecture, in T. Richardson, Editor. 2005, TeleManagement Forum. 10 Revista Telem@tica. Vol. 11. No. 3, septiembre-diciembre, 2012. ISSN 1729-3804