58
Ing. Julio Cejas Junio 2008 SOA & ESB Service Oriented Architecture y Enterprise Service Bus

SOA y ESB La combinacion perfecta

Embed Size (px)

Citation preview

Page 1: SOA y ESB La combinacion perfecta

Ing. Julio CejasJunio 2008

SOA & ESB

Service Oriented Architecture yEnterprise Service Bus

Page 2: SOA y ESB La combinacion perfecta

Agenda TI

1. Situación Actual TI.2. Consecuencias.3. Estrategia del Cambio.4. Inhibidores del Cambio.5. Propulsores del Cambio.6. Beneficios del Cambio.

Page 3: SOA y ESB La combinacion perfecta

TI | Situación Actual

Cliente 1

App1

Cliente 2

App1

Cliente 3

App2 App3

Cliente 4

App3

Cliente 5

OSSOSSOSS

Page 4: SOA y ESB La combinacion perfecta

TI | Situación Actual

Cliente 1

App1

Cliente 2

App1

Cliente 3

App2 App3

Cliente 4

App3

Cliente 5

OSSOSSOSS

Nuevo OSS

OSSNuevo

Page 5: SOA y ESB La combinacion perfecta

TI | Situación Actual

Funcionalidad

Funcionalidad Servicio

Aplicación

Page 6: SOA y ESB La combinacion perfecta

TI | Situación Actual

Conexiones Punto a Punto.

Altos costos de Mantenimiento.

Información Redundante.

Grandes Impactos ante Reemplazos de Tecnologías.

Conexiones Punto a Punto

Page 7: SOA y ESB La combinacion perfecta

TI | Consecuencias

Alta Dependencia

Poca Protección Tecnológica

Información Redundante

Alta Complejidad

Alta Acoplamiento

Grandes Impactos ante el Reemplazo

Problemas de Duplicidad

Problemas Consistencia

Altos costos Mantenimiento

Page 8: SOA y ESB La combinacion perfecta

TI | Estrategia de Cambio

SOA

BPM

WS-*

MOM

CEP

EDA

MDA

Page 9: SOA y ESB La combinacion perfecta

TI | Inhibidores

Evolución:

Fuente: Forrester

Page 10: SOA y ESB La combinacion perfecta

TI | Inhibidores

Síndrome del DíaDía:

Operaciones Mantener sistemas, red, seguridad, etc. SSO

Desarrollo de Aplicaciones

Adquisición, desarrollo y mantenimiento de sistemas (Software)

Estrategia TI Previsión, Planeacion del rol de las TIC en la organización

1

2

3

Infraestructura & arquitectura

Planeacion, Implementación y actualización de la infraestructura.

4

Priorizacion Determinar que tareas son mas importantes.5

Gestión Organizacional TI

Liderazgo6

Gestión de Personal Manejo y desarrollo del personal de TI7

Gestión Financiera Presupuesto y gestión del gasto en TIC8

Procesos de negocio y gestión del cambio

Implementar cambios en los procesos de negocios empresariales.9

Manejo de Relaciones Construcción de confianza, entendimiento entre el negocio y las necesidades de TI

10

Tarea DescripciónR

Page 11: SOA y ESB La combinacion perfecta

TI | Inhibidores

Gobierno Electrónico

Infraestructura TICArquitecturas de nueva

Generación

Evolución tecno-política(A)

�: BRECHA

Entender la Brecha:

Page 12: SOA y ESB La combinacion perfecta

TI | Inhibidores

No se desarrolla pensando en Integración.

Ausencia de Lineamientos y Estándares.

Falta de Capacitación Gerencia de TI.

Síndrome del día día.

Falta de Investigación y Desarrollo.

Inexperiencia de Proveedores Tecnológicos.

Page 13: SOA y ESB La combinacion perfecta

TI | Propulsores del Cambio

BPEL

ESBEDA

MOM

BPM

SOA

PETT

Plan Estratégico de Transformación Tecnológica

Page 14: SOA y ESB La combinacion perfecta

TI | Propulsores del Cambio

Cliente 1

App1

Cliente 2

App1

Cliente 3

App2 App3

Cliente 4

App3

Cliente 5

OSSOSSOSS

Lógica de Integración

Page 15: SOA y ESB La combinacion perfecta

TI | Beneficios del Cambio de Estrategia

Protege la inversión tecnológica

Proporciona una arquitectura simple, flexible, reusable

Independiente de tecnología.

Proporciona una arquitectura mantenible, desacoplada e interoperable

Proporciona Agilidad Operacional

Evita la Información Redundante

Lenguaje Común

Único Punto de Acceso

Acelera la implantación de proyectos BPM

Page 16: SOA y ESB La combinacion perfecta

TI | Tiempo Cero

Visión Nacional

Page 17: SOA y ESB La combinacion perfecta

SOA

Agilidad

Service�

ROI

Oriented�

Arquitectura

Architecture�

Page 18: SOA y ESB La combinacion perfecta

Agenda SOA

1. Concepto.2. Que dice Gartner.3. Que propone SOA.4. Concepto de Servicio.5. Estándares WS.6. Propulsores de SOA.7. Beneficios de SOA.8. Características.9. Demostración A.10. SOA Resumen.

Page 19: SOA y ESB La combinacion perfecta

SOA | Concepto

W3C: “Conjunto de componentes que pueden ser invocados, cuyas descripciones de interfaces se pueden publicar y descubrir”

Page 20: SOA y ESB La combinacion perfecta

SOA | Concepto

CBDI: “Estilo resultante de políticas, prácticas y frameworks que permiten que la funcionalidad de una aplicación se pueda proveer y consumir como conjuntos de servicios, con una granularidadrelevante para el consumidor. Los servicios pueden invocarse, publicarse y descubrirse y están abstraídos de su implementación utilizando una sola forma estándar de interfase”.

Page 21: SOA y ESB La combinacion perfecta

SOA | Que dice Gartner?

En 2008, > 60% de las empresasusarán SOA para aplicaciones de misión crítica.

SOA proporcionará la base del 80%de todos los nuevos proyectos de desarrollo, y permitirá a las empresas, aumentar la reutilización de código en más de un 100%

Page 22: SOA y ESB La combinacion perfecta

SOA | La Propuesta

Service

Los componentes pueden ser invocados

Se pueden publicar y descubrir

Independientes de tecnología

Poco acoplados

Basado en Estándares HTTP, SOAP , WSDL, UDDI

Independencia de transporte

Contratos

Page 23: SOA y ESB La combinacion perfecta

SOA | Concepto de Servicio

Web Services es una Tecnologíapermite que las aplicaciones puedan comunicarse sobre un formato estándar.

Web Services exponen interfasesQue pueden ser invocadas por cualquier tecnología sobre un contrato (WSDL).

Web Services usa un protocoloQue describe las reglas de comunicación con otros servicios (SOAP).

Web Services es un sistema que soporta interacciones interoperables entre componentes sobre un red.

Page 24: SOA y ESB La combinacion perfecta

SOA | Estándares

Descripción del Servicio

Web ServicesTecnologías

����

Protocolo de Comunicación����

Protocolo de Transporte��

Web Services Definition LanguageEs un estándar para publicar y descubrir componentes de software (Describe reglas de intercambios).

WSDL

SOAP Engine

Componente

Datos��

Web ServicesTecnologías Cliente

Page 25: SOA y ESB La combinacion perfecta

SOA | Estándares | WSDL

<types><xsd:schema><xsd:import namespace="http://service.ws.demo.progestic.com.cr/" schemaLocation="http://localhost:8084/wsrvprogestic/estudianteService?xsd=1"/></xsd:schema></types>

<message name="getEstudiante"><part name="parameters" element="tns:getEstudiante"/></message>

<message name="getEstudianteResponse"><part name="parameters" element="tns:getEstudianteResponse"/></message>

<portType name="EstudianteService"><operation name="getEstudiante"><input message="tns:getEstudiante"/><output message="tns:getEstudianteResponse"/></operation></portType>

Page 26: SOA y ESB La combinacion perfecta

SOA | Estándares | WSDL

Service (Name)

Porttype Binding Address location (URI)

Operation name

Input message

Output message

Protocol binding

Operation Location/path

Input name& type

Output name& type

Fault handling

TypeDefinition/

Target name Space/

XML Schema

Page 27: SOA y ESB La combinacion perfecta

SOA | Estándares

Descripción del Servicio

Web ServicesTecnologías

����

Protocolo de Comunicación����

Protocolo de Transporte��

HyperText Transfer Protocol Es un protocolo sin estado para la comunicación sobre la WWW (hipertexto).

WSDL

SOAP Engine

Componente

Datos��

Web ServicesTecnologías Cliente

Transporte HTTP

Page 28: SOA y ESB La combinacion perfecta

SOA | Estándares

Descripción del Servicio

Web ServicesTecnologías

����

Protocolo de Comunicación����

Protocolo de Transporte��

Simple Object Access Protocol Es un protocolo de comunicación basado en XML permitir el intercambio de información.

WSDL

SOAP Engine

Componente

Datos��

Web ServicesTecnologías Cliente

Transporte HTTP

Page 29: SOA y ESB La combinacion perfecta

SOA | Estándares | SOAP

String[ ] getMejoresPromedios ( int año );

<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <SOAP-ENV:Envelope

SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema">

<SOAP-ENV:Body> <ns1:getMejoresPromedios xmlns:ns1="urn:MySoapServices">

<param1 xsi:type="xsd:int">2008</param1></ns1:getMejoresPromedios>

</SOAP-ENV:Body> </SOAP-ENV:Envelope>

Page 30: SOA y ESB La combinacion perfecta

SOA | Estándares

Descripción del Servicio

Web ServicesTecnologías

����

Protocolo de Comunicación����

Protocolo de Transporte��

Extensible Markup LanguageEs un metalenguaje para simplificar el almacenamiento e intercambio de datos.

WSDL

SOAP Engine

Componente

Datos��

Web ServicesTecnologías Cliente

Transporte HTTP

Page 31: SOA y ESB La combinacion perfecta

SOA | Estándares

HTTP, JMS, SMTP

Xml, SOAP

XSD, WSDL, WS-Policy

UDDI

WS-*

Transporte

Mensaje

Descripción

Descubrir

Calidad del Servicio

Page 32: SOA y ESB La combinacion perfecta

SOA | Estándares

Page 33: SOA y ESB La combinacion perfecta

SOA | Propulsores

Web Services Interoperability (WS-I).

Organization for the Advancement of Structured Information Standards (OASIS).

Object Management Group (OMG).

The World Wide Web Consortium (W3C).

Page 34: SOA y ESB La combinacion perfecta

SOA | Beneficios

Interoperabilidad / Independencia de plataforma

Bajo Impacto / Retiro de sistemas legados

Potencia el Reuso / Funciones de Negocio Disponibles

ROI / Maximización de las inversiones en TI

Mayor Velocidad de Despliegue / Construcción

Page 35: SOA y ESB La combinacion perfecta

SOA | Características

Basado en Estándares abiertos

Interfaces bien definidas

Bajo acoplamiento

Forma estándar e interoperable de comunicación.

Mayor Velocidad de Despliegue / Construcción.

Page 36: SOA y ESB La combinacion perfecta

SOA | Ejemplo 1

1

Page 37: SOA y ESB La combinacion perfecta

SOA | Ejemplo 1

Componente

1

Contrato

2

Exponer

3

Análisis

1Identificar los Servicios.

Clasificar los Servicios (Categorizar).

Evaluar el nivel de Granularidad.

Evaluar el nivel de Reuso.

Page 38: SOA y ESB La combinacion perfecta

SOA | Ejemplo 1

Componente

1

Contrato

2

Exponer

3

Interface

Estudiante

NombrePromedioEstatus

BD

Componente

Operaciones

ObtenerEstudiante(id)

Análisis

1

Page 39: SOA y ESB La combinacion perfecta

SOA | Ejemplo 1

Componente

1

Contrato

2

Exponer

3

Interface

Estudiante

NombrePromedioEstatus

BD

Componente

Operaciones

ObtenerEstudiante(id)

WSDL WSDL

Contrato

Análisis

1

Page 40: SOA y ESB La combinacion perfecta

SOA | Ejemplo 1

Componente

1

Contrato

2

Exponer

3

Interface

Estudiante

NombrePromedioEstatus

BD

Componente

Operaciones

ObtenerEstudiante(id)

WSDL WSDL

Contrato

Análisis

1

HTTP

SOAP Engine

Page 41: SOA y ESB La combinacion perfecta

SOA | Ejemplo 1

Herramientas de la WS-I

Creación de un Web Services

Generación de Proxies

Utilización de SoapUI

Consumo de un Web Services

Page 42: SOA y ESB La combinacion perfecta

Manos a la Obra.

Page 43: SOA y ESB La combinacion perfecta

SOA | Resumen

Cada función ejecuta una tareaPor ejemplo : enviar un email, consultar datos en una base de datos, invocar un servicio, etc.)

Los Clientes utilizan el WSDLpara invocar la función, basado en un conjunto de reglas de intercambio (protocolo, operaciones, entradas, salidas, etc.).

Se utiliza SOAP/XMLcomo protocolo de comunicación.

Web Services es un componente que proporciona una o mas funciones, que pueden ser invocadas remotamente.

Page 44: SOA y ESB La combinacion perfecta

SOA | Modelo de Implementación

Tecnología Java• Apache CXF.• Apache Axis2 (antes Xfire).• Spring Web Services.• JBossWS.

Tecnología PHP• Nusoap.• XML-RPC (phpxmlrpc ,

PEAR::XML_RPC)• PEAR::SOAP• PHP 5 Extensiones

Page 45: SOA y ESB La combinacion perfecta

SOA | Modelo de Implementación

Subscriber 1

WSDLDescription

WSDLDescription

ComponentServices

Component Services

ComponentServices

CompositeServices

CompositeServices Servicios

de Grano Fino

Synchronous Services

DataServices

DataServices Serial Service

Orchestration

Serial Service Orchestration

Parallel Service Orchestration

Parallel Service Orchestration

Asynchronous Services

FacadeServices

FacadeServices

WSDLDescription

WSDLDescription

WSDLDescription

WSDLDescription

Servicios de Grano Grueso

Query Services ObjectsAssembly

Conversational (Workflow)

Services

Publish-Subscribe Services

Service Brokers

Service Brokers

Rules

InvokerInvoker

Exception HandlingServices

Exception HandlingServices

Compensating Services

Compensating Services

Security ServicesSecurity Services

Rules

Legacy ALegacy A

Legacy BLegacy B

Service RepositoryService Repository

CacheServices

Page 46: SOA y ESB La combinacion perfecta

SOA | Metodologías

RUP

Scrum

XP

Page 47: SOA y ESB La combinacion perfecta

ESB

integración

Enterprise�

servicio

Service�

bus

Bus�

Page 48: SOA y ESB La combinacion perfecta

Agenda ESB

1. Concepto.2. Concepto de Servicio.3. Funciones Generales.4. Beneficios.5. Demostración A.6. Patrones de Integración.

Page 49: SOA y ESB La combinacion perfecta

ESB | Concepto

Es una plataforma de servicios, que disponibiliza funcionalidades existentes en diversos sistemas heterogéneos, realizando tareas de conexión, adaptación, transporte, transformación, integración, etc, mediante Servicios.

Page 50: SOA y ESB La combinacion perfecta

ESB | Servicios

Facturador

Recaudador

Averías

Aprovisionamiento

F E

Orquestación de Servicios

Conector

Adaptador

Filtro

Transformador

Servicio s/a

WSDL

HTTP

SOAP

JMS

TCP

T

S

S

EnrutadorConector

Lógica de Integración

C

Contrato

Page 51: SOA y ESB La combinacion perfecta

ESB | Servicios

ServicioWSDL

TrasformarXml1 a Xml2

Invocar S1

Xml1

Xml2i

TransformarSplit

xml2 y Xml1

ServicioWSDL

Invocar S1

Xml2i

ServicioWSDL

ServicioWSDL

Page 52: SOA y ESB La combinacion perfecta

ESB | Servicios

ESB

TCP WSDL HTTPS OTROS

Bpel

Engine

JMS

Provider

JBI

Container

Servicio

1

Otras

Instancias

Servicios Externos

Frameworks

Integrados

Page 53: SOA y ESB La combinacion perfecta

ESB | Beneficios

Soporte de diversos ProtocolosPermite exponer componentes sobre múltiples transportes

Soporte de Componentes “Pluggables”Evita el acoplamiento con las tecnologías.

Altamente EscalableInfraestructura que soportan alta demanda.

Rápida integraciónde sistemas heterogéneos o diferentes.

Page 54: SOA y ESB La combinacion perfecta

ESB | Ejemplo 2

2

Page 55: SOA y ESB La combinacion perfecta

ESB | Ejemplo 2

2

Mule ESB

Page 56: SOA y ESB La combinacion perfecta

Patrones de Integración Empresarial

http://www.enterpriseintegrationpatterns.com/

Page 57: SOA y ESB La combinacion perfecta

Patrones de Integración Empresarial

Page 58: SOA y ESB La combinacion perfecta

Gracias

Gracias