View
593
Download
1
Embed Size (px)
DESCRIPTION
Hoy en día SOA está cada vez más presente en las organizaciones. ¿Qué aporta? ¿Por qué se está imponiendo? ¿Me conviene como organización? ¿Cuál es el camino para implantar SOA con éxito? El pasado 5 de marzo organizamos una sesión para intentar dar respuestas a estas preguntas, y para, de la mano de expertos, saber cómo se desarrollan los proyectos de integración, qué oportunidades y que riesgos conllevan. La sesión fue conducida por Carles Biosca, consultor de Avanttic (http://www.avanttic.com/), quién nos ayudó a encontrar las respuestas, y relacionándolo con casos reales, nos dio una visión lo más amplia posible sobre este modelo arquitectónico.
Citation preview
Escola Universitària d’Informàtica Tomàs Cerdà Escola Universitària d’Informàtica Tomàs Cerdà Escola Universitària d’Informàtica Tomàs Cerdà
www.eug.es
El camino para implantar SOA con éxito
Carles Biosca Arquitecto Middleware
Escola Universitària d’Informàtica Tomàs Cerdà Escola Universitària d’Informàtica Tomàs Cerdà Escola Universitària d’Informàtica Tomàs Cerdà
AGENDA
¿Cuál es la necesidad de SOA? Niveles de adopción SOA
Oportunista Sistemático Empresarial Medible Industrializado
Gobierno SOA De SOA hacia...
Escola Universitària d’Informàtica Tomàs Cerdà Escola Universitària d’Informàtica Tomàs Cerdà Escola Universitària d’Informàtica Tomàs Cerdà
www.eug.es
¿Cuál es la necesidad de SOA?
Escola Universitària d’Informàtica Tomàs Cerdà
Sistemas Monolíticos vs. Heterogéneos
Escola Universitària d’Informàtica Tomàs Cerdà
Sistemes heterogéneos: Entropía
Las comunicaciones entre sistemas heterogéneos se construyen bajo demanda y se acaba disponiendo de un elevado número de conexiones punto a punto difícilmente mantenibles
Aplicació B
Aplicació C
Aplicació A
Aplicació E
Aplicació D
Aplicació P
Aplicació H
Aplicació F
Escola Universitària d’Informàtica Tomàs Cerdà
Necesidades empresariales
• Productividad: • Reducir tiempos
• Efectividad mayor
• Competitividad: • Reducir costes
• Visualizar información precisa y coherente del estado del negocio
• Mejorar el servicio a los clientes
Desde el punto de vista de TI, eso implica mejorar la integración entre nuestros sistemas heterogéneos y con sistemas externos: clientes, proveedores, administraciones.
Escola Universitària d’Informàtica Tomàs Cerdà
¿Qué es la arquitectura SOA?
• La arquitectura orientada a servicios (SOA) es un concepto de arquitectura de software que define la utilización de servicios de negocio para integrar los diferentes sistemas de la organización y dar soporte a las necesidades empresariales
• Focaliza sus esfuerzos en
• Estandarizar los mecanismos de integración
• Reutilizar funcionalidades
• Mantener la coherencia de la información
• Facilitar el mantenimiento
Escola Universitària d’Informàtica Tomàs Cerdà
Servicio de negocio
• Un servicio de negocio es una funcionalidad de negocio disponible en nuestros sistemas y que se caracteriza por disponer de un conjunto de operaciones definidas
• Para garantizar la interoperabilidad y facilitar el desarrollo de servicios, debe establecerse un contrato del servicio.
• El contrato del servicio establece sus características:
• Operaciones
• Parámetros de entrada
• Parámetros de salida
• Formato de los mensajes
• Este contrato es independiente de la tecnología de implementación
Escola Universitària d’Informàtica Tomàs Cerdà
Proveedores y Consumidores
• Un proveedor será aquella aplicación o sistema que publica un conjunto de sus funcionalidades como servicio, poniéndolas a disposición de otros sistemas
• El proveedor de un servicio debería ser el sistema propietario de los datos que manipula/provee
• Un consumidor será aquella aplicación o sistema que utiliza un servicio de negocio
• Un sistema puede ser a la vez consumidor y proveedor
Consumidor Productor Servei
Escola Universitària d’Informàtica Tomàs Cerdà
Integración mediante servicios de negocio
Aplicació B
Aplicació C
Aplicació A
Aplicació E
Aplicació D
Aplicació P
Aplicació H
Aplicació F
Aplicació B
Aplicació C
Aplicació A
Aplicació E
Aplicació D
Aplicació P
Aplicació H
Aplicació F
Servei H
Servei E
Servei D
Servei F
Servei P
Servei A
Servei B
Servei C
Escola Universitària d’Informàtica Tomàs Cerdà
Estandarización de las integraciones
• La integración entre sistemas se realiza mediante servicios de negocio
• Estos servicios de negocio se publican de forma estándar: servicios web
• Los servicios web usan tecnologías de base al alcance de la mayoría de tecnologías:
• Protocol de comunicación HTTP
• Mensajería XML (texto)
• Formatos de mensajería:
• SOAP
• REST
• JSon
• Integraciones con ficheros en sistemas más antiguos
Escola Universitària d’Informàtica Tomàs Cerdà
Reutilización de funcionalidades
• Develope once, use everywhere
• Estamos acostumbrados a la reutilización de código dentro de una aplicación
• Se puede ampliar la reutilización entre aplicaciones:
• Dejar al especialista hacer su trabajo
• Definir servicios de uso general
• Definir un catálogo de servicios de la organización
Escola Universitària d’Informàtica Tomàs Cerdà
Coherencia en la información
• Se pueden establecer propietarios de los datos y que el resto de sistemas accedan a ellos mediante servicios (MDM)
• Evitar duplicidades innecesarias de información
• El intercambio de información necesaria entre sistemas se puede sistematizar.
Escola Universitària d’Informàtica Tomàs Cerdà
Mejora del mantenimiento
• Se simplifica la entropía general de nuestros sistemas (relación entre aplicaciones)
• Se eliminan duplicidades de código y datos
• Puedo construir nuevos servicios combinando los servicios ya existentes
• Estandarización de las integración. Facilita saber qué pasa donde
Escola Universitària d’Informàtica Tomàs Cerdà Escola Universitària d’Informàtica Tomàs Cerdà Escola Universitària d’Informàtica Tomàs Cerdà
www.eug.es
Niveles de adopción SOA
Escola Universitària d’Informàtica Tomàs Cerdà
Los 5 niveles de adopción SOA
5.
Industrializado
4. Medible
3. Empresarial
2. Sistemático
1. Oportunista
Escola Universitària d’Informàtica Tomàs Cerdà
Nivel 1: Oportunista
• El nivel más básico de adopción SOA
• Integración punto a punto entre aplicaciones
• Enfoque a corto plazo
• Solución para el caso actual
• Dependiente de la plataforma
• Alto acoplamiento
Escola Universitària d’Informàtica Tomàs Cerdà
Nivel 2: Sistemático
• Diseño más cuidadoso de los servicios
• Flexibles
• Desacoplados
• Reutilizables
• Uso de estándares
• Aparece la necesidad de Gobierno SOA
• Uniformización
• Definición de procesos de actuación
• Buenas prácticas
Escola Universitària d’Informàtica Tomàs Cerdà
Nivel 3: Empresarial
• Se introduce el enfoque top-down de definición de servicios: partimos de las necesidades del negocio
• Mejora la alineación con el negocio
• Procesos de negocio: Orquestación de servicios para construir integraciones complejas
• Expandimos el ámbito de los servicios: de departamental a global
Escola Universitària d’Informàtica Tomàs Cerdà
Nivel 4: Medible
• Se introduce la medida de indicadores
• De calidad de servicio (SLA)
• De negocio (KPI)
• Se construyen cuadros de mando para los indicadores de negocio
• Se reacciona a las medidas realizadas para mejora tanto la calidad del servicio (productividad) como el proceso de negocio (competitividad)
Escola Universitària d’Informàtica Tomàs Cerdà
Nivel 5: Industrializado
• La arquitectura SOA está completamente alineada con el negocio
• Los procesos son refinados de forma continuada, para adaptarlos a las necesidades cambiantes del negocio
• Se introducen cambios dinámicos en los procesos
• Se introduce la orientación a eventos (EDA)
Escola Universitària d’Informàtica Tomàs Cerdà Escola Universitària d’Informàtica Tomàs Cerdà Escola Universitària d’Informàtica Tomàs Cerdà
www.eug.es
Niveles de adopción SOA: Oportunista
Escola Universitària d’Informàtica Tomàs Cerdà
Tecnologías de Servicios
• SOAP (Simple Object Access Protocol)
• Promovido/sostenido por el consorcio W3C
• Definición estandarizada de la mensajería
• Más complejo/pesado que los otros
• REST (REpresentational State Transfer)
• Promovido/sostenido por el consorcio W3C
• Conjunto más heterogéneo de opciones de implementación
• Menores restricciones Mayor cuidado en el desarrollo
• JSon (JavaScript Object Notation)
• Formato de intercambio de datos cliente/servidor sin XML
• Popular en las webs AJAX/Dispositivos móbiles
• Menor grado de formalidad
Escola Universitària d’Informàtica Tomàs Cerdà
Tipología de comunicación
• Síncrono
• Asíncrono
• Fire & Forget o One-way
• Con comunicación bidireccional (correlación)
• Con solicitud de respuesta (bidireccional fictícia)
• Con respuesta (bidireccional pura)
Escola Universitària d’Informàtica Tomàs Cerdà
Seguridad
• Autenticación/Autorización
• A nivel de red
• A nivel de transporte
• A nivel de mensaje
• Encriptación
• Canal seguro (SSL)
• A nivel de mensaje (datos concretos)
• Integridad
• Digest del mensaje: SHA-1, MD5
• Certifica
• Firma con certificado
Escola Universitària d’Informàtica Tomàs Cerdà
Enfoques de desarrollo
• Bottom-up
• Convertir funcionalidad existente a servicio
• Utilización de APIs para generar servicios a partir de código
• Desarrollo rápido de servicios
• Top-down
• Definir el contrato del servicio necesario
• Generar código a partir del contrato y ligarlo con la implementación
• Más robusto a los cambios tecnológicos
Escola Universitària d’Informàtica Tomàs Cerdà Escola Universitària d’Informàtica Tomàs Cerdà Escola Universitària d’Informàtica Tomàs Cerdà
www.eug.es
Niveles de adopción SOA: Sistemático
Escola Universitària d’Informàtica Tomàs Cerdà
Bus de Servicios de Negocio (ESB)
• Un bus de servicios es un producto de software básico en una arquitectura SOA
• Todos los servicios disponibles en nuestras infraestructuras son accedidos a través del Bus
• Soporta el intercambio de mensajes basados en estándares
• Se trata de un sistema escalable y distribuido (trabaja de forma colaborativa: HA, jerarquización, especialización…)
• Organiza de forma más racional las comunicaciones entre aplicaciones
Escola Universitària d’Informàtica Tomàs Cerdà
Integraciones sin Bus de Servicios
Todos los consumidores deben conocer la ubicación del servicio a consumir
Aplicació B
Aplicació C
Aplicació A
Aplicació E
Aplicació D
Aplicació P
Aplicació H
Aplicació F
Servei H
Servei E
Servei D
Servei F
Servei P
Servei A
Servei B
Servei C
Escola Universitària d’Informàtica Tomàs Cerdà
Integraciones con Bus de Servicios
• Los proveedores de servicios son consumidos SÓLO por el Bus
• Los consumidores SÓLO consumen servicios del Bus
BAPIs
Aplicació A
Aplicació B
Aplicació D
Bus de
servicios
Servei D
Servei P
Servei F
Servei D’
Servei P’
Servei F’
Escola Universitària d’Informàtica Tomàs Cerdà
¿ESB: Qué proporciona?
• Virtualización de servicios
• Transformación de mensajería
• Monitorización
• Gestión de seguridad
Escola Universitària d’Informàtica Tomàs Cerdà
Virtualización de servicios
• Los servicios de negocio se encapsulan en los servicios del Bus
• Los servicios del Bus no tiene que corresponderse necesariamente a servicios de negocio concretos
BAPIs
Aplicació A
Aplicació B
Aplicació D
Servei D
Servei P
Servei F
Servei D’
Servei P’
Servei K
Escola Universitària d’Informàtica Tomàs Cerdà
Transformación de mensajería
• Debería permitir transformar los mensajes de entrada y salida para adaptarlos a los requisitos de:
• Los servicios de negocio
• Los consumidores
• Debería permitir transformar entre protocolos fácilmente
• Ficheros
• SOAP
• REST
• Colas de mensajería (JMS…)
Escola Universitària d’Informàtica Tomàs Cerdà
Monitorización
• Controlar estado de los servicios
• Definir niveles de servicio (SLAs)
• Tiempos
• Número de mensajes procesados por operación, servicio…
• Notificaciones Reducir tiempo de respuesta a problemas en la plataforma
Escola Universitària d’Informàtica Tomàs Cerdà
Consumidor Servicio A Servicio A’
SOAP sobre HTTPS
WS-Security SAML
Autorización Mapeo de credenciales
Gestión de seguridad
• Gestionar políticas de seguridad de los servicios
• Estandarizar políticas
• Independizar
• La seguridad de la implementación del servicio
• La seguridad del proveedor de la seguridad del consumidor
Escola Universitària d’Informàtica Tomàs Cerdà
Ventajas
• Desacoplamiento
• Robustez frente al cambio
Escola Universitària d’Informàtica Tomàs Cerdà
Desacoplamiento
Host A
Consumidors Servei A
Servei A
Host B
Bus de Serveis
Enrutament
• Los consumidores no conocen la localización real del servicio final
• Cambios en la ubicación del servicio no los afectan
Escola Universitària d’Informàtica Tomàs Cerdà
Bus de Serveis
Servei A Portal Transforma
2.0
Aplicación
Robustez frente al cambio
• Coexistencia de versiones de un servicio
• Oculta cambios del servicio a los consumidores
Servei A’ 2.0
Servei A’ 1.0
Escola Universitària d’Informàtica Tomàs Cerdà
Gestión de la plataforma
• Catálogo de servicios: ¿Qué servicios tengo?
• Monitorización: ¿Qué consumos se producen?
• Servicios/versiones no usadas (candidatos a retirada)
• Ciclo de vida: ¿Cuándo genero una nueva versión?
• Número de versiones paralelas
• Proceso de transición
• ¿Criticidad de la plataforma?
• Alta disponibilidad
• Backups y recovery plans
Escola Universitària d’Informàtica Tomàs Cerdà Escola Universitària d’Informàtica Tomàs Cerdà Escola Universitària d’Informàtica Tomàs Cerdà
www.eug.es
Niveles de adopción SOA: Empresarial
Escola Universitària d’Informàtica Tomàs Cerdà
• En la visión clásica de las TIC:
• Aplicaciones
• Bases de datos
• Redes y comunicaciones
• Un proceso de negocio es un flujo de ejecución de tareas que va guiado por lógica de negocio, no por los sistemas que forman nuestra organización:
• Trascienden el contexto de una aplicación o departamento
• Se alinea con las necesidades empresariales
• Incrementa la cadena de valor
El negocio como conjunto de procesos
Escola Universitària d’Informàtica Tomàs Cerdà
1
2 3
4
Servicio N Servicio B
Servicio A
Servicio C
SOAP
Consumidor
SOAP
Orquestación de servicios
Composición de nuevos servicios partiendo de servicios ya existentes
Escola Universitària d’Informàtica Tomàs Cerdà
BPEL
• Business Process Execution Language (BPEL) es un estándar SOA que establece un lenguaje de orquestación de servicios en XML (WS-BPEL v.1.1 y WS-BPEL 2.0)
• Un proceso BPEL describe los pasos de ejecución (actividades) y las interacciones con los servicios.
• Es un lenguaje para procesos estructurados (siempre avanza)
• Se requiere un motor de ejecución capaz de interpretar este lenguaje y proceder a ejecutar las tareas que describe
• Permite el diseño de procesos síncronos y asíncronos
Escola Universitària d’Informàtica Tomàs Cerdà
BPEL: Actividades
Escola Universitària d’Informàtica Tomàs Cerdà
Ejemplo de proceso BPEL (fragmento)
Escola Universitària d’Informàtica Tomàs Cerdà
BPEL: Lógica transaccional
• Un proceso de negocio puede interactuar con:
• Sistemas transaccionales (Bases de datos)
• Sistemas no transaccionales (Ficheros, servicios web…)
• Hay que establecer la lógica transaccional
• Transacción única para sistemas transaccionales
• Dependiente de la tecnología (en Java, JTA).
• Compensaciones en caso de rollback
• ¿Cuáles?
• ¿En qué caso?
Escola Universitària d’Informàtica Tomàs Cerdà Escola Universitària d’Informàtica Tomàs Cerdà Escola Universitària d’Informàtica Tomàs Cerdà
www.eug.es
Niveles de adopción SOA: Medible
Escola Universitària d’Informàtica Tomàs Cerdà
BAM: Monitorización del negocio
• Las herramientas BAM (Business Access Monitoring) permiten la monitorización en tiempo real del estado de nuestro negocio
• Recoge la información de los sensores que colocamos en nuestros procesos (KPIs)
• La gente de negocio es la que tiene el conocimiento para definir los KPIs adecuados
• El proceso de monitorización de negocio sería:
1. Negocio define los KPIs
2. Se implementa el proceso
3. Negocio controla el estado de negocio con los dashboards
4. Se detectan problemas y se mejora el proceso
Escola Universitària d’Informàtica Tomàs Cerdà
BAM: Dashboards para usuarios de negocio
Escola Universitària d’Informàtica Tomàs Cerdà Escola Universitària d’Informàtica Tomàs Cerdà Escola Universitària d’Informàtica Tomàs Cerdà
www.eug.es
Niveles de adopción SOA: Industrializado
Escola Universitària d’Informàtica Tomàs Cerdà
• Cambiar el paradigma de conexión fija entre sistemas por el paradigma de publicación/suscripción
• Desacoplamiento entre sistemas
• Fácil incorporación de nuevos suscriptores sin afectar a los ya existentes
EDA: Orientación a eventos
Escola Universitària d’Informàtica Tomàs Cerdà Escola Universitària d’Informàtica Tomàs Cerdà Escola Universitària d’Informàtica Tomàs Cerdà
www.eug.es
Gobierno SOA
Escola Universitària d’Informàtica Tomàs Cerdà
Gobierno SOA
• El objetivo del Gobierno SOA es mantener alineados el negocio y la tecnología SOA
• Debe establecerse cuál ese el comportamiento deseado a nivel de SOA
• Debe definirse qué personas se encargaran de las distintas tareas SOA
• Debe definir las políticas o normas que regirán los desarrollos SOA
• Debe establecer los procedimientos o pasos a seguir para cumplir con las normas
• Formación
• Comunicación
• Control
Escola Universitària d’Informàtica Tomàs Cerdà
Hoja de ruta SOA
• Toda organización debe evaluar en qué nivel de SOA se encuentra en distintos aspectos (análisis de indicadores del modelo SOA)
• La hoja de ruta SOA es un documento que describe, partiendo del estado actual de SOA, cuáles son los objetivos que se quieren conseguir y define:
• Acciones
• Tiempos
• Personas
para conseguirlo
• Deben fijarse objetivos realizables
Escola Universitària d’Informàtica Tomàs Cerdà
Oficina técnica SOA
• La oficina técnica SOA se encarga de controlar el gobierno SOA:
• Definir metodologías y buenas prácticas de desarrollo
• Definir los procedimientos de actuación
• Controlar el cumplimiento de las normas
• Participar en la definición de los proyectos
• Definir la estrategia de servicios y procesos
• Actuar de puente entre el negocio y las TIC
• Actuar de puente entre las distintas partes implicadas en los proyectos de integración
Escola Universitària d’Informàtica Tomàs Cerdà Escola Universitària d’Informàtica Tomàs Cerdà Escola Universitària d’Informàtica Tomàs Cerdà
www.eug.es
De SOA hacia…
Escola Universitària d’Informàtica Tomàs Cerdà Escola Universitària d’Informàtica Tomàs Cerdà Escola Universitària d’Informàtica Tomàs Cerdà
Mobilidad
Serv
ice B
US
SOAP/REST
Escola Universitària d’Informàtica Tomàs Cerdà
Business Process Management
• El Business Process Management (BPM) intenta alinear el negocio con las TIC mediante herramientas de diseño e implementación de procesos
• Reducir el gap entre los sistemas de información (diversidad) y la visión de negocio de la empresa (unidad)
• Su origen son los workflows humanos y documentales
• BPM provee de las herramientas para desarrollar procesos:
• Flexibles
• Medibles
• De alto nivel