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.
1. 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
2. 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...
5. Sistemes heterogéneos: Entropía
Escola Universitària d’Informàtica Tomàs Cerdà
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ó A Aplicació F
Aplicació D
Aplicació B
Aplicació H
Aplicació E
Aplicació C Aplicació P
6. Necesidades empresariales
Escola Universitària d’Informàtica Tomàs Cerdà
• 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.
7. ¿Qué es la arquitectura SOA?
Escola Universitària d’Informàtica Tomàs Cerdà
• 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
8. Servicio de negocio
Escola Universitària d’Informàtica Tomàs Cerdà
• 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
9. Proveedores y Consumidores
Escola Universitària d’Informàtica Tomàs Cerdà
• 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 Servei Productor
10. Integración mediante servicios de negocio
Escola Universitària d’Informàtica Tomàs Cerdà
Servei A Servei F
Aplicació A Aplicació F
Servei D
Servei B Aplicació D
Servei H
Aplicació B
Aplicació H
Servei E
Aplicació E
Servei C Servei P
Aplicació C Aplicació P
11. Estandarización de las integraciones
Escola Universitària d’Informàtica Tomàs Cerdà
• 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
12. Reutilización de funcionalidades
Escola Universitària d’Informàtica Tomàs Cerdà
• 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
13. Coherencia en la información
Escola Universitària d’Informàtica Tomàs Cerdà
• 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.
14. Mejora del mantenimiento
Escola Universitària d’Informàtica Tomàs Cerdà
• 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
16. Los 5 niveles de adopción SOA
Escola Universitària d’Informàtica Tomàs Cerdà
5.
Industrializado
4. Medible
3. Empresarial
2. Sistemático
1. Oportunista
17. Nivel 1: Oportunista
Escola Universitària d’Informàtica Tomàs Cerdà
• 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
18. Nivel 2: Sistemático
Escola Universitària d’Informàtica Tomàs Cerdà
• 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
19. Nivel 3: Empresarial
Escola Universitària d’Informàtica Tomàs Cerdà
• 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
20. Nivel 4: Medible
Escola Universitària d’Informàtica Tomàs Cerdà
• 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)
21. Nivel 5: Industrializado
Escola Universitària d’Informàtica Tomàs Cerdà
• 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)
22. 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
23. Tecnologías de Servicios
Escola Universitària d’Informàtica Tomàs Cerdà
• 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
24. Tipología de comunicación
Escola Universitària d’Informàtica Tomàs Cerdà
• 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)
25. Seguridad
Escola Universitària d’Informàtica Tomàs Cerdà
• 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
26. Enfoques de desarrollo
Escola Universitària d’Informàtica Tomàs Cerdà
• 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
27. 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
28. Bus de Servicios de Negocio (ESB)
Escola Universitària d’Informàtica Tomàs Cerdà
• 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
29. Integraciones sin Bus de Servicios
Escola Universitària d’Informàtica Tomàs Cerdà
Todos los consumidores deben conocer la ubicación del servicio a
consumir
Servei A Servei F
Aplicació A Aplicació F
Servei D
Servei B Aplicació D
Servei H
Aplicació B
Aplicació H
Servei E
Aplicació E
Servei C Servei P
Aplicació C Aplicació P
30. Integraciones con Bus de Servicios
Escola Universitària d’Informàtica Tomàs Cerdà
• Los proveedores de servicios son consumidos SÓLO por el Bus
• Los consumidores SÓLO consumen servicios del Bus
Aplicació A Servei D’ Servei D
Bus
Aplicació B Servei P’ de Servei P
servicios
Aplicació D Servei F’ Servei F
BAPIs
31. ¿ESB: Qué proporciona?
Escola Universitària d’Informàtica Tomàs Cerdà
• Virtualización de servicios
• Transformación de mensajería
• Monitorización
• Gestión de seguridad
32. Virtualización de servicios
Escola Universitària d’Informàtica Tomàs Cerdà
• 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
Aplicació A Servei D’ Servei D
Aplicació B Servei P’ Servei P
Aplicació D Servei K Servei F
BAPIs
33. Transformación de mensajería
Escola Universitària d’Informàtica Tomàs Cerdà
• 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…)
34. Monitorización
Escola Universitària d’Informàtica Tomàs Cerdà
• 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
35. Gestión de seguridad
Escola Universitària d’Informàtica Tomàs Cerdà
• 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
SOAP
WS-Security sobre
SAML HTTPS
Consumidor Servicio A’ Servicio A
Autorización Mapeo de
credenciales
36. Ventajas
Escola Universitària d’Informàtica Tomàs Cerdà
• Desacoplamiento
• Robustez frente al cambio
37. Desacoplamiento
Escola Universitària d’Informàtica Tomàs Cerdà
• Los consumidores no conocen la localización real del
servicio final
• Cambios en la ubicación del servicio no los afectan
Host A
Bus de Serveis
Servei A
Consumidors
Enrutament
Host B
Servei A
38. Robustez frente al cambio
Escola Universitària d’Informàtica Tomàs Cerdà
• Coexistencia de versiones de un servicio
• Oculta cambios del servicio a los consumidores
Bus de Serveis
Portal Servei A
Servei A’ 1.0 Transforma
2.0
Servei A’ 2.0
Aplicación
39. Gestión de la plataforma
Escola Universitària d’Informàtica Tomàs Cerdà
• 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
40. 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
41. El negocio como conjunto de procesos
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
42. Orquestación de servicios
Escola Universitària d’Informàtica Tomàs Cerdà
Composición de nuevos servicios partiendo de servicios ya existentes
SOAP
Servicio A
1
SOAP Servicio N
Consumidor 2 3 Servicio B
4 Servicio C
43. BPEL
Escola Universitària d’Informàtica Tomàs Cerdà
• 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
45. Ejemplo de proceso BPEL (fragmento)
Escola Universitària d’Informàtica Tomàs Cerdà
46. BPEL: Lógica transaccional
Escola Universitària d’Informàtica Tomàs Cerdà
• 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?
47. 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
48. BAM: Monitorización del negocio
Escola Universitària d’Informàtica Tomàs Cerdà
• 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
49. BAM: Dashboards para usuarios de negocio
Escola Universitària d’Informàtica Tomàs Cerdà
50. 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
51. EDA: Orientación a eventos
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
53. Gobierno SOA
Escola Universitària d’Informàtica Tomàs Cerdà
• 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
54. Hoja de ruta SOA
Escola Universitària d’Informàtica Tomàs Cerdà
• 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
55. Oficina técnica SOA
Escola Universitària d’Informàtica Tomàs Cerdà
• 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
58. Business Process Management
Escola Universitària d’Informàtica Tomàs Cerdà
• 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