SlideShare a Scribd company logo
1 of 24
Download to read offline
Introducción
al middleware
Introducción
Temario
Introducción
Web Services
Middleware basado en Mensajes
Portales y mashups
Enterprise Service Bus (ESB)
Introducción
¿Qué es el middleware?
o Es el “pegamento” (glue) que ayuda a la conexión entre
programas (o bases de datos).
o Más formalmente:
Es el soft-sistema que permite las interacciones a nivel de
aplicación entre programas en un ambiente distribuido.
Por soft-sistema (system software) se entiende el software
posicionado entre una aplicación y un sistema de menor nivel
(S.Op, DBMS, Servicio Red).
Un ambiente computacional se dice distribuido cuando sus
programas o BDs están ubicados en dos o más computadores.
Introducción
¿ Para qué usar middleware ?
o Dadas dos aplicaciones que se quieren conectar, se usa
para resolver la comunicación entre los procesos.
Si las aplicaciones se conectan directamente a soft de red,
entonces no se necesita middleware.
Si no hay middleware se complica el desarrollo de aplicaciones:
Se debe programar módulos de bajo nivel.
Este desarrollo se repite para cada aplicación a conectar.
o El soft de middleware permite realizar esta conexión a
través de interfases de alto nivel, que permiten, por ej.,
ver un procedimiento remoto como si fuera local.
INCO - Facultad de Ingeniería – Montevideo, Uruguay
Introducción
Escenarios de uso:
o Cliente/Servidor en la misma máquina.
Se usa en sistemas de un computador, por ej. pequeñas oficinas,
en casa, o en portables.
o C/S a pequeña escala.
Aplicación clásica en una LAN con un único servidor.
Es la forma predominante de C/S.
o C/S a gran escala.
Esquema multiservidor, que dan imagen de un único sistema.
o C/S altamente distribuido.
Cada máquina es cliente y servidor, y negocia con las otras
máquinas mediante agentes.
Programa
Sistema
de Red
Programa
Sistema
de Red
Introducción
Esquema de conexión sin middleware.
o Los programas deben resolver la conexión usando
medios de bajo nivel, cercanos al Sistema de Red.
Programa
Sistema
de Red
Middleware
Programa
Sistema
de Red
Middleware
Introducción
Esquema de conexión con middleware.
o La capa de Middleware permite programar la comunicación
mediante herramientas de alto nivel.
o Por ejemplo: procedimientos, mensajes, acceso a objetos.
Introducción: Arquitectura (1)
Aplicación en Arquitectura +3 niveles.
Servidor WEB
Cliente Cliente Cliente Cliente Cliente
Servidor
Aplicaciones
Servidor
DBMS
Servidor
DBMS
Servidor
Aplicaciones
Servidor
Aplicaciones
Servidor
Aplicaciones
Conexión
a DBMS
¿?
TPM¿?
TPM¿?
Conexión
a DBMS
RMI
Introducción: Tipos Middl. (1)
Comunican 2 sistemas:
o Drivers a DBMSs.
Acceso a DBMS desde un programa u otro DBMS.
o Remote Procedure Call (RPC, RMI, Remoting).
Invocación a procedimientos remotos como si fueran locales al programa.
o Web Services.
Invocación a procedimientos a través de HTTP.
Comunican múltiples sistemas:
o Message Oriented Middleware (MOM).
Envío de mensajes entre aplicaciones.
o Object Request Brokers (ORB).
Invocación a procedimientos y propiedades de objetos.
Introducción: Tipos Middl. (2)
Comunican múltiples sistemas:
o Intregration brokers:
Comunican “n” aplicaciones en base a mensajes.
El “Integration broker” centraliza las comunicaciones:
Recibe mensajes de las aplicaciones.
Aplica reglas para determinar a qué aplicaciones deben enviarse.
o Enterprise Service Bus:
Implementa mecanismos de comunicación:
Basado en invocaciones (de tipo RMI, Remoting, WS).
Basado en mensajes.
Son la evolución de los ORBs e Integration Brokers.
Introducción: Arquitectura (2)
Aplicación en Arquitectura +3 niveles.
Servidor WEB
Cliente Cliente Cliente Cliente Cliente
Servidor
Aplicaciones
Servidor
DBMS
Servidor
DBMS
Servidor
Aplicaciones
Servidor
Aplicaciones
Servidor
Aplicaciones
Conexión
a DBMS
MOM
TPMTPM
TPMESB
Conexión
a DBMS
RPC
Introducción: Tipos Middl. (3)
Portal servers.
o Integrar aplicaciones (modularizadas) que se ejecutan en
Portales.
Java: Servidores JSR 168 y JSR 286: portlets.
Microsoft: Sharepoint: webparts.
o Son integrables a través del protocolo WSRP:
Web Service for Remote Portal.
Mashup servers.
o Integran aplicaciones heterogeneas.
o Por ejemplo: Mapas, portlets/webparts, email, etc.
Introd.: características (1)
Los middleware se caracterizan por implementar la
interacción entre las aplicaciones de diferentes
formas:
o Interacción sincrónica:
Cuando una aplicación es “invocada” por otra, se ejecuta
inmediatamente.
o Interacción (sincrónica) bloqueante:
Cuando una aplicación invoca a otra, la primera queda esperando
la respuesta de la segunda.
o Interacción (sincrónica) no-bloqueante:
¿ como sería ?
Introd.: características (2)
o Interacción asíncrona:
Una aplicación invoca otra pero no espera su ejecución
inmediata.
Se implementa en base a mensajes.
o Asegurando consistencia en los datos:
Transaccionalidad (2PC).
Consistencia en ambiente debilmente acoplado.
Mensajes persistentes.
Evolución Middleware
Semantic Management of Middleware. Ramesh Jain. Amit Sheth. Springer 2006.
Programa
Sistema
de Red
Comm
Middleware
Programa
Sistema
de Red
Comm
Middleware
SQL o APIPhysical
Link
Network
Transport
Session
Presentation
Application
Basic Middleware
Características:
o Resuelven la comunicación entre 2 programas.
o Cubre de las capas 5 a la 7 del stack OSI.
Ejemplos:
o RPC, MOM, Data Middleware.
RPC: Remote Procedure Call
Esconde la red, invocando procedimientos.
o Cliente invoca a una función del servidor remoto y se bloquea
hasta tener el resultado.
o Se pasan parámetros de la forma normal.
Componentes:
o Aplicaciones: cliente y servidor se programan como locales.
o Stub: Empaqueta, convierte...
Lenguaje IDL (Interface Definition Language).
Compilador IDL genera Stubs (C y S), que se linkeditan al prog.
o Runtime:
En cliente invoca el RPC y se bloquea.
En servidor, recibe invocaciones (prioridades, seguridad... )
INCO - Facultad de Ingeniería – Montevideo, Uruguay
RPC
aplicación
stub
runtime
1
2
10
9
aplicación
stub
runtime
6
7
5
4
8
3
cliente servidor
Ejecuta aplicación,
llama a función.
Sigue la ejecución.
Empaqueta, convierte.
Llama al runtime.
Desempaqueta,
convierte.
Invoca RPC.
Se bloquea.
Recibe resultado.
Ejecuta función.
Envía resultado.
Desempaqueta,
convierte.
Empaqueta, convierte.
Recibe RPC.
Levanta servicio.
Envía resultado.
RPC
Consideraciones:
o Conversión de datos:
XDR: External Data Representation (canónica).
NDR: Network Data Representation (en C o en S).
o Seguridad: autenticación, encriptación, …
o Tolerancia a fallos:
reintentos, semántica de sólo una vez.
o Servicio de directorio:
Cliente puede invocar a un servidor conocido (hard-coded) o
preguntar quien corre el servicio (binding).
o Runtime en servidor:
Según el servidor, se podría priorizar llamados, controlar seguridad, manejar
threads, controlar acceso a recursos compartidos.
Asynchronous Middleware
Permiten activar un proceso sin que el
“invocador” quede bloqueado
o Facilita la integración de aplicaciones en contextos
de acoplamiento débil.
Basado en envio de mensajes.
o Por eso se les conoce como Message Oriented
Middleware (MOM).
MOM: Message Oriented Middleware
Comunicación usando colas de mensajes:
o Aplicaciones sólo ponen y sacan mensajes de colas.
o No se conectan. C y S pueden correr en diferentes tiempos.
o No necesariamente se requiere respuesta.
Consideraciones:
o Se pueden implementar esquemas 1-N o N-1
Muchos clientes, varias instancias del servidor.
o Colas pueden estar en disco o en memoria.
o Pueden ser FIFO, por prioridades, balance de carga...
cola1
cola2
RPC vs. MOM
RPC:
o Síncrono: Se requiere una conexión. Cliente se bloquea.
o Respuesta inmediata. Se asegura tiempo de respuesta.
o Ideal para aplicaciones que sincronizar acciones.
o Ejemplo: Aplicaciones interactivas, transacciones.
MOM:
o Asíncrono: Clente y servidor operan en diferentes tiempos.
o Respuesta (eventualmente) lenta. No se asegura totalmente un
tiempo de respuesta.
o Ideal para informar, para aplicaciones poco conectadas.
Data Middleware
Características:
o Conectan programas con DBMS o DBMSs entre si a través de un
API, con uso opcional de lenguaje de consulta.
o Fuertemente asociados a tecnologías de DBMS.
o Incluyen un componente cliente y otro servidor.
Ejemplos:
o ODBC, OLEDB, JDBC
Programa
Sistema
de Red
Middleware
DBMS (cli)
DBMS
Sistema
de Red
Middleware
DBMS (srv)
SQL o API
INCO - Facultad de Ingeniería – Montevideo, Uruguay
SQL Middleware
Objetivo ideal:
o Diferentes DBMS, que dan la ilusión de ser un único sistema: sistema
federado.
o Diferentes clientes accediendo al sistema federado.
Problema:
o SQL no es tan estandar: SQL (‘86), SQL2 (‘92), SQL3 (‘99).
Cada vendedor tiene sus propias extensiones (dialectos).
o Diferencias en:
APIs (Application Programming Interface).
Driver: Runtime que acepta llamadas, formatea mensajes (FAP:
Format and Protocols) y maneja el intercambio.
Stacks. Sólo algunos usan transp standard: sockets, named pipes
JDBC
Driver Driver
JDBC
Driver Manager
Driver Driver
JDBC
Driver Manager
2 niveles 3 niveles
Platform
Middleware
Platform Middleware
Características:
o Permiten la comunicación entre programas a través de
mecanismos de mayor nivel que los otros Basic Middleware.
o Combinan técnicas de los Basic Middleware.
Sistema
de Red
Programa
Sistema
de Red
Platform
Middleware
Programa
Programa
Platform Middleware
Además proveen funciones tales como:
o Gestión de memoria y procesos del S. Op.
o Carga de programas, inicio y fin, pasaje de mensajes.
o A veces balance de carga y gestión de transacciones.
Ejemplos:
o Application Servers y ORBs (CORBA, JEE, .NET.)
o TPM (Tuxedo, CICS, Encina )
o Integration Brokers (IBM MQSeries, MS Biztalk).
o Enterprise Service Bus.
ORBs: Object Request Broker
Permiten:
o Programar ensamblando componentes (building blocks).
Empaquetados como piezas de código indep y
autocontenidas.
No está asociado a un programa, lenguaje o implementación.
Accedidos por invocaciones a métodos.
Interfase bien definida (IDL: Interface Definition Language).
o Portabilidad e Interoperabilidad:
Transparentes al lenguaje, compilador, ubicación, s.
operativo.
Se importan dentro de paletas o toolbars.
Puede ser invocado a través de espacios de direcciones,
redes, lenguajes, sist operativos y herramientas.
ORB: Object Request Broker
Es un bus de comunicación entre objetos:
o Permite hacer/recibir requerimientos en forma transparente:
Objetos locales o remotos.
o Funcionamiento:
Objeto cliente invoca un método en un objeto remoto.
ORB:
Localiza una instancia del objeto servidor.
Invoca el método.
Retorna el resultado al cliente.
Applic Applic Applic
ORB
ORB: Object Request Broker
Funcionalidades:
o Control de transacciones y bloqueo:
Integridad “todo o nada”.
Locks para serializar acceso a recursos.
o Persistencia.
o Relacionamiento:
Relaciones dinámicas o permanentes con otros componentes.
o Auto-testeo:
Correr programas de diagnóstico para determinar problemas.
o Auto-instalación:
Instalarse y registrarse con S.O y/o registry.
Des-instalarse.
INCO - Facultad de Ingeniería – Montevideo, Uruguay
Procesamiento de
Transacciones
Flat transactions: todo o nada
o Problemas con:
Validaciones / anulaciones parciales:
Interacción con humanos:
Presentación de opciones en pantalla, usuario debe elegir.
¿Cuánto tiempo quedan los locks?
Transacciones grandes:
Se debe poder guardar contexto, para luego retomar.
Operaciones masivas:
Actualizaciones de millones de registros. ¿Y si falla?
Operaciones en grandes redes o internet:
No sirve tenerlas sincronizadas en el commit.
Monitores Transaccionales
Objetivo:
o Es un sistema especializado en la creación, ejecución y
manejo de aplicaciones de procesamiento de transacciones.
Características:
o Sistemas transaccionales tienen:
Muchas transacciones pequeñas.
Muchos usuarios concurrentes.
o Coordinan las transacciones con:
Subsistemas ACID locales.
Manejadores de recursos.
DBMS, manejadores de colas, objetos persistentes, transporte de
mensajes.
aplicación
TPM
DBMS
aplicación aplicación
DBMS
Monitores Transaccionales
OTM: Object Transaction Monitors
o Combinan ORBs con monitores de transacciones.
Maneja contenedores que corren los componentes que
brindan los servicios.
o Maneja objetos logrando: transaccionalidad,
robustez, persistencia, seguridad, performance.
o Carga un conjunto de objetos (pool), distribuye la
carga, provee tolerancia a fallos, y coordina
transacciones multi-componentes.
Monitores Transaccionales
TPM OTM
Servidores de Aplicaciones
Contexto:
o Arquitecturas en múltiples capas:
Cliente: interface usuario.
Servidor Web:
Acceso HTTP, interface usuario.
Servidor de Aplicaciones:
Lógica del negocio.
Lógica de los datos.
Gestión de Transacciones.
Acceso a la BD.
Balance de carga en configuraciones paralelas.
Servidor de Base de Datos: almacenamiento.
Servidores de Aplicaciones
Cubren:
o Nivel Servidor de Aplicaciones.
o Casi seguro: Gestión de Transacciones.
o Web Server.
Grandes familias:
o JEE: Propuesta de Java.
o COM/DCOM/COM+ .NET: Propuestas de MS
Gateways
Características:
o Realizan la traducción entre 2 o más protocolos.
o Existen gateways para:
DBMS, MOM.
Platform Midd: Corba COM, .NET JEE.
Middleware A
Sistema
de Red
Programa
Sistema
de Red
Middleware A
Programa
Middleware B
Gateway
Prot. B Sistema
de Red
Mid A Mid B
Gateway
Prot. B
Platform Middleware
Middleware que permite integrar aplicaciones a escala
empresarial.
Provee al menos:
o Capacidad para integrar aplicaciones:
Syncrónica y asincrónicamente
En equipos distribuidos.
o Control de transacciones.
Incluye:
o Application Servers.
o Integration Brokers.
o Enterprise Service Bus.
Integration Broker
Características:
o Son intermediarios que facilitan la interacción entre
programas.
Principalmente orientados a mensajes.
o Proveen dos funciones de interés:
Transformation:
Transforma mensajes o contenidos de archivos.
Transforma modelos de datos de diferentes aplicaciones a un modelo
común.
Flow automation (or flow control):
Son tratamientos inteligentes de flujos, por ejemplo: ruteo inteligente
y/o basado en contenidos.
Integration Broker
Características:
o También pueden ofrecer:
Business process management (p.ej, workflow)
Interpretan reglas de negocio y responden a eventos de negocio
y excepciones. Ayudan a automatizar tareas.
Message warehousing.
Administrative monitoring.
o Algunos requieren un MOM en especial (ej. IBM
MQSeries),otros tienen interfases a una gran
variedad de productos.
Integration Brokers
Arquitec. “Hub & Spoke”:
o Altamente centralizada.
Centrada en el HUB (message
broker) es una pieza monolítica
de software.
Realiza las operaciones de
transformación y ruteo de
mensejes.
Estas funcionalidades no puede
ser conectadas a otro HUB.
Estos servicios son propietarios.
o Los Spokes son aplicaciones a
integrar.
o La excesiva centralización
complica la escalabilidad.
ESB
Arquitectura de BUS.
o Incluye procesos que ejecutan las
funcionalidades tales como ruteo,
transformaciones, transacciones, etc.
o Estos servicios son conectables a
otros ESB.
o Varios ESB pueden conectarse y
hacer visibles los servicios
publicados: favorece la escalabilidad.
o Están basados en estándares y/o
facilitan la interoperabilidad entre
aplicaciones.
Por ejemplo: Web Services.
ESB, SOA, Applic. Server y
eventos
ESB como Bus de Servicios:
o Fuertemente asociados a la implementación de arquitecturas orientadas a
servicios.
Las aplicaciones a integrar se “publican” como ofreciendo y/o
consumiendo servicios.
ESB interactuando con Applic. Servers
o Se construyeron pensando en integrar aplicaciones ejecutándose en
Applic. Servers.
Las funcionalidades asíncronas:
o Basadas en colas de mensajes.
o Incluyen gestión de eventos para la suscripción (a mensajes
publicados en colas o canales)
ESB vs. Integration Brokers
o Los ESB resultan más abiertos y escalables.
o También más interoperables con otros productos.
o Las ventajas se deben en gran parte:
La historia y evolución de los productos.
Los ESB surgieron posteriormente a los Integration Brokers, y
corrigieron muchas de sus defectos.
Varios ESB se basan en Integration Brokers:
Biztalk Server de Microsoft.
Productos de IBM WebSphere.
Middleware para User interaction
Las aplicaciones que interactuan con el usuario
también deben integrarse:
o Con los procesos de back-end, que implementan
funcionalidades de negocio.
o Con otros aplicaciones que implementan interacción con
el usuario.
o Con servicios utilitarios:
Por ejemplo: mapas, gestión de videos, etc.
¿ Como hacer posible esta integración ?
User interaction Middleware
o Modularización de aplicaciones.
Las aplicaciones que implementan la User Interaction
deben implementarse basadas en componentes:
o Estandarización de protocolos.
Estas componentes deben poder interoperar entre si lo
más posible.
o Orientación a servicios.
La interacción entre estos componentes y los otros
externos debe seguir los mismos modelos que con los
otros middleware.
User interaction Middleware
Portales (Portal Servers).
o Son servidores de:
“portlets” en plataforma Java.
“webparts en plataforma Microsoft (Sharepoint).
o La interacción entre ellos es posible:
Dentro de la misma plataforma.
Utilizando WSRP (Web Service for Remote Portal) en
plataformas diferentes.
o Se integran con las Platform Middleware.
User Interaction Middleware
Mashup.
o Apuntan a facilitar el desarrollo de aplicaciones que
combinan multiples funcionalidades con User
Interaction.
o Por ej:
Mapas + portlets + email + chat + videos.
o Menos estandarizado que los Portal Server.
o Compatibles con los Portal Servers.
o Tratan de ser más livianos que los Portal Servers.

More Related Content

What's hot

Clase 1 introduccion redes inalámbricas
Clase 1 introduccion redes inalámbricasClase 1 introduccion redes inalámbricas
Clase 1 introduccion redes inalámbricasakiles peru
 
Elementos de transmisión de datos de una red
Elementos de transmisión de datos de una redElementos de transmisión de datos de una red
Elementos de transmisión de datos de una redJoel Omar Burgos Palacios
 
Fundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareFundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareRoger Villegas
 
Bridge o puente de red
Bridge o puente de redBridge o puente de red
Bridge o puente de redPxblo Zabala
 
Servicios básicos ofrecidos por una red
Servicios básicos ofrecidos por una redServicios básicos ofrecidos por una red
Servicios básicos ofrecidos por una redJALFO
 
Caracteristicas de un vtp
Caracteristicas de un vtpCaracteristicas de un vtp
Caracteristicas de un vtpErika Vazquez
 
Colisiones dominios de colisión y segmentación
Colisiones dominios de colisión y segmentaciónColisiones dominios de colisión y segmentación
Colisiones dominios de colisión y segmentaciónBetty Ayllon
 
Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1Javier Rubiano Quiroga
 
2.5 planificación del procesador, niveles objetivos y criterios de planificac...
2.5 planificación del procesador, niveles objetivos y criterios de planificac...2.5 planificación del procesador, niveles objetivos y criterios de planificac...
2.5 planificación del procesador, niveles objetivos y criterios de planificac...lupita zume
 
Sistemas Operativos Distribuidos.
Sistemas Operativos Distribuidos.Sistemas Operativos Distribuidos.
Sistemas Operativos Distribuidos.argentm
 
Fundamentos de Telecomunicaciones Unidad 2 medios de transmisión y caracterís...
Fundamentos de Telecomunicaciones Unidad 2 medios de transmisión y caracterís...Fundamentos de Telecomunicaciones Unidad 2 medios de transmisión y caracterís...
Fundamentos de Telecomunicaciones Unidad 2 medios de transmisión y caracterís...José Antonio Sandoval Acosta
 
Diferencias entre una PC y un Servidor
Diferencias entre una PC y un Servidor Diferencias entre una PC y un Servidor
Diferencias entre una PC y un Servidor Elizabeth Gonzalez
 
Middleware en los sistemas distribuidos
Middleware en los sistemas distribuidosMiddleware en los sistemas distribuidos
Middleware en los sistemas distribuidosJC Alca Arequi
 

What's hot (20)

Clase 1 introduccion redes inalámbricas
Clase 1 introduccion redes inalámbricasClase 1 introduccion redes inalámbricas
Clase 1 introduccion redes inalámbricas
 
Elementos de transmisión de datos de una red
Elementos de transmisión de datos de una redElementos de transmisión de datos de una red
Elementos de transmisión de datos de una red
 
Fundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareFundamentos de la arquitectura de software
Fundamentos de la arquitectura de software
 
Bridge o puente de red
Bridge o puente de redBridge o puente de red
Bridge o puente de red
 
Servicios básicos ofrecidos por una red
Servicios básicos ofrecidos por una redServicios básicos ofrecidos por una red
Servicios básicos ofrecidos por una red
 
Grupo 2 redes atm
Grupo 2   redes atmGrupo 2   redes atm
Grupo 2 redes atm
 
Modulación
ModulaciónModulación
Modulación
 
Caracteristicas de un vtp
Caracteristicas de un vtpCaracteristicas de un vtp
Caracteristicas de un vtp
 
Colisiones dominios de colisión y segmentación
Colisiones dominios de colisión y segmentaciónColisiones dominios de colisión y segmentación
Colisiones dominios de colisión y segmentación
 
1-Unidad 1. Arquitectura de Diseño
1-Unidad 1. Arquitectura de Diseño1-Unidad 1. Arquitectura de Diseño
1-Unidad 1. Arquitectura de Diseño
 
GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE (GCS)
GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE (GCS)GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE (GCS)
GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE (GCS)
 
Tecnología Orientada a Objetos
Tecnología Orientada a ObjetosTecnología Orientada a Objetos
Tecnología Orientada a Objetos
 
Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1
 
2.5 planificación del procesador, niveles objetivos y criterios de planificac...
2.5 planificación del procesador, niveles objetivos y criterios de planificac...2.5 planificación del procesador, niveles objetivos y criterios de planificac...
2.5 planificación del procesador, niveles objetivos y criterios de planificac...
 
Sistemas Operativos Distribuidos.
Sistemas Operativos Distribuidos.Sistemas Operativos Distribuidos.
Sistemas Operativos Distribuidos.
 
Herramientas de monitoreo de redes
Herramientas de monitoreo de redesHerramientas de monitoreo de redes
Herramientas de monitoreo de redes
 
Ingenieria de software - Unidad 4 seguridad
Ingenieria de software - Unidad 4 seguridadIngenieria de software - Unidad 4 seguridad
Ingenieria de software - Unidad 4 seguridad
 
Fundamentos de Telecomunicaciones Unidad 2 medios de transmisión y caracterís...
Fundamentos de Telecomunicaciones Unidad 2 medios de transmisión y caracterís...Fundamentos de Telecomunicaciones Unidad 2 medios de transmisión y caracterís...
Fundamentos de Telecomunicaciones Unidad 2 medios de transmisión y caracterís...
 
Diferencias entre una PC y un Servidor
Diferencias entre una PC y un Servidor Diferencias entre una PC y un Servidor
Diferencias entre una PC y un Servidor
 
Middleware en los sistemas distribuidos
Middleware en los sistemas distribuidosMiddleware en los sistemas distribuidos
Middleware en los sistemas distribuidos
 

Similar to Introduccion al middleware

Arquitectura de sistemas distribuidos-grupo Maria
Arquitectura de sistemas distribuidos-grupo MariaArquitectura de sistemas distribuidos-grupo Maria
Arquitectura de sistemas distribuidos-grupo Mariagequito
 
Arquitectura de sistemas distribuidos-Grupo de Maria
Arquitectura de sistemas distribuidos-Grupo de MariaArquitectura de sistemas distribuidos-Grupo de Maria
Arquitectura de sistemas distribuidos-Grupo de Mariagequito
 
Abad yacila y granda cardoza melissa
Abad yacila y granda cardoza melissaAbad yacila y granda cardoza melissa
Abad yacila y granda cardoza melissarenzoqp
 
Backend middleware frontend (2)
Backend middleware frontend (2)Backend middleware frontend (2)
Backend middleware frontend (2)VirgCSan
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Universidad de Guadalajara
 
Sesion 08 tel202 2010-1
Sesion 08   tel202 2010-1Sesion 08   tel202 2010-1
Sesion 08 tel202 2010-1kevinXD123
 
Seguridad de sistemas distribuidos
Seguridad de sistemas distribuidosSeguridad de sistemas distribuidos
Seguridad de sistemas distribuidosJavierialv
 
Términos de Programación Distribuida 6
Términos de Programación Distribuida 6Términos de Programación Distribuida 6
Términos de Programación Distribuida 6RJ Manayay Chavez
 
SERVIDORES – GNU LINUX
SERVIDORES – GNU LINUXSERVIDORES – GNU LINUX
SERVIDORES – GNU LINUXBenjaminAnilema
 
Sistemas distribuidos 2
Sistemas distribuidos 2Sistemas distribuidos 2
Sistemas distribuidos 2Tensor
 

Similar to Introduccion al middleware (20)

Rpc te
Rpc teRpc te
Rpc te
 
Clase002
Clase002Clase002
Clase002
 
Arquitectura de sistemas distribuidos-grupo Maria
Arquitectura de sistemas distribuidos-grupo MariaArquitectura de sistemas distribuidos-grupo Maria
Arquitectura de sistemas distribuidos-grupo Maria
 
Arquitectura de sistemas distribuidos-Grupo de Maria
Arquitectura de sistemas distribuidos-Grupo de MariaArquitectura de sistemas distribuidos-Grupo de Maria
Arquitectura de sistemas distribuidos-Grupo de Maria
 
07 middleware
07 middleware07 middleware
07 middleware
 
07 middleware
07 middleware07 middleware
07 middleware
 
sistemas distribuidos
sistemas distribuidossistemas distribuidos
sistemas distribuidos
 
SEMANA 6.pptx
SEMANA 6.pptxSEMANA 6.pptx
SEMANA 6.pptx
 
Abad yacila y granda cardoza melissa
Abad yacila y granda cardoza melissaAbad yacila y granda cardoza melissa
Abad yacila y granda cardoza melissa
 
Backend middleware frontend (2)
Backend middleware frontend (2)Backend middleware frontend (2)
Backend middleware frontend (2)
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
 
Sesion 08 tel202 2010-1
Sesion 08   tel202 2010-1Sesion 08   tel202 2010-1
Sesion 08 tel202 2010-1
 
Seguridad de sistemas distribuidos
Seguridad de sistemas distribuidosSeguridad de sistemas distribuidos
Seguridad de sistemas distribuidos
 
Diccionario 2
Diccionario 2Diccionario 2
Diccionario 2
 
Sistemas Distribuidos
Sistemas DistribuidosSistemas Distribuidos
Sistemas Distribuidos
 
Términos de Programación Distribuida 6
Términos de Programación Distribuida 6Términos de Programación Distribuida 6
Términos de Programación Distribuida 6
 
Modelos de sistema
Modelos de sistemaModelos de sistema
Modelos de sistema
 
SERVIDORES – GNU LINUX
SERVIDORES – GNU LINUXSERVIDORES – GNU LINUX
SERVIDORES – GNU LINUX
 
Respuestas
RespuestasRespuestas
Respuestas
 
Sistemas distribuidos 2
Sistemas distribuidos 2Sistemas distribuidos 2
Sistemas distribuidos 2
 

More from Tensor

Libertad
LibertadLibertad
LibertadTensor
 
Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)Tensor
 
Metodo de la bisección
Metodo de la bisecciónMetodo de la bisección
Metodo de la bisecciónTensor
 
Transito vehicular
Transito vehicularTransito vehicular
Transito vehicularTensor
 
Teoria de colas
Teoria de colasTeoria de colas
Teoria de colasTensor
 
Practica 7 2016
Practica 7 2016Practica 7 2016
Practica 7 2016Tensor
 
Practica 6 2016
Practica 6 2016Practica 6 2016
Practica 6 2016Tensor
 
Game maker
Game makerGame maker
Game makerTensor
 
Practica 5 2016
Practica 5 2016Practica 5 2016
Practica 5 2016Tensor
 
Procesamiento de archivos
Procesamiento de archivosProcesamiento de archivos
Procesamiento de archivosTensor
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadenaTensor
 
Simulación en promodel clase 04
Simulación en promodel clase 04Simulación en promodel clase 04
Simulación en promodel clase 04Tensor
 
Reduccion de orden
Reduccion de ordenReduccion de orden
Reduccion de ordenTensor
 
Variación+de+parametros
Variación+de+parametrosVariación+de+parametros
Variación+de+parametrosTensor
 
Coeficientes indeterminados enfoque de superposición
Coeficientes indeterminados   enfoque de superposiciónCoeficientes indeterminados   enfoque de superposición
Coeficientes indeterminados enfoque de superposiciónTensor
 
Bernoulli y ricatti
Bernoulli y ricattiBernoulli y ricatti
Bernoulli y ricattiTensor
 
Practica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioPractica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioTensor
 
Clase 14 ondas reflejadas
Clase 14 ondas reflejadasClase 14 ondas reflejadas
Clase 14 ondas reflejadasTensor
 
Ondas em
Ondas emOndas em
Ondas emTensor
 
Clase 7 ondas electromagneticas
Clase 7 ondas electromagneticasClase 7 ondas electromagneticas
Clase 7 ondas electromagneticasTensor
 

More from Tensor (20)

Libertad
LibertadLibertad
Libertad
 
Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)Método de la regla falsa (o metodo de la falsa posición)
Método de la regla falsa (o metodo de la falsa posición)
 
Metodo de la bisección
Metodo de la bisecciónMetodo de la bisección
Metodo de la bisección
 
Transito vehicular
Transito vehicularTransito vehicular
Transito vehicular
 
Teoria de colas
Teoria de colasTeoria de colas
Teoria de colas
 
Practica 7 2016
Practica 7 2016Practica 7 2016
Practica 7 2016
 
Practica 6 2016
Practica 6 2016Practica 6 2016
Practica 6 2016
 
Game maker
Game makerGame maker
Game maker
 
Practica 5 2016
Practica 5 2016Practica 5 2016
Practica 5 2016
 
Procesamiento de archivos
Procesamiento de archivosProcesamiento de archivos
Procesamiento de archivos
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
 
Simulación en promodel clase 04
Simulación en promodel clase 04Simulación en promodel clase 04
Simulación en promodel clase 04
 
Reduccion de orden
Reduccion de ordenReduccion de orden
Reduccion de orden
 
Variación+de+parametros
Variación+de+parametrosVariación+de+parametros
Variación+de+parametros
 
Coeficientes indeterminados enfoque de superposición
Coeficientes indeterminados   enfoque de superposiciónCoeficientes indeterminados   enfoque de superposición
Coeficientes indeterminados enfoque de superposición
 
Bernoulli y ricatti
Bernoulli y ricattiBernoulli y ricatti
Bernoulli y ricatti
 
Practica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicioPractica no. 3 tiempo de servicio
Practica no. 3 tiempo de servicio
 
Clase 14 ondas reflejadas
Clase 14 ondas reflejadasClase 14 ondas reflejadas
Clase 14 ondas reflejadas
 
Ondas em
Ondas emOndas em
Ondas em
 
Clase 7 ondas electromagneticas
Clase 7 ondas electromagneticasClase 7 ondas electromagneticas
Clase 7 ondas electromagneticas
 

Recently uploaded

Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 

Recently uploaded (20)

Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 

Introduccion al middleware

  • 1. Introducción al middleware Introducción Temario Introducción Web Services Middleware basado en Mensajes Portales y mashups Enterprise Service Bus (ESB)
  • 2. Introducción ¿Qué es el middleware? o Es el “pegamento” (glue) que ayuda a la conexión entre programas (o bases de datos). o Más formalmente: Es el soft-sistema que permite las interacciones a nivel de aplicación entre programas en un ambiente distribuido. Por soft-sistema (system software) se entiende el software posicionado entre una aplicación y un sistema de menor nivel (S.Op, DBMS, Servicio Red). Un ambiente computacional se dice distribuido cuando sus programas o BDs están ubicados en dos o más computadores. Introducción ¿ Para qué usar middleware ? o Dadas dos aplicaciones que se quieren conectar, se usa para resolver la comunicación entre los procesos. Si las aplicaciones se conectan directamente a soft de red, entonces no se necesita middleware. Si no hay middleware se complica el desarrollo de aplicaciones: Se debe programar módulos de bajo nivel. Este desarrollo se repite para cada aplicación a conectar. o El soft de middleware permite realizar esta conexión a través de interfases de alto nivel, que permiten, por ej., ver un procedimiento remoto como si fuera local.
  • 3. INCO - Facultad de Ingeniería – Montevideo, Uruguay Introducción Escenarios de uso: o Cliente/Servidor en la misma máquina. Se usa en sistemas de un computador, por ej. pequeñas oficinas, en casa, o en portables. o C/S a pequeña escala. Aplicación clásica en una LAN con un único servidor. Es la forma predominante de C/S. o C/S a gran escala. Esquema multiservidor, que dan imagen de un único sistema. o C/S altamente distribuido. Cada máquina es cliente y servidor, y negocia con las otras máquinas mediante agentes. Programa Sistema de Red Programa Sistema de Red Introducción Esquema de conexión sin middleware. o Los programas deben resolver la conexión usando medios de bajo nivel, cercanos al Sistema de Red.
  • 4. Programa Sistema de Red Middleware Programa Sistema de Red Middleware Introducción Esquema de conexión con middleware. o La capa de Middleware permite programar la comunicación mediante herramientas de alto nivel. o Por ejemplo: procedimientos, mensajes, acceso a objetos. Introducción: Arquitectura (1) Aplicación en Arquitectura +3 niveles. Servidor WEB Cliente Cliente Cliente Cliente Cliente Servidor Aplicaciones Servidor DBMS Servidor DBMS Servidor Aplicaciones Servidor Aplicaciones Servidor Aplicaciones Conexión a DBMS ¿? TPM¿? TPM¿? Conexión a DBMS RMI
  • 5. Introducción: Tipos Middl. (1) Comunican 2 sistemas: o Drivers a DBMSs. Acceso a DBMS desde un programa u otro DBMS. o Remote Procedure Call (RPC, RMI, Remoting). Invocación a procedimientos remotos como si fueran locales al programa. o Web Services. Invocación a procedimientos a través de HTTP. Comunican múltiples sistemas: o Message Oriented Middleware (MOM). Envío de mensajes entre aplicaciones. o Object Request Brokers (ORB). Invocación a procedimientos y propiedades de objetos. Introducción: Tipos Middl. (2) Comunican múltiples sistemas: o Intregration brokers: Comunican “n” aplicaciones en base a mensajes. El “Integration broker” centraliza las comunicaciones: Recibe mensajes de las aplicaciones. Aplica reglas para determinar a qué aplicaciones deben enviarse. o Enterprise Service Bus: Implementa mecanismos de comunicación: Basado en invocaciones (de tipo RMI, Remoting, WS). Basado en mensajes. Son la evolución de los ORBs e Integration Brokers.
  • 6. Introducción: Arquitectura (2) Aplicación en Arquitectura +3 niveles. Servidor WEB Cliente Cliente Cliente Cliente Cliente Servidor Aplicaciones Servidor DBMS Servidor DBMS Servidor Aplicaciones Servidor Aplicaciones Servidor Aplicaciones Conexión a DBMS MOM TPMTPM TPMESB Conexión a DBMS RPC Introducción: Tipos Middl. (3) Portal servers. o Integrar aplicaciones (modularizadas) que se ejecutan en Portales. Java: Servidores JSR 168 y JSR 286: portlets. Microsoft: Sharepoint: webparts. o Son integrables a través del protocolo WSRP: Web Service for Remote Portal. Mashup servers. o Integran aplicaciones heterogeneas. o Por ejemplo: Mapas, portlets/webparts, email, etc.
  • 7. Introd.: características (1) Los middleware se caracterizan por implementar la interacción entre las aplicaciones de diferentes formas: o Interacción sincrónica: Cuando una aplicación es “invocada” por otra, se ejecuta inmediatamente. o Interacción (sincrónica) bloqueante: Cuando una aplicación invoca a otra, la primera queda esperando la respuesta de la segunda. o Interacción (sincrónica) no-bloqueante: ¿ como sería ? Introd.: características (2) o Interacción asíncrona: Una aplicación invoca otra pero no espera su ejecución inmediata. Se implementa en base a mensajes. o Asegurando consistencia en los datos: Transaccionalidad (2PC). Consistencia en ambiente debilmente acoplado. Mensajes persistentes.
  • 8. Evolución Middleware Semantic Management of Middleware. Ramesh Jain. Amit Sheth. Springer 2006. Programa Sistema de Red Comm Middleware Programa Sistema de Red Comm Middleware SQL o APIPhysical Link Network Transport Session Presentation Application Basic Middleware Características: o Resuelven la comunicación entre 2 programas. o Cubre de las capas 5 a la 7 del stack OSI. Ejemplos: o RPC, MOM, Data Middleware.
  • 9. RPC: Remote Procedure Call Esconde la red, invocando procedimientos. o Cliente invoca a una función del servidor remoto y se bloquea hasta tener el resultado. o Se pasan parámetros de la forma normal. Componentes: o Aplicaciones: cliente y servidor se programan como locales. o Stub: Empaqueta, convierte... Lenguaje IDL (Interface Definition Language). Compilador IDL genera Stubs (C y S), que se linkeditan al prog. o Runtime: En cliente invoca el RPC y se bloquea. En servidor, recibe invocaciones (prioridades, seguridad... ) INCO - Facultad de Ingeniería – Montevideo, Uruguay RPC aplicación stub runtime 1 2 10 9 aplicación stub runtime 6 7 5 4 8 3 cliente servidor Ejecuta aplicación, llama a función. Sigue la ejecución. Empaqueta, convierte. Llama al runtime. Desempaqueta, convierte. Invoca RPC. Se bloquea. Recibe resultado. Ejecuta función. Envía resultado. Desempaqueta, convierte. Empaqueta, convierte. Recibe RPC. Levanta servicio. Envía resultado.
  • 10. RPC Consideraciones: o Conversión de datos: XDR: External Data Representation (canónica). NDR: Network Data Representation (en C o en S). o Seguridad: autenticación, encriptación, … o Tolerancia a fallos: reintentos, semántica de sólo una vez. o Servicio de directorio: Cliente puede invocar a un servidor conocido (hard-coded) o preguntar quien corre el servicio (binding). o Runtime en servidor: Según el servidor, se podría priorizar llamados, controlar seguridad, manejar threads, controlar acceso a recursos compartidos. Asynchronous Middleware Permiten activar un proceso sin que el “invocador” quede bloqueado o Facilita la integración de aplicaciones en contextos de acoplamiento débil. Basado en envio de mensajes. o Por eso se les conoce como Message Oriented Middleware (MOM).
  • 11. MOM: Message Oriented Middleware Comunicación usando colas de mensajes: o Aplicaciones sólo ponen y sacan mensajes de colas. o No se conectan. C y S pueden correr en diferentes tiempos. o No necesariamente se requiere respuesta. Consideraciones: o Se pueden implementar esquemas 1-N o N-1 Muchos clientes, varias instancias del servidor. o Colas pueden estar en disco o en memoria. o Pueden ser FIFO, por prioridades, balance de carga... cola1 cola2 RPC vs. MOM RPC: o Síncrono: Se requiere una conexión. Cliente se bloquea. o Respuesta inmediata. Se asegura tiempo de respuesta. o Ideal para aplicaciones que sincronizar acciones. o Ejemplo: Aplicaciones interactivas, transacciones. MOM: o Asíncrono: Clente y servidor operan en diferentes tiempos. o Respuesta (eventualmente) lenta. No se asegura totalmente un tiempo de respuesta. o Ideal para informar, para aplicaciones poco conectadas.
  • 12. Data Middleware Características: o Conectan programas con DBMS o DBMSs entre si a través de un API, con uso opcional de lenguaje de consulta. o Fuertemente asociados a tecnologías de DBMS. o Incluyen un componente cliente y otro servidor. Ejemplos: o ODBC, OLEDB, JDBC Programa Sistema de Red Middleware DBMS (cli) DBMS Sistema de Red Middleware DBMS (srv) SQL o API INCO - Facultad de Ingeniería – Montevideo, Uruguay SQL Middleware Objetivo ideal: o Diferentes DBMS, que dan la ilusión de ser un único sistema: sistema federado. o Diferentes clientes accediendo al sistema federado. Problema: o SQL no es tan estandar: SQL (‘86), SQL2 (‘92), SQL3 (‘99). Cada vendedor tiene sus propias extensiones (dialectos). o Diferencias en: APIs (Application Programming Interface). Driver: Runtime que acepta llamadas, formatea mensajes (FAP: Format and Protocols) y maneja el intercambio. Stacks. Sólo algunos usan transp standard: sockets, named pipes
  • 13. JDBC Driver Driver JDBC Driver Manager Driver Driver JDBC Driver Manager 2 niveles 3 niveles Platform Middleware Platform Middleware Características: o Permiten la comunicación entre programas a través de mecanismos de mayor nivel que los otros Basic Middleware. o Combinan técnicas de los Basic Middleware. Sistema de Red Programa Sistema de Red Platform Middleware Programa Programa
  • 14. Platform Middleware Además proveen funciones tales como: o Gestión de memoria y procesos del S. Op. o Carga de programas, inicio y fin, pasaje de mensajes. o A veces balance de carga y gestión de transacciones. Ejemplos: o Application Servers y ORBs (CORBA, JEE, .NET.) o TPM (Tuxedo, CICS, Encina ) o Integration Brokers (IBM MQSeries, MS Biztalk). o Enterprise Service Bus. ORBs: Object Request Broker Permiten: o Programar ensamblando componentes (building blocks). Empaquetados como piezas de código indep y autocontenidas. No está asociado a un programa, lenguaje o implementación. Accedidos por invocaciones a métodos. Interfase bien definida (IDL: Interface Definition Language). o Portabilidad e Interoperabilidad: Transparentes al lenguaje, compilador, ubicación, s. operativo. Se importan dentro de paletas o toolbars. Puede ser invocado a través de espacios de direcciones, redes, lenguajes, sist operativos y herramientas.
  • 15. ORB: Object Request Broker Es un bus de comunicación entre objetos: o Permite hacer/recibir requerimientos en forma transparente: Objetos locales o remotos. o Funcionamiento: Objeto cliente invoca un método en un objeto remoto. ORB: Localiza una instancia del objeto servidor. Invoca el método. Retorna el resultado al cliente. Applic Applic Applic ORB ORB: Object Request Broker Funcionalidades: o Control de transacciones y bloqueo: Integridad “todo o nada”. Locks para serializar acceso a recursos. o Persistencia. o Relacionamiento: Relaciones dinámicas o permanentes con otros componentes. o Auto-testeo: Correr programas de diagnóstico para determinar problemas. o Auto-instalación: Instalarse y registrarse con S.O y/o registry. Des-instalarse.
  • 16. INCO - Facultad de Ingeniería – Montevideo, Uruguay Procesamiento de Transacciones Flat transactions: todo o nada o Problemas con: Validaciones / anulaciones parciales: Interacción con humanos: Presentación de opciones en pantalla, usuario debe elegir. ¿Cuánto tiempo quedan los locks? Transacciones grandes: Se debe poder guardar contexto, para luego retomar. Operaciones masivas: Actualizaciones de millones de registros. ¿Y si falla? Operaciones en grandes redes o internet: No sirve tenerlas sincronizadas en el commit. Monitores Transaccionales Objetivo: o Es un sistema especializado en la creación, ejecución y manejo de aplicaciones de procesamiento de transacciones. Características: o Sistemas transaccionales tienen: Muchas transacciones pequeñas. Muchos usuarios concurrentes. o Coordinan las transacciones con: Subsistemas ACID locales. Manejadores de recursos. DBMS, manejadores de colas, objetos persistentes, transporte de mensajes. aplicación TPM DBMS aplicación aplicación DBMS
  • 17. Monitores Transaccionales OTM: Object Transaction Monitors o Combinan ORBs con monitores de transacciones. Maneja contenedores que corren los componentes que brindan los servicios. o Maneja objetos logrando: transaccionalidad, robustez, persistencia, seguridad, performance. o Carga un conjunto de objetos (pool), distribuye la carga, provee tolerancia a fallos, y coordina transacciones multi-componentes. Monitores Transaccionales TPM OTM
  • 18. Servidores de Aplicaciones Contexto: o Arquitecturas en múltiples capas: Cliente: interface usuario. Servidor Web: Acceso HTTP, interface usuario. Servidor de Aplicaciones: Lógica del negocio. Lógica de los datos. Gestión de Transacciones. Acceso a la BD. Balance de carga en configuraciones paralelas. Servidor de Base de Datos: almacenamiento. Servidores de Aplicaciones Cubren: o Nivel Servidor de Aplicaciones. o Casi seguro: Gestión de Transacciones. o Web Server. Grandes familias: o JEE: Propuesta de Java. o COM/DCOM/COM+ .NET: Propuestas de MS
  • 19. Gateways Características: o Realizan la traducción entre 2 o más protocolos. o Existen gateways para: DBMS, MOM. Platform Midd: Corba COM, .NET JEE. Middleware A Sistema de Red Programa Sistema de Red Middleware A Programa Middleware B Gateway Prot. B Sistema de Red Mid A Mid B Gateway Prot. B Platform Middleware Middleware que permite integrar aplicaciones a escala empresarial. Provee al menos: o Capacidad para integrar aplicaciones: Syncrónica y asincrónicamente En equipos distribuidos. o Control de transacciones. Incluye: o Application Servers. o Integration Brokers. o Enterprise Service Bus.
  • 20. Integration Broker Características: o Son intermediarios que facilitan la interacción entre programas. Principalmente orientados a mensajes. o Proveen dos funciones de interés: Transformation: Transforma mensajes o contenidos de archivos. Transforma modelos de datos de diferentes aplicaciones a un modelo común. Flow automation (or flow control): Son tratamientos inteligentes de flujos, por ejemplo: ruteo inteligente y/o basado en contenidos. Integration Broker Características: o También pueden ofrecer: Business process management (p.ej, workflow) Interpretan reglas de negocio y responden a eventos de negocio y excepciones. Ayudan a automatizar tareas. Message warehousing. Administrative monitoring. o Algunos requieren un MOM en especial (ej. IBM MQSeries),otros tienen interfases a una gran variedad de productos.
  • 21. Integration Brokers Arquitec. “Hub & Spoke”: o Altamente centralizada. Centrada en el HUB (message broker) es una pieza monolítica de software. Realiza las operaciones de transformación y ruteo de mensejes. Estas funcionalidades no puede ser conectadas a otro HUB. Estos servicios son propietarios. o Los Spokes son aplicaciones a integrar. o La excesiva centralización complica la escalabilidad. ESB Arquitectura de BUS. o Incluye procesos que ejecutan las funcionalidades tales como ruteo, transformaciones, transacciones, etc. o Estos servicios son conectables a otros ESB. o Varios ESB pueden conectarse y hacer visibles los servicios publicados: favorece la escalabilidad. o Están basados en estándares y/o facilitan la interoperabilidad entre aplicaciones. Por ejemplo: Web Services.
  • 22. ESB, SOA, Applic. Server y eventos ESB como Bus de Servicios: o Fuertemente asociados a la implementación de arquitecturas orientadas a servicios. Las aplicaciones a integrar se “publican” como ofreciendo y/o consumiendo servicios. ESB interactuando con Applic. Servers o Se construyeron pensando en integrar aplicaciones ejecutándose en Applic. Servers. Las funcionalidades asíncronas: o Basadas en colas de mensajes. o Incluyen gestión de eventos para la suscripción (a mensajes publicados en colas o canales) ESB vs. Integration Brokers o Los ESB resultan más abiertos y escalables. o También más interoperables con otros productos. o Las ventajas se deben en gran parte: La historia y evolución de los productos. Los ESB surgieron posteriormente a los Integration Brokers, y corrigieron muchas de sus defectos. Varios ESB se basan en Integration Brokers: Biztalk Server de Microsoft. Productos de IBM WebSphere.
  • 23. Middleware para User interaction Las aplicaciones que interactuan con el usuario también deben integrarse: o Con los procesos de back-end, que implementan funcionalidades de negocio. o Con otros aplicaciones que implementan interacción con el usuario. o Con servicios utilitarios: Por ejemplo: mapas, gestión de videos, etc. ¿ Como hacer posible esta integración ? User interaction Middleware o Modularización de aplicaciones. Las aplicaciones que implementan la User Interaction deben implementarse basadas en componentes: o Estandarización de protocolos. Estas componentes deben poder interoperar entre si lo más posible. o Orientación a servicios. La interacción entre estos componentes y los otros externos debe seguir los mismos modelos que con los otros middleware.
  • 24. User interaction Middleware Portales (Portal Servers). o Son servidores de: “portlets” en plataforma Java. “webparts en plataforma Microsoft (Sharepoint). o La interacción entre ellos es posible: Dentro de la misma plataforma. Utilizando WSRP (Web Service for Remote Portal) en plataformas diferentes. o Se integran con las Platform Middleware. User Interaction Middleware Mashup. o Apuntan a facilitar el desarrollo de aplicaciones que combinan multiples funcionalidades con User Interaction. o Por ej: Mapas + portlets + email + chat + videos. o Menos estandarizado que los Portal Server. o Compatibles con los Portal Servers. o Tratan de ser más livianos que los Portal Servers.