Integración de aplicaciones con SOA...Integración © 2006-2007 Depto. Ciencia de la Computación e...

35
Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA Especialista Universitario Java Enterprise Integración de aplicaciones con SOA Sesión 2: Arquitecturas orientadas a servicios

Transcript of Integración de aplicaciones con SOA...Integración © 2006-2007 Depto. Ciencia de la Computación e...

  • Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA

    Especialista Universitario Java Enterprise

    Integración de aplicaciones con SOA

    Sesión 2: Arquitecturas orientadas a servicios

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -2

    Puntos a tratar• Razones para introducir SOA• El concepto de servicio• Definición de SOA• Capas en aplicaciones orientadas a servicios• El gobierno SOA• SOA y JBI• SOA y Servicios Web• SOA y BPM

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -3

    Razones para introducir SOA• El software de empresa está condicionado por

    requerimientos cambiantes que pueden entrar en conflicto

    SOFTWARE DE EMPRESA

    Organización interna

    Procesos de la empresa Negocios

    externos

    Dependencias entre

    departamentos

    "El software de empresa es un animal diferente" (Dirk Krafzig)

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -4

    Arquitectura del Software de empresaLos arquitectos software utilizan la refactorización para luchar con el aumento continuo de la complejidad del sistema

    SITUACIÓN DE LAS

    APLICACIONES DE EMPRESA

    ORDEN

    −Mayor agilidad−Mayor eficiencia

    DESORDEN

    −Agilidad reducida−Eficiencia reducida

    Cambios y nuevas fucionalidades

    Refactorización

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -5

    Carácterísticas deseables del sw de empresa• Simplicidad

    • Flexibilidad y mantenibilidad

    • Reusabilidad

    • Desacoplamiento entre funcionalidad y tecnología

    • Objetivo: conseguir una empresa ÁGIL

    SOA posee estas características

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -6

    SOA y sus beneficios• Los procesos y servicios pueden ser rápidamente

    creados, configurados y reorganizados sin necesidad de personal técnico

    SOA Agilidad

    Reutilización

    Proceso de desarrollo

    más eficiente Ahorro de costes

    Aproximación evolutiva

    Mitigación de riesgos

    Independencia de la tecnología

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -7

    El concepto de "servicio"• Módulo de aplicación autocontenido que es

    remotamente accesible

    Solicita un trabajo

    Entrega el resultado

    Realiza el trabajo

    Consumidor del servicio

    Proveedor del servicio

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -8

    Características de un servicio• Oculta detalles técnicos como la búsqueda y

    localización del servicio• Proporcionan funcionalidad de negocio• No se diseñan para un cliente específico• Una SOA proporciona acceso "uniforme" a

    todos los servicios• Diferencias significativas con objetos:

    • Interfaz orientada a datos (en vez de a comportamiento)

    • Desacoplamiento de datos y comportamiento• Un servicio provoca un cambio de estado

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -9

    SOA: Definición• Una arquitectura orientada a servicios (SOA)

    es una arquitectura software basada en los conceptos clave de frontend de aplicaciones, servicio, repositorio de servicios, y bus de servicios

    • El concepto de una SOA se centra en la definición de una infraestructura de negocio

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -10

    SOA: elementos que la componen

    SOA

    Application frontend Servicio

    Repositorio de servicios

    Bus de servicios

    Contrato Implementación Interfaz

    Lógica del negocio

    Datos

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -11

    Frontend

    • Inician y controlan todas las actividades de los sistemas corporativos

    • Los frontends de aplicaciones son similares a las capas de nivel más alto en las arquitecturas multi-capa tradicionales

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -12

    Servicios

    Servicio

    Interfaz A- Operación 1- Operación 2- Operación 3- ...

    Interfaz B- Operación 1- Operación 2- ...

    Contrato del servicio

    Implementación

    Lógica del negocio

    Datos

    Los servicios son el "CORAZÓN" de una arquitectura SOA

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -13

    Los servicios deben ser...• Débilmente acoplados• De grano grueso (coarse-grained)• Centrados en el negocio• Reutilizables

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -14

    Repositorio de servicios• Proporciona facilidades para encontrar

    servicios y adquirir toda la información para utilizar dichos servicios.

    • Búsqueda y enlazado (binding) de servicios:• En tiempo de desarrollo• En tiempo de ejecución

    • Niveles de búsqueda y enlazado dinámico:• Por nombre• Por propiedades• Basada en reflection

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -15

    Búsqueda y binding de servicios en tiempo de desarrollo

    Repositorio de servicios

    Contrato de de servicio Servicio

    Cliente (frontend de aplicación o

    servicio

    Stub del servicio

    Busca en Crea

    Desarrollador

    Invoca

    Enlazado con

    UsaBasado en

    Describe

    Satisface

    Contiene

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -16

    Bus de servicios

    • Proporciona un entorno de ejecución para desplegar los servicios y permitir que se pueda definir la interacción entre dichos servicios (p.ej. orquestación)

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -17

    Características de un bus de servicios• Conectividad• Heterogeneidad de tecnología• Heterogeneidad de conceptos de comunicación• Servicios técnicos

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -18

    Capas en aplicaciones orientadas a servicios

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -19

    Capa de servicios• El mayor reto cuando construimos una

    aplicación orientada a servicios es crear una interfaz con el nivel adecuado de abstracción

    • Tenemos dos posibilidades a la hora de construir un servicio: • aproximación top-down• aproximación bottom-up.

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -20

    Capa de lógica de negocio• El principal beneficio que proporciona SOA es

    la estandarización del modelado de procesos de negocio (orquestación de servicios)• BPEL: Estándar de OASIS• BPEL es un lenguaje de programación, pero su

    representación es XML

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -21

    El gobierno SOA (SOA governance)• Governance: acción o forma de gobernar • Marco de toma de decisiones y responsabilidades

    que fomenta un comportamiento deseable en las IT

    • Un equipo de gobierno de IT debe tratar tres cuestiones: • ¿Qué decisiones debemos tomar para asegurar una

    gestión y uso efectivos de la IT? • ¿Quién debe tomar dichas decisiones? • ¿Cómo se van a tomar dichas decisiones y cómo

    pueden monitorizarse?

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -22

    Responsabilidades de gobierno

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -23

    Implementación del gobierno

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -24

    JBI• JBI (Java Business Integration) es un estándar

    basado en Java que aborda las cuestiones principales sobre EAI y B2B, y que está basado en los paradigmas y principios que defiende SOA.

    • Actualmente JSR 208 (JSR: Java Specification Request)

    • JBI define una arquitectura basada en plug-insen la que los servicios pueden ser plugged en el entorno de ejecución de JBI.

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -25

    JSR 208: Ventajas• Es en sí misma una arquitectura orientada a

    servicios• Las máquinas de servicios podrían

    implementarse en cualquier lenguaje siempre y cuando soporten la definición SPI

    • Pueden añadirse nuevas máquinas en el contenedor definiendo los mensajes que utilizarán para interactuar con el resto del sistema.

    • Interfaces abiertas

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -26

    Elementos clave de un entorno JBI

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -27

    Modelo de componentes JBI• Componentes de la máquina de servicios (SE:

    Service Engine)• responsables de la implementación de la lógica del

    negocio y otros servicios

    • Componentes de enlazado (BC: Binding components)• se utilizan principalmente para proporcionar enlaces

    a nivel de transporte para los servicios desplegados

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -28

    Modelo de mensajes JBI• JBI utiliza un modelo de mensajes que

    desacopla los consumidores de servicios de los proveedores de servicios.

    • El modelo de mensajes se define utilizando WSDL

    • Se requiere que los servicios tengan interfaces, formadas por un conjunto de operaciones. Cada operación está formada por uno o más mensajes. Un interfaz puede tener uno o más bindings a nivel de transporte.

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -29

    Elementos clave JBI• Una forma flexible y abierta de ensamblar las

    máquinas de ejecución y las comunicaciones que consiguen una solución de integración SOA

    • “Service Assembly” - Permite definir en un único documento todos los artefactos y servicios que forman una aplicación SOA

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -30

    SOA y JBI• SOA

    • Aproximación por capas• Elementos integrados y Compartidos: Servicios,

    Procesos,...• Basado en estándares: BPEL, JBI, WSDL,...

    • JBI (and JBI-based ESB)• Estandariza los componentes de integración

    "pluggables"• Estandariza a administración de los servicios

    compuestos• Estandariza el intercambio de mensajes• Proporciona un meta-contenedor SOA con bajo

    acoplamiento

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -31

    SOA y Servicios Web (I)• SOA y Servicios Web NO son sinónimos• SOA es un principio de diseño, mientras que

    los servicios Web son una tecnología de implementación

    • Una de las principales ventajas de implementar una SOA con servicios Web es que los servicios Web están muy extendidos y constituyen una plataforma sencilla y sobre todo neutral

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -32

    SOA y Servicios Web (II)• La combinación de servicios Web y SOA

    proporciona una integración rápida• Las aplicaciones pueden intercambiar datos

    más fácilmente utilizando un servicio Web definido en la capa de lógica de negocio

    • El desarrollo de puntos de entrada orientados a servicios en la capa de lógica de negocio permiten a una máquina de gestión de procesos de negocio llevar a cabo un flujo automático de ejecución a través de los múltiples servicios

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -33

    BPM• BMP: Business Process Management• La BMP se encarga de identificar, modelar,

    desarrollar, desplegar y gestionar sus procesos de negocio

    • Ventajas de las BMP:• Reducen diferencias entre requerimientos del

    negocio y de las IT• Incrementan la productividad de los empleados• Incrementan la flexibilidad y agilidad de la empresa• Reduce los costes de desarrollo

  • Especialista Universitario Java Enterprise

    Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA -34

    Relación entre BMP y SOA

  • Integración © 2006-2007 Depto. Ciencia de la Computación e IA SOA

    Especialista Universitario Java Enterprise

    ¿Preguntas...?