Está en la página 1de 25

Middleware : Aplicaciones

distribuidas
MIDDLEWARE:DEFINICIÓN
• Es un software que asiste a una aplicación para interactuar o
comunicarse con otras aplicaciones, software, redes, hardware y/o
sistemas operativos.

• Ocultan la heterogeneidad, abstrae la complejidad subyacente y


proveen de un modelo de programación conveniente para los
desarrolladores de aplicaciones.
MIDDLEWARE:DEFINICIÓN

• La organización IETF (Internet Engineering Task Force) en mayo de


1997 lo definió como sigue: – “Un Middleware puede ser visto como
un conjunto de servicios y funciones reutilizables, expandibles, que son
comúnmente utilizadas por muchas aplicaciones para funcionar bien
dentro de un ambiente interconectado”.
MIDDLEWARE:DEFINICIÓN
• Es un software que puede incrementar significativamente la
reusabilidad mediante soluciones utilizables rápidamente y basadas
en estándares aplicables a problemas y tareas comunes en
programación. Permite concentrarse en asuntos propios de la
aplicación y olvidarse de problemas comunes, estructurales o no, ya
resueltos previamente de forma elegante y satisfactoria..
MIDDLEWARE:CARACTERISTICAS
• Resumen de características
• –Independiza el servicio de su implantación, del sistema operativo y
de los protocolos de comunicaciones.
• –Permite la convivencia de distintos servicios en un mismo sistema.
• –Permite la transparencia en el sistema.

•En general pueden ser vistos como


–Abstracción de programación
MIDDLEWARE:EJEMPLOS
• Ejemplos de middleware para dominios específicos incluyen:
• ODBC/JDBC, para bases de datos,
• Lotus para groupware,
• HTTP y SSL para la Web,
• CORBA, DCOM y JAVA RMI para objetos distribuidos.
MIDDLEWARE:EJEMPLOS

Fuente :https://www.researchgate.net/publication/8102038_Bioinformatics_Data_Distribution_and_Integration_via_Web_Services_and_XML
MIDDLEWARE:EJEMPLOS

Type 3 driver – Network-Protocol Type 4 driver – Database-Protocol driver/Thin


driver (middleware driver) Driver(Pure Java driver)
MIDDLEWARE:EJEMPLOS
Todos los programas Java que se conectan a una base de datos vía JDBC, utilizan un driver o controlador de
bases de datos. Es el intermediario entre la capa de negocio y la capa de base de datos y así mismo funge como
el “traductor” de las sentencias Java a sentencias SQL propias del manejador de bases de datos.
MIDDLEWARE:EJEMPLOS
• No todos los Middleware son iguales. e.g. : CORBA y Sockets TCP/IP.

• Mientras que los Sockets no ofrecen control de tipos ni


homogeneización de arquitecturas,
• CORBA, DCOM, etc., ofrecen estas posibilidades
MIDDLEWARE:ABSTRACCIÓN
MIDDLEWARE:SOCKETS

• Constituye la interfaz de programación


de la capa de transporte.
• Es un mecanismo de comunicación
bidireccional
• El más ampliamente usado
• Nacieron con la familia de protocolos
TCP/IP
• Existe prácticamente en cualquier
plataforma de computación
MIDDLEWARE:RPC

• RPC está basado en C, y como tal tiene


una semántica de programación
estructurada
• Con RPC puede simplemente llamar a
funciones remotas exportadas a un
servidor.
• RPC no se ocupa de objetos. Por el
contrario, llama a subrutinas específicas
que ya están establecidas.
MIDDLEWARE:RPC
• Con RPC, se obtiene una llamada de
procedimiento que se ve más o menos
como una llamada local.
• RPC maneja las complejidades
involucradas al pasar la llamada de la
computadora local a la remota.
MIDDLEWARE:RMI
• RMI utiliza un paradigma orientado a
objetos, donde el usuario tiene que
conocer el objeto y el método del objeto
que tiene que invocar.

• RMI hace exactamente lo mismo, pero


RMI pasa una referencia al objeto y al
método que se está llamando.

• RMI es un enfoque mejor en


comparación con RPC, especialmente
con programas más grandes, ya que
proporciona un código de producto de
limpieza que es más fácil de identificar si
MIDDLEWARE:RMI
• RMI Ejemplos :
• Java RMI, CORBA, Microsoft DCOM/COM +,
SOAP (Simple Object Access Protocolo)
MIDDLEWARE:CORBA
Common Object Request Broker Architecture
(CORBA) es un estándar definido por Object
Management Group (OMG).
Permite que diversos componentes de software
escritos en múltiples lenguajes de programación y
que corren en diferentes computadoras, puedan
trabajar juntos.
Es decir, facilita el desarrollo de aplicaciones
distribuidas en entornos heterogéneos.
MIDDLEWARE:DCOM
DCOM permite llamadas a los objetos
remotos
• Soporta interfaces múltiples escritas en
un lenguaje IDL similar a C++

Ventajas:
• DCOM permite el uso de varios lenguajes de programación
• DCOM soporta recolección distribuida de basura
Inconvenientes:
• Muy ligado a los sistemas operativos de Microsoft, aunque existen
implementaciones para Unix, y Apple Macintosh
MIDDLEWARE:SERVICIOS WEB
• Componente de software reutilizable y distribuido que ofrece una
funcionalidad concreta, independiente tanto del lenguaje de
programación en que está implementado como de la plataforma de
ejecución.

• Aplicaciones auto-contenidas que pueden ser descritas, publicadas,


localizadas e invocadas sobre la Internet (o cualquier otra red)
MIDDLEWARE : TIPOS
MIDDLEWARE : TIPOS
MIDDLEWARE : TIPOS
MIDDLEWARE : TIPOS
APLICACIÓN PRÁCTICA
CASO :
• IMPLEMENTACIÓN API JDBC EN UNA ARQUITECTURA MVC

También podría gustarte