El camino para implantar soa con éxito

58
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

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.

Transcript of El camino para implantar soa con éxito

Page 1: El camino para implantar soa con éxito

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

Page 2: El camino para implantar soa con éxito

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...

Page 3: El camino para implantar soa con éxito

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?

Page 4: El camino para implantar soa con éxito

Escola Universitària d’Informàtica Tomàs Cerdà

Sistemas Monolíticos vs. Heterogéneos

Page 5: El camino para implantar soa con éxito

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

Page 6: El camino para implantar soa con éxito

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.

Page 7: El camino para implantar soa con éxito

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

Page 8: El camino para implantar soa con éxito

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

Page 9: El camino para implantar soa con éxito

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

Page 10: El camino para implantar soa con éxito

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

Page 11: El camino para implantar soa con éxito

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

Page 12: El camino para implantar soa con éxito

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

Page 13: El camino para implantar soa con éxito

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.

Page 14: El camino para implantar soa con éxito

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

Page 15: El camino para implantar soa con éxito

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

Page 16: El camino para implantar soa con éxito

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

Page 17: El camino para implantar soa con éxito

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

Page 18: El camino para implantar soa con éxito

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

Page 19: El camino para implantar soa con éxito

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

Page 20: El camino para implantar soa con éxito

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)

Page 21: El camino para implantar soa con éxito

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)

Page 22: El camino para implantar soa con éxito

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

Page 23: El camino para implantar soa con éxito

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

Page 24: El camino para implantar soa con éxito

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)

Page 25: El camino para implantar soa con éxito

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

Page 26: El camino para implantar soa con éxito

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

Page 27: El camino para implantar soa con éxito

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

Page 28: El camino para implantar soa con éxito

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

Page 29: El camino para implantar soa con éxito

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

Page 30: El camino para implantar soa con éxito

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’

Page 31: El camino para implantar soa con éxito

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

Page 32: El camino para implantar soa con éxito

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

Page 33: El camino para implantar soa con éxito

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…)

Page 34: El camino para implantar soa con éxito

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

Page 35: El camino para implantar soa con éxito

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

Page 36: El camino para implantar soa con éxito

Escola Universitària d’Informàtica Tomàs Cerdà

Ventajas

• Desacoplamiento

• Robustez frente al cambio

Page 37: El camino para implantar soa con éxito

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

Page 38: El camino para implantar soa con éxito

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

Page 39: El camino para implantar soa con éxito

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

Page 40: El camino para implantar soa con éxito

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

Page 41: El camino para implantar soa con éxito

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

Page 42: El camino para implantar soa con éxito

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

Page 43: El camino para implantar soa con éxito

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

Page 44: El camino para implantar soa con éxito

Escola Universitària d’Informàtica Tomàs Cerdà

BPEL: Actividades

Page 45: El camino para implantar soa con éxito

Escola Universitària d’Informàtica Tomàs Cerdà

Ejemplo de proceso BPEL (fragmento)

Page 46: El camino para implantar soa con éxito

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?

Page 47: El camino para implantar soa con éxito

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

Page 48: El camino para implantar soa con éxito

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

Page 49: El camino para implantar soa con éxito

Escola Universitària d’Informàtica Tomàs Cerdà

BAM: Dashboards para usuarios de negocio

Page 50: El camino para implantar soa con éxito

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

Page 51: El camino para implantar soa con éxito

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

Page 52: El camino para implantar soa con éxito

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

Page 53: El camino para implantar soa con éxito

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

Page 54: El camino para implantar soa con éxito

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

Page 55: El camino para implantar soa con éxito

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

Page 56: El camino para implantar soa con éxito

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…

Page 57: El camino para implantar soa con éxito

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

Page 58: El camino para implantar soa con éxito

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