2. APROXIMACIÓN A SOA: EL ESB

Documentos relacionados
Patrones de Integración

Acoplamiento e interoperabilidad

TEMA 5. Otras arquitecturas distribuidas III. Otros entornos de objetos distribuidos

Configuraciones de PBX analógicas y digitales

IMPLEMENTACIÓN DE INTEGRACIÓN DE SISTEMAS HEREDADOS UTILIZANDO WEB SERVICES

CEDEHP Profesor: Agustín Solís M. Instalación, Operación y programación de equipos y sistemas telefónicos

MARCANDO LA DIFERENCIA

El Modelo de Integración basado en Servicios

Introducción al ESB. Definición e historia

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

Facultad de Ingeniería Industrial y de Sistemas v1.0 MA781U PROCESOS DISTRIBUIDOS

Solución a los problemas de integración

Introducción a GAM. Ahora queremos agregarle Seguridad a la aplicación, tanto a la parte web como a la de Smart Devices. Page1

Tema 3. Protocolos de enrutamiento

Especificaciones técnicas y funcionales para la integración con la. Bolsa de Valores de Colombia. BUS de Integración BVC Mejoras notificación SAE

Tutorial de C# Delegados y Eventos. Por: Óscar López, M.Sc.

Mª Luisa Gutiérrez Acebrón División de Informática y Tecnologías de la Información Ministerio de Justicia

Establecimiento de la reserva de recursos

Sistemas Legados WEB-SERVICES

TECNOLOGÍA DE REDES. Temario 21/03/2008. Unidad 2. LAS WAN Y LOS ROUTERS (Primera Parte)

ARQUITECTURA ORIENTADA A SERVICIOS (SOA) EN LA JUNTA DE ANDALUCÍA

Introducción a las redes informáticas

Plataforma ESB Adaptativa para Sistemas Basados en Servicios

Principios de la infraestructura centrada en aplicaciones

Software para supervisión y control de operaciones

Unidad 2 La red informática

SERVICIOS WEB DE MODIFICACIÓN DE LA D.G. DEL CATASTRO Introducción general

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com

Itinerario SOA. Características SOA y Computación Orientada a Servicios

Jornadas de Informática

Propuesta de Políticas de Gobernabilidad SOA

NÚMERO DE HORAS: 160H PROGRAMACIÓN WEB EN EL ENTORNO CLIENTE OBJETIVO

ESB. Norberto Fernández Departamento de Ingeniería Telemática Tecnologías de Distribución de Contenidos - UC3M 1

Guía del Curso Analista Programador Java: Business Apps Expert

Tema 3.1: Introducción a Servicios Web

Oportunidad para CIOs en Retail: Mayor flexibilidad en la nube con Openbravo Openbravo Inc. Todos los derechos reservados.

5.3.3 FICHA DE LA MATERIA SISTEMAS OPERATIVOS, SISTEMAS DISTRIBUIDOS Y REDES

ARQUITECTURAS DE SOFTWARE ORIENTADAS A SERVICIOS

Procesos del software

Una Introducción al Enterprise Service Bus

& '( ) ( (( * (+,-.!(/0"" ) 8-*9:!#;9"<!""#

Glosario Plataforma de Interoperabilidad Libre Orientada a Servicios para el Estado Venezolano

Planteemos la siguiente hipótesis: Se trata de implementar cuatro subredes correspondientes a los siguientes conceptos:

Valerus Guía de Acceso a Internet

Introducción a las redes informáticas

WebSphere Message Broker como Entreprise Service Bus

Entrenamiento Comercial


1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

PROYECTOS DE WEBSERVICE PARA DESARROLLADORES. 12 Agosto 2016

WebSphere es una familia de productos de software propietario de IBM

Características de las aplicaciones móviles

Guía rápida OpenScape Business

SERVICE ORCHESTRATION ENGINE WHITEPAPER

Servicios SFTP/SCP. Tema 5 SRI. Vicente Sánchez Patón. I.E.S Gregorio Prieto

REDES DE DATOS CAPITULO II

DIPLOMADO EN TELEFONÍA IP

3 Interfaz PC DSP. 3.1 Introducción a las comunicaciones serie. 3 Interfaz PC DSP

Caso de Éxito. Caso de Éxito

IMPLEMENTACIÓN E INTEGRACIÓN DE ELEMENTOS SOFTWARE CON TECNOLOGÍAS BASADAS EN COMPONENTES

Qué es el RIP versión 1?

La función fiscal del futuro, descubre el poder de los datos

PROCEDIMIENTOS ALMACENADOS

Planeador de Torneos y Competencias: PLATYCO. Documentación de la Arquitectura de Software

Arquitecturas cliente/servidor

1. ARQUITECTURA SOA 1.1. FUNDAMENTOS DE SOA. Encapsulación de la lógica en servicios. Relación entre servicios ARQUITECTURA SOA

Implementación de una infraestructura de administración de números portados común a los países de la Región Centroamericana

Redes de Computadores Nivel de Enlace: Redes de área local Ethernet

Tema 3. Paso de mensajes. mensajes. Bibliografía. Sistemas de paso de mensajes (2) Sistemas de paso de mensajes. Ventajas del paso de.

Fábricas de Software y Líneas de Producto: del Estado de la Práctica al Estado del Arte. Jorge A. Villalobos.

Interacción Persona - Ordenador

PEMAT PETICIONES DE MATERIAL. Manual Usuario Versión 1.0 Fecha de revisión 02/24/2012 Realizado por Equipo de Desarrollo PHP. PEMAT v1.

Desarrollo de Componentes de Negocio con Tecnología

Premisas del producto

Introducción a SOA (II) Huibert Aalbers Senior Certified Software IT Architect

DISEÑO E IMPLEMENTACIÓN DE APLICACIONES EMPRESARIALES CON MOVILIDAD.

Este capitulo contiene una análisis de los posibles soluciones que se pueden presentar en el momento de desarrollar aplicaciones con J2EE

FUNCIONES JAVASCRIPT. CONCEPTO. PARÁMETROS O ARGUMENTOS Y TIPOS. PASO POR VALOR. RETURN. EJEMPLOS. (CU01122E)

DESARROLLADORES INTERNET:

Cambiar el nombre de IBM DB2 Warehouse y análisis de almacenamiento ampliado con IBM InfoSphere Warehouse V9.5.1

SMTP. (Simple Mail Transfer Protocol).

Necesidad de Protección

Qué ofrece Autentia Real Business Solutions S.L?

Vicerrectoría Académica Dirección de Formación General Programa de Emprendimiento PROTOTIPOS

Nombre de la asignatura: Interconectividad de Redes. Créditos: Aportación al perfil

Tipos de Diseño. Ing. Elizabeth Guerrero V.

6.1 Base De Datos Centralizada

Ponga su ciudad a prueba del futuro. con alumbrado conectado. CityTouch conecta el alumbrado de su ciudad, de manera simple y fácil

Integración de Aplicaciones *

Ingeniería en Automática Industrial Software para Aplicaciones Industriales I

Capítulo 5: Enrutamiento entre VLAN

Aplica para todas las sedes de la Universidad de Santander.

Guía de Moodle Mundusfor para administradores

E-BOOK Cómo un software ERP puede simplificar la gestión empresarial

TRES RUTAS A LA NUBE ELECCIÓN SIN COMPLEJIDAD. Copyright 2013 EMC Corporation. Todos los derechos reservados.

COMUNICACIONES TECNIMAP 2007 PROYECTO DE INFORMATIZACIÓN DE LOS NUEVOS HOSPITALES DE LA COMUNIDAD DE MADRID - HISTORIA CLÍNICA UNIFICADA -

Behavior: Caching. Video filmado con GeneXus X Evolution 3

Protocolos de Enrutamiento

Service Oriented Architecture: Con Biztalk?

RIP versión 1. Jean Polo Cequeda Olago. Conceptos y protocolos de enrutamiento. Capítulo 5

Transcripción:

17 2. APROXIMACIÓN A SOA: EL ESB Uno de los desafíos que uno puede encontrarse a la hora de considerar la integración entre servicios es la administración de todas las conexiones. Si se tienen interfaces punto a punto y algo cambia en un servicio, todos los servicios consumidores necesitan ser modificados. El servicio consumidor debe ser consciente del protocolo que usa el servicio invocado, además del formato del mensaje y la localización del servicio. Esto hace que haya una fuerte asociación entre servicios consumidores y proveedores. Esto es lo que se conoce como el problema de conexión MxN. El número de conexiones crece exponencialmente por cada aplicación que se añade, a medida que cada aplicación se conecta a una nueva aplicación. El concepto del ESB ha sido introducido para lidiar con estos problemas [2]. El ESB se coloca entre los servicios consumidores y los servicios que invocan. Usando este modelo, cada aplicación se conecta solo una vez a una infraestructura troncal común: el bus. Esto reduce al mínimo las conexiones y proporciona una ubicación centralizada para su administración y para la gestión de sistemas integrados y arquitecturas. Para gestionar la complejidad de cómo un servicio cliente se conecta y se comunica con el proveedor del servicio, la SOA precisa de una infraestructura troncal capaz de ir más allá de la mensajería distribuida tradicional para proveer transformación compleja, enrutamiento y conectividad acoplada libremente en un entorno TI heterogéneo, independientemente de las plataformas usadas. Esta infraestructura troncal fiable proporciona un bus de servicios a escala empresarial, el ESB. Hay que destacar que implementar un ESB no significa implementar SOA, pues ESB se centra en la integración de sistemas y SOA trata de contratos y reutilización de sistemas. La integración de sistemas es una parte importante, pero SOA va más allá como ya se ha visto. El uso de un ESB no quiere decir que se tenga SOA. Lograr SOA dependerá de la forma en que se modele y conciba a nuestros sistemas. Pero el ESB será un componente importante en la solución SOA, porque toda integración de sistemas pasará a través de él. 2.1. CAPACIDADES DE UN ESB Cada una de las siguientes características es un elemento esencial para la integración de una SOA. Juntos, estos elementos resuelven los problemas a los que se enfrentan los clientes y los proveedores de servicios en un entorno SOA.

18 Endpoint Los servicios consumidores hacen llamadas a un servicio a través del ESB en lugar de llamar al servicio proveedor directamente. De esta manera un servicio proveedor puede ser remplazado por otro sin la necesidad de cambiar cada servicio consumidor para reflejar la nueva dirección. Sólo el ESB sabe exactamente qué servicio proveedor es invocado, mientras los consumidores se limitan a dejar la invocación al ESB. A esto se le llama virtualización de servicios. Enrutado de servicios A veces el enrutado es más específico: el servicio al que irá destinado la petición es elegido según el contenido del mensaje de petición del consumidor. Esto es lo que se denomina enrutado basado en contenido. Transformación Los proveedores y los consumidores no siempre hablan el mismo lenguaje. Normalmente no usan los mismos protocolos ni los mismos formatos de mensaje. El ESB puede transformar una petición al formato y/o protocolo soportado por el servicio y hacer la operación inversa antes de mandar la respuesta de vuelta al consumidor. Los mensajes dentro del ESB están basados en el CDM (Canonical Data Model); los mensajes son transformados al CDM al entrar al ESB y pueden necesitar ser transformados a otros formatos cuando viajan fuera del ESB. Un elemento interesante en la transformación es el enriquecimiento de los mensajes. El resultado de esta transformación no es únicamente la misma información en una estructura diferente de mensaje, sino que puede añadirse información adicional a esos mensajes. Validación El ESB puede validar peticiones antes de que sean mandadas al servicio proveedor así como las respuestas dadas por los proveedores. Auditoría El ESB puede logear peticiones y respuestas con propósitos de auditoría y mandar alertas cuando se produzcan unas determinadas condiciones. Paso de mensajes En lugar de llamar a un servicio, una aplicación puede mandar mensajes y comunicarse asíncronamente con otras aplicaciones. El ESB puede dar garantía del envío y persistencia de los mensajes.

19 Adaptación síncrona/asíncrona Un ESB puede exponer servicios con una interfaz tanto asíncrona como síncrona. Sin tener en cuenta la naturaleza del servicio proveedor que necesita ser invocado, el ESB puede adaptarlos de síncrono a asíncrono y viceversa. Esto permite otro importante tipo de desacoplo: el proveedor no necesita estar disponible al mismo tiempo que el consumidor, y el consumidor no necesita esperar a la respuesta del servicio que invoca. Composición Un ESB puede ser usado para agregar el resultado de varios servicios en una única respuesta al servicio que las invocó, consiguiendo así la publicación de un nuevo servicio compuesto. El anteriormente comentado enriquecimiento puede verse como un caso especial de composición. Un ESB también tiene la capacidad de mediar entre diferentes protocolos de seguridad. Ahora bien, para resolver todos estos problemas de integración se definieron los llamados Enterprise Integration Patterns (EIP). Estos patrones identifican estos problemas de integración presentando una manera unificada de resolverlos sin entrar en el detalle de su implementación. En la siguiente sección veremos algunos de los patrones de mayor interés. 2.2. ENTERPRISE INTEGRATION PATTERNS Según el artículo de Gregor Hohpe Enterprise Integration Patterns [3], se pueden agrupar los EIP en varias categorías, las cuales se verán a continuación. Patrones de enrutado de mensajes Estos patrones versan sobre mecanismos para dirigir mensajes desde un transmisor hasta el receptor correcto. A continuación veremos algunos de ellos. Content-Based Router Este patrón permite enrutar mensajes a determinados destinos en función del contenido de los mensajes.

20 Figura A.2.1 - Content-Based Router Recipient List Este es un patrón que permite enrutar mensajes a un número de receptores especificados de forma dinámica. Message Filter Figura A.2.2 - Recipient List Como su nombre indica este patrón sirve para hacer un filtrado de los mensajes. Figura A.2.3 - Message Filter Patrones de transformación de mensajes Estos patrones cambian el contenido de información de un mensaje. En muchos casos, se necesita modificar el formato de un mensaje debido a las diferentes necesidades del sistema del transmisor y del receptor. La información puede ser añadida, extraída o simplemente reorganizada. Estas tareas son ejecutadas por los transformadores de mensajes. Veamos algunos de ellos. Data Enricher Este es el patrón empleado cuando queremos añadir información adicional a los mensajes.

21 Content Filter Figura A.2.4 - Data Enricher Usamos este patrón cuando sólo nos interesa parte de la información contenida en un mensaje. Otros patrones Figura A.2.5 - Content Filter Hay patrones que no pueden identificarse en ninguno de los anteriores dos grupos. Son sobre todo patrones dedicados al mantenimiento del sistema de mensajes. Wire Tap Permite obtener una copia del mensaje y enrutarlo a otra localización mientras que el mensaje original continúa en su ruta. Figura A.2.6 - Wire Tap Hasta ahora se está hablando de temas puramente teóricos. Pero todo esto hay que acabar implementándolo. Y, cómo llevar a cabo la implementación de SOA, el ESB y los EIP? En el siguiente capítulo se verán las tecnologías y especificaciones usadas para tal fin, así como otras tecnologías que aunque no relacionadas directamente con SOA han sido necesarias para la elaboración del proyecto.