SOA y ESB La combinacion perfecta

Post on 06-May-2015

2.803 views 1 download

Transcript of SOA y ESB La combinacion perfecta

Ing. Julio CejasJunio 2008

SOA & ESB

Service Oriented Architecture yEnterprise Service Bus

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.

TI | Situación Actual

Cliente 1

App1

Cliente 2

App1

Cliente 3

App2 App3

Cliente 4

App3

Cliente 5

OSSOSSOSS

TI | Situación Actual

Cliente 1

App1

Cliente 2

App1

Cliente 3

App2 App3

Cliente 4

App3

Cliente 5

OSSOSSOSS

Nuevo OSS

OSSNuevo

TI | Situación Actual

Funcionalidad

Funcionalidad Servicio

Aplicación

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

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

TI | Estrategia de Cambio

SOA

BPM

WS-*

MOM

CEP

EDA

MDA

TI | Inhibidores

Evolución:

Fuente: Forrester

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

TI | Inhibidores

Gobierno Electrónico

Infraestructura TICArquitecturas de nueva

Generación

Evolución tecno-política(A)

�: BRECHA

Entender la Brecha:

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.

TI | Propulsores del Cambio

BPEL

ESBEDA

MOM

BPM

SOA

PETT

Plan Estratégico de Transformación Tecnológica

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

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

TI | Tiempo Cero

Visión Nacional

SOA

Agilidad

Service�

ROI

Oriented�

Arquitectura

Architecture�

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.

SOA | Concepto

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

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

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%

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

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.

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

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>

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

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

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

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>

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

SOA | Estándares

HTTP, JMS, SMTP

Xml, SOAP

XSD, WSDL, WS-Policy

UDDI

WS-*

Transporte

Mensaje

Descripción

Descubrir

Calidad del Servicio

SOA | Estándares

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

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

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.

SOA | Ejemplo 1

1

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.

SOA | Ejemplo 1

Componente

1

Contrato

2

Exponer

3

Interface

Estudiante

NombrePromedioEstatus

BD

Componente

Operaciones

ObtenerEstudiante(id)

Análisis

1

SOA | Ejemplo 1

Componente

1

Contrato

2

Exponer

3

Interface

Estudiante

NombrePromedioEstatus

BD

Componente

Operaciones

ObtenerEstudiante(id)

WSDL WSDL

Contrato

Análisis

1

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

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

Manos a la Obra.

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.

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

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

SOA | Metodologías

RUP

Scrum

XP

ESB

integración

Enterprise�

servicio

Service�

bus

Bus�

Agenda ESB

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

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.

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

ESB | Servicios

ServicioWSDL

TrasformarXml1 a Xml2

Invocar S1

Xml1

Xml2i

TransformarSplit

xml2 y Xml1

ServicioWSDL

Invocar S1

Xml2i

ServicioWSDL

ServicioWSDL

ESB | Servicios

ESB

TCP WSDL HTTPS OTROS

Bpel

Engine

JMS

Provider

JBI

Container

Servicio

1

Otras

Instancias

Servicios Externos

Frameworks

Integrados

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.

ESB | Ejemplo 2

2

ESB | Ejemplo 2

2

Mule ESB

Patrones de Integración Empresarial

http://www.enterpriseintegrationpatterns.com/

Patrones de Integración Empresarial

Gracias

Gracias