Sesión 5 : Middleware Curso: Integración de Aplicaciones Empresariales Docente: Henry A. Mendoza Puerta

1 Sesión 5 : Middleware Curso: Integración de Aplicacione...
Author: Trinidad Hernández Mendoza
0 downloads 2 Views

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