soa y esb la combinacion perfecta
TRANSCRIPT
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