integración de aplicaciones con soa
TRANSCRIPT
![Page 1: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/1.jpg)
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 1
Especialista Universitario Java Enterprise
Integración de aplicaciones con SOA
Sesión 1: Integración de aplicaciones
![Page 2: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/2.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 2
Puntos a tratar• Introducción• EAI y las aplicaciones existentes• Retos que plantea la EAI• Capas en la integración de aplicaciones• Tecnologías middleware para EAI• Servicios de infraestructura de integración• Patrones o escenarios de integración• Estrategias de integración• Arquitectura de integración
![Page 3: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/3.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 3
El "inevitable" efecto del paso del tiempo en las empresas ...
APLICACIONESSEPARADAS
(Islas de información)
EMPRESA
![Page 4: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/4.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 4
Introducción• Necesidad creciente de las empresas de un
fácil acceso a la información por parte de las aplicaciones
• Objetivo: maximizar los beneficios de cada aplicación y del sistema de información (SI) como un todo
• Alternativas:• Reemplazar el SI por uno nuevo• Introducir soluciones comerciales• Integración de las aplicaciones existentes
![Page 5: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/5.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 5
Definición EAI• EAI: Enterprise Application Integration• Desde el punto de vista del negocio:
• Ventaja competitiva que supone la integración de las aplicaciones en un proceso de negocio
• Desde el punto de vista técnico:• Integración de aplicaciones y datos, sin modificar
demasiado los sistemas existentes, en poco tiempo, y con bajo coste
• EAI proporciona una metodología estándar para la comunicación entre aplicaciones y fuentes de datos
![Page 6: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/6.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 6
Con EAI ...
APLICACIONESEXISTENTES
NUEVAS APLICACIONES
![Page 7: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/7.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 7
Un ejemplo real de EAI• AT&T comenzó como suministrador de
servicios de telefonía• A estos servicios se sumaron televisión por cable y
otros servicios inhalámbricos• Más tarde se convirtió en suministrador de banda
ancha• Siguió creciendo absorbiendo otras compañías y
negocios• At&T necesitó integrar sus servicios on-line a sus
clientes (presentaciones de facturas, pagos y el resto de servicios)
![Page 8: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/8.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 8
Sistemas de Información de Empresas• EIS: Enterprise Information System
• Procesos de negocio +• Infraestructura para tecnologías de la información (IT)
• Un EIS proporciona la estructura de información para la empresa
• Una empresa puede crear varias EIS según sus necesidades
• Cuando una empresa opera durante mucho tiempo, puede estar usando EIS desarrollados sobre diferentes plataformas y arquitecturas
![Page 9: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/9.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 9
Vista "típica" de los EIS de una empresa
OS 390
Solaris
Oracle
SAPC++
Windows2000
Windows NTNaturalApps
SQLServer
VBApps
Pivotal
MQSeries
CICS
SQLServer
JavaAppsIIS
HTML
EDITrns
The Enterprise
EDIHL7XML
SOAP…..
RPC
MOM
FTP
CORBA
…...
COM
HTTP
Clients
Partners Partners
Suppliers
Clients
DB2
VSAM
CobolApps
Adabas
![Page 10: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/10.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 10
Arquitectura de aplicaciones existentes• Sistemas legacy: basados en tecnologías en
desuso• Sistemas monolíticos (mainframe)• Sistemas cliente/servidor (PCs)
• Década de los 70• Integración de sistemas monolíticos mediante una BD
centralizada (requiere reprogramar cada aplicación)• Década de los 80
• Arquitectura de dos capas cliente/servidor• Clientes fat y thin• Permanecen las soluciones monolíticas
![Page 11: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/11.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 11
Arquitectura de aplicaciones existentes• Sistemas legacy: basados en tecnologías en
desuso• Sistemas monolíticos (mainframe)• Sistemas cliente/servidor (PCs)
• Década de los 70• Integración de sistemas monolíticos mediante una BD
centralizada (requiere reprogramar cada aplicación)• Década de los 80
• Arquitectura de dos capas cliente/servidor• Clientes fat y thin• Permanecen las soluciones monolíticas
Interfaz Usuario
Interfaz Usuario
Lógica del negocio
Lógica del negocio
DBMS
Interfaz Usuario
Interfaz Usuario
Lógica del negocio
Lógica del negocio
DBMS
Cliente fat Cliente thin
![Page 12: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/12.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 12
Problema de análisis de datos• Década de los 90
• Solapes funcionales entre las aplicaciones• Datawarehouse
Análisis de grandes cantidades de datos de aplicaciones diferentesComparte funcionalidades entre las aplicaciones
Datos
Datos
DatosExtraer Transformar Cargar
Central de datos
warehouse
Subsistema meta-datos
E: Extract T: Transfom L: Load
![Page 13: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/13.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 13
Problema de análisis de datos• Década de los 90
• Solapes funcionales entre las aplicaciones• Datawarehouse
Análisis de grandes cantidades de datos de aplicaciones diferentesComparte funcionalidades entre las aplicaciones
• Enterprise Resource Planning (ERP)Conjunto de aplicaciones integradas que cubren todas las facetas del negocio
• Situación actual• Mezcla disparatada de sistemas existentes de los
cuales dependen los negocios de las empresas¿Cómo cambiar esta situación sin comprometer las operaciones?
![Page 14: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/14.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 14
Arquitecturas modernas (I)• Arquitecturas multi-capa
Componente: empaqueta código ejecutable• JavaBeans, Microsoft ActiveX (capa de
presentación)
• CORBA, EJB (componentes de capa de negocio)
Presentación Lógica del negocio Datos
Componente
Componente
Componente
DBMS
DBMS
DBMS
<html>
Ejemplo arquitectura 3 capas
![Page 15: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/15.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 15
Arquitecturas modernas (II)
Middleware: facilita la interoperabilidad entre componentes
• Arquitectura basada en Web• Presenta una capa separada de la presentación
denominada capa de componentes web que gestiona la lógica de la presentación de la web
• La EAI trata de integrar las aplicaciones back-office, front-office y web
ComponenteB
Middleware ComponenteA
![Page 16: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/16.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 16
Retos que plantea la EAI• Nivel de soporte tecnológico de los EIS• Restricciones administrativas y tecnológicas• Capacidad de integración de los EIS• Grado de exposición de detalles de bajo nivel• Transacciones y seguridad• Escalabilidad
![Page 17: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/17.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 17
Capas en la integración de aplicaciones• Integración de la plataforma• Integración a nivel de datos• Integración de la interfaz de la aplicación• Integración de métodos del negocio• Integración de la presentación• Integración inter-EAI o B2B
Omitir alguna capa acelera el proceso de integración a corto plazo, pero "pagaremos por ello" a largo plazo
![Page 18: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/18.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 18
Integración de la plataforma
Integración a nivel de datos
windows
linux
mainframe IBM
mainframe VAX
DatosDatos
Datos
![Page 19: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/19.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 19
Integración interfaz de la aplicación
Integración métodos del negocio
APLICACIÓN GENERAL
APLICACIÓN GESTIÓN CLIENTES
API
API
APLICACIÓN INFORMACIÓN
CUENTAS
APIgetBalance (idCliente)
getDatosCliente (idCliente)
Código nuevo
COMPONENTE DE PROCESO DE NEGOCIO
DatosDatos
Aplicación existente
Aplicación existente
Código nuevo
BalanceActualDeTeléfonoMóvil()
![Page 20: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/20.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 20
Integración de la presentación
Integración B2B
<html>
CAPA DE INTERFAZ DE
USUARIO
CAPA DE LÓGICA DE NEGOCIO
Compañía 2Frontend
Back end
Back end
Compañía 3
Frontend
Back end
Compañía 4
FrontendBack end
Compañía 1
Frontend
Back end
Back endBack end
![Page 21: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/21.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 21
Técnologías middleware para EAI
![Page 22: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/22.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 22
Técnologías middleware para EAI• Software de los servicios del sistema que se
ejecuta entre la capa del sistema operativo y la capa de aplicación
• Facilitan la comunicación entre diferentes aplicaciones software
• Introducen un nivel de abstracción en la arquitectura del sistema
• Introducen una cierta sobrecarga en el sistema con respecto a la comunicación
![Page 23: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/23.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 23
Productos middleware
• Tecnologías de acceso a BD• JDBC, JDO, ODBC, ADO
• Middleware orientado a mensajes (MOM)• Llamadas a procedimientos remotos (RPC)• Monitores de procesamiento de transacciones (TP)• Intermediarios de peticiones de objetos (ORB)• Servidores de aplicaciones
![Page 24: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/24.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 24
MOM : Message Oriented Middleware
Aplicación
API
Aplicación
API
MOM
Cola de mensajes
TransporteRed
TransporteRed
RED
Comunicación asíncrona
Estructura cliente/servidor
Situación de sobrecarga
Soluciones propietarias
![Page 25: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/25.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 25
RPC: Remote Procedure Call
Aplicación Aplicación
RPC
TransporteRed
TransporteRed
RED
proxy proxy
Comunicación síncrona
Estructura cliente/servidor
![Page 26: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/26.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 26
TP: Transaction Processing monitors
Aplicacióncliente
Aplicaciónback-end
TP
Aplicaciónback-end
Aplicaciónback-end
Gestión de transacciones
Gestión de seguridad
Gestión de rendimiento
Aplicacióncliente
Representan la 1ª generación de servidores de aplicaciones
![Page 27: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/27.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 27
ORB: Object Request Broker
ORB
TransporteRed
TransporteRed
RED
Stub/Skeleton
Componente Componente
Stub/Skeleton
Comunicación síncrona
Transparencia en la localización, lenguaje y S. O.
![Page 28: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/28.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 28
Servidores de aplicaciones• Gestionan las interacciones entre la capas cliente
y datos• Gestionan el entorno en el que se despliegan los
componentes lógicos del negocio (contenedor)• Proporcionan servicios MOM, ORB,
transacciones, seguridad, balanceo de carga y gestión de recursos
• Aspectos a tener en cuenta:• Aspectos técnicos, carácter abierto, interoperabilidad,
coste, madurez
![Page 29: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/29.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 29
Servicios de infraestructura necesarios para la integración
Lógica del negocio
Brokering y Routing
Comunicación
Transacciones
Seguridad
Ciclo de vida
Nom
brado
Escalabilidad
Gestión
Reglas
Los servicios de infraestructura pueden ser realizados por diferentes tecnologías middleware.
Cuestión clave: INTEROPERABILIDAD
![Page 30: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/30.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 30
Interoperabilidad • Cuestiones:
• ¿Es posible conseguir la interoperabilidad?• ¿Cuánto esfuerzo tenemos que invertir para ello?
• Plataforma software: • Combinación de tecnologías software necesarias
para ejecutar aplicaciones• Plataformas actuales
• J2EE• CORBA• Microsoft.NET
plataformas abiertas
plataforma propietaria
![Page 31: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/31.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 31
Integration broker
• Todos los productos EAI proporcionan un integration broker• Es una abstracción utilizada para las tecnologías
que componen la infraestructura de integración• Proporciona los servicios horizontales y verticales y
centraliza la gestión de dichos servicios• El integration broker se usa en todos los
niveles de integración• Evita los problemas de la integración punto a
punto• Reduce la integración de n-a-n a 1-a-n
![Page 32: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/32.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 32
Integration broker
• Todos los productos EAI proporcionan un integration broker• Es una abstracción utilizada para las tecnologías
que componen la infraestructura de integración• Proporciona los servicios horizontales y verticales y
centraliza la gestión de dichos servicios• El integration broker se usa en todos los
niveles de integración• Evita los problemas de la integración punto a
punto• Reduce la integración de n-a-n a 1-a-n
multiplicidad n-a-n multiplicidad 1-a-n
![Page 33: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/33.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 33
Interfaces de interoperabilidad• Definen qué servicios pueden pedir las
aplicaciones clientes a las aplicaciones servidor (contratos entre las aplicaciones)
Integration broker
Interfaces de interoperabilidad
Interfaces de interoperabilidad
Interfaces de interoperabilidad
...
Aplicación 1 Aplicación n-1
Aplicación N
Si las interfaces permanecen inalterables,
podemos reemplazar partes o toda la
aplicación servidor sin influenciar para nada al
cliente
![Page 34: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/34.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 34
Escenarios de integración• Cliente-Servidor de dos capas• Adaptadores síncronos• Adaptadores asíncronos• Intermediario de mensajes• Servidor de aplicacíones
![Page 35: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/35.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 35
Integración mediante cliente-servidor
Aplicación Cliente EIS
Adaptador de
recursos
Interfaz aplicación-adaptador
Interfaz adaptador-EIS
Aplicación Java EISAdaptador
InterfazNativa Java
Interfaz adaptador-EIS
C/C++ API
El cliente accede a los datos y funciones del EIS mediante el Adaptador
Un adaptador puede desarrollarse en forma de librería
![Page 36: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/36.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 36
Integración con adaptadores (I)• Adaptadores síncronos
• La aplicación que realiza la llamada al API del adaptador espera hasta que la función requerida se haya completado y obtenga la respuesta
• Adaptadores asíncronos• Permiten que una aplicación realice una llamada a
una función remota y a continuación continúe con su propio procesamiento
![Page 37: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/37.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 37
Integración con adaptadores (II)
Escenario Colaborativo del uso de adaptadores
Escenario atómico
SAPAdapter
SAP
SiebelAdapter
Siebel
API
APIClient
Add neworder
Checkcustomer
![Page 38: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/38.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 38
Integración con intermediarios de mensajes (I)
Aplicación Java EIS
<emisor/receptor> <emisor/receptor>
Cola
Sistema de mensajesbasado en colas
Aplicación Java
EIS
Tópico
<publicador-suscriptor>
Sistema de mensajespublicar-suscribir
EIS
<publicador-suscriptor>
<publicador-suscriptor>
Un intermediario de mensajes puede proporcionar mensajes basados en colas o publicar-suscribir
![Page 39: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/39.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 39
Integración con intermediarios de mensajes (II)
Aplicación Java
Sistema de mensajes
<Cliente JMS>
Suministrador JMS
API JMS
Aplicación Java
EIS A
Intermediario de mensajes
Adaptador cliente
Aplicación legacy
Base de Datos
Adaptador cliente
Suministrador JMS
Adaptador cliente
Uso de un suministrador JMS
Uso de un intermediario de mensajes
![Page 40: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/40.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 40
Integración con servidor de aplicaciones
Clientes Web
Aplicación cliente
Clientes Web
Aplicación cliente
Componente Web
Suministrador JMS
EnterpriseBean
Message-driven Bean
EIS A
EIS B
Componente Web
Suministrador JMS
EnterpriseBean
Message-driven Bean
EIS C
EIS D
Adaptador de recursos
Adaptador de recursos
Adaptador de recursos
Servidor de aplicaciones J2EE
Servidor de aplicaciones J2EE
![Page 41: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/41.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 41
Técnicas de integración• Aproximación descendente (top-down)
• Estrategia de integración definida• Define en primer lugar la arquitectura del sistema
integrado• Aproximación ascendente (bottom-up)
• Se centra en problemas individuales• Soluciones rápidas que pueden ocultar problemas
![Page 42: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/42.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 42
Arquitectura de integración• Especifica la estructura en su totalidad, los
componentes lógicos y las relaciones lógicas entre las aplicaciones a integrar
• Objetivos esenciales de la integración:• Entradas de datos únicas• Acceso a datos con latencia cero
• SI basado en componentes virtuales:• Es un sistema que "parece" un sistema desarrollado
nuevamenteUn SI basado en componentes es el objetivo
último de la EAI
![Page 43: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/43.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 43
Componentes virtuales• Son bloques de construcción que encapsulan
los detalles de las aplicaciones existentes• Muestran la aplicación existente a través de
unos interfaces• La interoperabilidad a través de componentes
virtuales se consigue mediante un integrationbroker
• En cada nivel de integración se construyen componentes de integración más abstractos y complejos
![Page 44: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/44.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 44
Arquitectura de integración multi-capa• Integración multi-capa basada en componentes
Presentación Lógica del negocio Persistencia de Datos
DBMS
<html>
<html>
Componente virtualcódigo
nuevo
Componente virtual
Componente nuevo
Aplicación existente
Aplicación existente
INTEGRATIONBROKER
INTEGRATIONBROKER
INTEGRATIONBROKER
INTEGRATIONBROKER
![Page 45: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/45.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 45
Wrappers• Si las aplicaciones existentes no proporcionan ningún
tipo de interfaces, necesitaremos desarrollarlas o comprarlas
• Wrapper: interfaz de aplicación que vamos a añadir• El desarrollo de wrappers implica modificar código• Si no se dispone del código se puede utilizar Screen
scraping para acceder a la funcionalidadAplicación existente wrapped
Código de
conexiónInterfaz
Integrationbroker
interfaces añadidas
Componente virtual
Capa de persistencia de datos Capa de lógica del negocio
Aplicación existente sin APIs
wrapper
![Page 46: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/46.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 46
Integración a nivel de datos• No requiere cambios en las aplicaciones
Identificar los datos
Identificar los tipos de bases de datos
Definir el modelo de
datos
Implementar la integración
de datos
implementación física
representación de alto nivel de los datos
utilizamos integration brokers
familiarización con los datos
![Page 47: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/47.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 47
Integración a nivel de interfaz de aplicación• Se consigue mediante APIs (utiliza wrappers)
Análisis de las funcionalidades disponibles a
través de interfaces
Adición de interfaces mediante wrappers
Análisis de tecnologías utilizadas
Ocultar diferencias
de tecnologíaInterfaces satisfacen
requerimientos
Interfaces no existen o no satisfacen requerimientos
![Page 48: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/48.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 48
Integración a nivel de lógica del negocio• Se desarrollan componentes virtuales (en
varios niveles) que proporcionen las interfaces con los métodos de la lógica del negocio
Definición de interfaces de negocio de alto
nivel
Correspondencia entre operaciones
de negocio
Implementar componentes virtuales
de alto nivel
diseño global del sistema
correspondencia operaciones negocio
con componentes virtuales
utilizan componentes virtuales de bajo nivel
![Page 49: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/49.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 49
Integración a nivel de presentación• Se define una interfaz de usuario común
Selección de interfaces de
usuario a rehacer
Análisis y diseño de las
nuevas interfaces
Correspondencia con la capa de
lógica del negocio
Implementar la capa de
presentación
aspecto de aplicación nueva
correpondencia entre operaciones de
interfaz y métodos de la lógica del negocio
clientes thin, web, móviles, etc.
¿qué interfaces se necesitan?
![Page 50: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/50.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 50
Arquitectura de integración
Capa de interfaz de
usuario
<html>
<html>
Componente virtual de alto nivel
Componente virtual de alto nivel
Componente virtual de alto nivel
Componente virtual de alto nivel
Componente virtual de bajo nivel
Componente virtual de bajo nivel
Componente virtual nuevo con funcionalidad no existente
Componente virtual de bajo nivel
Aplicación existente
Aplicación existente
Aplicación existente
APIsexistentes
BD
Wrapper
APIsexistentes
BD
Sub-capa de lógica del negocio
Sub-capa de lógica del negocio
Capa de persistencia
de datos
![Page 51: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/51.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 51
Arquitectura de integración J2EE
JCA
Capa de interfaz de usuario
Sistema ERP
Otro sistema existente
Monitor de transacciones
DBMS
Capa de componentes web
Capa de lógica del negocio
Capa EIS
EJB
Contenedor EJB
JSP
Contenedor componentes
web
Servlet
Contenedor aplicaciones
cliente
Aplicaciones cliente
HTTP IIOP JMS JDBC
Contenedor applets
Applets
Otro cliente basado en
HTTP/HTTPS
Otro cliente basado en JMS
Otra tecnología basada en HTTP/HTTPS
objeto CORBA
objeto RMI-IIOP
componente JMS
Otro cliente basado en IIOP
HTTPS Propietario
![Page 52: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/52.jpg)
Especialista Universitario Java Enterprise
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 52
Arquitectura de integración B2B
Capa cliente
Sistema ERP
Otro sistema existente
Monitor TP
DBMS
Capa de componentes web
Capa de integración B2B
Capa EIS
Contenedor componentes
web
JSP
ServletClientes Servlet
B2B
Contenedor componentes
web EJB
JSP B2B
Capa de lógica del negocio
EJB
Contenedor EJB
![Page 53: Integración de aplicaciones con SOA](https://reader031.vdocuments.site/reader031/viewer/2022012513/618cc6a907ff4d44420fd12d/html5/thumbnails/53.jpg)
SOA © 2008-2009 Depto. Ciencia de la Computación e IA Integración de aplicaciones 53
Especialista Universitario Java Enterprise
¿Preguntas...?