1 Sesión 5 : Middleware Curso: Integración de Aplicaciones Empresariales Docente: Henry A. Mendoza Puerta [email protected] [email protected]
2 Temario INCO - Facultad de Ingeniería – Montevideo, Uruguay2 Introducción: Definición y motivación Escenarios y características Diferentes tipologías de Middleware: Basic, Platform, Gateways. Platform Middleware actuales: Integration Brokers. Enterprise Service Bus. Middleware para User Interaction
3 Introducción INCO - Facultad de Ingeniería – Montevideo, Uruguay3 ¿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.
4 Introducción INCO - Facultad de Ingeniería – Montevideo, Uruguay4 ¿ Para qué usar middleware ? o Dadas dos aplicaciones que se quieren conectar, se usa para resolver la comunicación entre los procesos. 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.
5 Programa Sistema de Red Middleware Programa Sistema de Red Middleware Introducción INCO - Facultad de Ingeniería – Montevideo, Uruguay5 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.
6 Introducción: Tipos Middl. (1) INCO - Facultad de Ingeniería – Montevideo, Uruguay6 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.
7 Introducción: Tipos Middl. (2) INCO - Facultad de Ingeniería – Montevideo, Uruguay7 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.
8 Introducción: Arquitectura Aplicación en Arquitectura +3 niveles. Servidor WEB Cliente Servidor Aplicaciones Servidor DBMS Servidor Aplicaciones Servidor Aplicaciones Conexión a DBMS MOMMOM TPMTPM TEPSMBTEPSMB Conexión a DBMS RPCRPC INCO - Facultad de Ingeniería – Montevideo, Uruguay8
9 Tipología de Middleware INCO - Facultad de Ingeniería – Montevideo, Uruguay9 Basic: RPC (RMI, etc.). Message Oriented Middleware (colas de mensajes). Data Middleware (drivers BD.). Platform: ORB. TPM. Intregration Brokers. Application Servers. Enterprise Service Bus
10 Programa Sistema de Red Comm Middleware Programa Sistema de Red Comm Middleware SQL o API INCO - Facultad de Ingeniería – Montevideo, Uruguay10 Application Presentation Session Transport Network Link Physical 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.
11 RPC: Remote Procedure Call INCO - Facultad de Ingeniería – Montevideo, Uruguay11 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 Runtime: En cliente invoca el RPC y se bloquea. En servidor, recibe invocaciones (prioridades, seguridad... )
12 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 INCO - Facultad de Ingeniería – Montevideo, Uruguay12 cola2
13 RPC vs. MOM INCO - Facultad de Ingeniería – Montevideo, Uruguay13 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: Cliente 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.
14 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, Uruguay14
15 SQL Middleware INCO - Facultad de Ingeniería – Montevideo, Uruguay15 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
16 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 INCO - Facultad de Ingeniería – Montevideo, Uruguay16
17 Platform Middleware INCO - Facultad de Ingeniería – Montevideo, Uruguay17 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 CORBA, JEE,.NET. o Integration Brokers (IBM MQSeries, MS Biztalk). o Enterprise Service Bus.
18 Platform Middleware actual INCO - Facultad de Ingeniería – Montevideo, Uruguay18 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.
19 Middleware para User interaction INCO - Facultad de Ingeniería – Montevideo, Uruguay19 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.
20 Actividad Investigar sobre Platform Middleware actual o Application Servers. o Integration Brokers. o Enterprise Service Bus Middleware para User interaction Porlets Java Mashup