Osb turismo 25nov Palma

30
<Insert Picture Here> Mediación de Servicios con Oracle Service Bus Enrique Martín 25 de Noviembre 2010

Transcript of Osb turismo 25nov Palma

Page 1: Osb turismo 25nov Palma

<Insert Picture Here>

Mediación de Servicios con Oracle Service Bus

Enrique Martín

25 de Noviembre 2010

Page 2: Osb turismo 25nov Palma

<Insert Picture Here>

Agenda

• Hace un año decíamos ….

• Oracle Service Bus

• Que hemos hecho (y aprendido) en este año

Page 3: Osb turismo 25nov Palma

Actores del Sector

Page 4: Osb turismo 25nov Palma

Actores del Sector

Page 5: Osb turismo 25nov Palma

Actores del Sector

Page 6: Osb turismo 25nov Palma

Conexiones punto a punto, cercanas:

Page 7: Osb turismo 25nov Palma

Conexiones punto a punto, a distancia:

Page 8: Osb turismo 25nov Palma

Varias conexiones:

Page 9: Osb turismo 25nov Palma

Muchas más conexiones:

Page 10: Osb turismo 25nov Palma

Una base común:

Page 11: Osb turismo 25nov Palma

Una base común con múltiples ingredientes:

Page 12: Osb turismo 25nov Palma

Una Base para toda la empresa

Page 13: Osb turismo 25nov Palma

Simplificando la Interoperabilidad

Reglas de Negocio Transformación de formatosReglas de Negocio Transformación de formatos Correspondencias

MonitorizaciónValidaciones lógicas

Page 14: Osb turismo 25nov Palma

Clientes

http://www.youtube.com/watch?v=NNoozewXql4

Page 15: Osb turismo 25nov Palma

Mediación de Servicios con OSB

Application

Service Service

System

Loan Gateway 3 (Proxy Service)

ESB

Application

Service Service

System

Loan Gateway 3 (Proxy Service)

Application

Service Service

System

Loan Processing Service

(Business Service)

Application

Service Service

System

ESB

Loan Processing Service

(Business Service)

Page 16: Osb turismo 25nov Palma

Mediación de Servicios con OSB

Application

Service Service

System

Loan Gateway 3 (Proxy Service)

Vista de arquitectura Vista de configuración del pipeline

ProxyPipeline

Application

Service Service

System

ESB

Loan Processing Service

(Business Service)

Business Service

Page 17: Osb turismo 25nov Palma

Monitorización

Alarmas

Servicio publicado en el bus

Flujo Petición

Cambio:

• Mensaje

•Protocolo

•SeguridadFlujo Respuesta

Mediación de Servicios con OSB

Alarmas

Reportes

Cuadros de Mando

Enriquecimiento del

servicio

•Seguridad

Alarmas

Excepciones

Enrutado/Publicación

Page 18: Osb turismo 25nov Palma

Gestión de Servicios

• Cuadros de mando• Métricas de rendimiento y errores

• Estado de servidores (cluster)

• Monitorización• Por instancia o por cluster

• Gestión alertas SLA• Alertas en métricas

• Alertas por enrutado de mensajes

ReportingSLAsMonitoring Dashboard Open Interfaces

Management

• Alertas por enrutado de mensajes

• Reporting• Out of the box

• Personalizados

• Interfases abiertos• Personalización del despliegue

• JMX

• SNMP

Page 19: Osb turismo 25nov Palma

Gestión del Ciclo de Vida

• Protege la Integridad Semántica

• Gestiona la dependencia de recursos

• Change Center

• Agregación de Configuraciones• Rollback• Auditoria de Cambios

Permite … Así que se puede …

Maneja la entrega y las operaciones asociadas en

servicios integrados SOA.Gestionar la complejidad de la integración de servicios en un entorno SOA.

• Rollback• Auditoria de Cambios• Soporte Sesiones Simultáneas

• Reporte y Auditoria para la monitorización de la actividad

• Vistas operacionales basada en roles

Page 20: Osb turismo 25nov Palma

Creación de Servicios con ESB

ESB

Application

Service Service

System

Vista de arquitectura

Interfaz SOAP

Loan Gateway 3 (Proxy Service)

Application

Service Service

System

Interfaz SOAP 2

Application

Service Service

System

Otros Interfases (mail, FTP. MOM)

Application

Service Service

System

Loan Processing Service

(Business Service)

Distintas fachadas para el mismo servicio de Negocio

Los servicios pueden enriquecerse

Page 21: Osb turismo 25nov Palma

Protección de sobrecarga

para los servicios de negocio

Clients

Service Clients

Throttle requests

w/ Policy

Proxy

Service

Legacy Service 1Queue

buffer

size

Bus

Svc

OSB Cluster

size

Regulando las entrada de solicitudes al servicio mediante políticas

Evita la sobrecarga de los servicios de negocio

Page 22: Osb turismo 25nov Palma

Patrones Avanzados”Split and Join” para paralelización de tareas

• Un invocación se divide en múltiples

llamadas en paralelo

• Las respuestas se agregan en un

solo mensaje

• La ejecución de acciones en paralelo

mejora el rendimiento

Split ForEach

ProcessOrder

Oracle Service Bus

JoinProcessOrder

15

Order 1 Order 2 Order 3

SPLITResponse

1Response

2Response

3

JOIN

Request

Payload

Response

Payload

Page 23: Osb turismo 25nov Palma

OSB y Cache de Datos

Legacy

Service

Service

Provider

Oracle Service Bus

Si el resultado no esta en cache, se invoca al servicio y se carga en cache el resultado

Side Cache Pattern

Process Flow /

Orchestration

Service

Consumer

P

BBackup Node

PrimaryNodeGet / Put (Cachekey)

Service Data

Coherence Data Grid

OSB

Result

Cache

Oracle Service Bus

Check cache

Page 24: Osb turismo 25nov Palma

¿Qué es Coherence?

• Un cache distribuido de datos con características de alta escalabilidad y tolerancia a fallos

• Cada dato tiene una copia maestra y una de back-up

• Los datos almacenados son objetos Java

• El acceso es desde clientes Java, .Net o

24

• El acceso es desde clientes Java, .Net o C++

• La escalabilidad se consigue mediante despliegue en múltiples máquinas (escalado vertical), con múltiples instancias en una única máquina (escalado horizontal), o con una combinación de ambas estrategias

Page 25: Osb turismo 25nov Palma

Casos de uso en el sector turismo

Retos en la operativa de IT en el sector turismo:

• Negocio inherentemente distribuido, con proveedores remotos de servicios de hoteles, vuelos, etc…

• Requerimientos de alto rendimiento y bajos tiempos de respuesta (‘La competencia está a un click’)

• Necesidad de escalar a un volumen muy alto de usuarios y peticiones concurrentes

• Necesidad de escalar a un volumen muy alto de usuarios y peticiones concurrentes

• Problemática de integraciones complejas y no uniformes con los distintos proveedores de servicios

• Complejidad para monitorizar y administrar las interacciones con proveedores remotos, y los procesos de reserva de usuarios

Page 26: Osb turismo 25nov Palma

Casos de usoPatrones de consulta de disponibilidades con OSB

y CoherenceProblema

• El flujo típico de consulta de disponibilidades implica esto pasos:• Acceso a varios sistemas remotos proveedores de hoteles, aviones, cruceros, etc

• Guardar las respuestas parciales en una almacenamiento temporal (a menudo una base de datos)

• Hacer procesos de consolidación y ordenación (normalmente por precio) de los datos globales

• Implementar una paginación sobre estos resultados, y mostrarla al cliente

• Este tipo de consultas genera un alto volumen de escritura en bbdd, ralentiza la ejecución de las aplicaciones, afectando al rendimientoejecución de las aplicaciones, afectando al rendimiento

• La complejidad de las queries implicadas hace difícil implementar filtros y reglas de negocio posteriores sobre los resultados

Solucion

• Utilizar la funcionalidad de split&join (paralelización de ejecución) del OSB con una rama por proveedor

• Utilizar Coherence como almacenamiento temporal de resultados. Hacemos las ordenaciones, filtros y paginaciones sobre Coherence

• La escritura intensiva en memoria es mucho más rápida que en disco

Page 27: Osb turismo 25nov Palma

Casos de usoCacheo de información dinámica de disponibilidad

en hoteles y vuelos

Problema

• Las disponibilidades de hoteles y vuelos se resuelven mediante consultas a proveedores remotos

• Alta tasa de cambio en este tipo de información

• Modelos de pago por uso en estos servicios

Solucion

• Cachear subconjuntos relevantes de esta información, evitando el acceso remoto, y refrescando periódicamente. Ejemplos:

• Vuelos a ciertos destinos en la siguiente semana, o en ciertas fechas (puente 1 de mayo, semana santa, …)

• Disponibilidad hotelera en ciertos destinos/fechas clave (ej. Sevilla en feria abril)

• Ahorro en los modelos de pago por uso

• Mejora en el tiempo de respuesta

• Direccionamiento de Ventas

Page 28: Osb turismo 25nov Palma

Casos de usoMejora del rendimiento mediante el cacheo de datos

estáticos

Problema

• Las aplicaciones típicas de turismo incluyen un volumen muy alto de información estática, poco volatil y de uso muy frecuente (datos de compañias hoteleras, aviación, cruceros, códigos de area, ciudad, etc, ficheros de configuracion de aplicaciones, literales de aplicaciones web, y muchos más)

• El acceso continuo a esta información estática sobre bases de datos o ficheros afecta negativamente al rendimiento

• El acceso continuo a esta información estática sobre bases de datos o ficheros afecta negativamente al rendimiento

Solucion

• Con la utilización de Coherence como cache distribuido de alta capacidad para estos datos conseguimos:

• Mejorar los tiempos de respuesta (acceso a memoria más rápido que a dispositivos basados en disco)

• Decremento en la carga de bases de datos y otros sistemas de back-end

• Aumento de la capacidad de escalado de los sistemas

Page 29: Osb turismo 25nov Palma

Conclusiones

• Oracle tiene soluciones rápidas de implementar que

solucionan problemas de Negocio en el Sector de

Turismo:

• Flexibilidad y Time-to-Market (Integración)

• Calidad de Servicio (Tiempo de respuesta)

• Diferenciación y orientación a Ventas (procesamiento de

información en Caches)

• Oracle tiene experiencia en este tipo de proyectos, y

sabe como ayudar al cliente

• Pruebas de Concepto

• Mentoring

Page 30: Osb turismo 25nov Palma

Copyright 2007 30