2. Universidad Nacional de San Marcos
Facultad de Ingeniería Electrónica y Electrica
Middleware
El Middleware es un software de conectividad que ofrece un
conjunto de servicios que hacen posible el funcionamiento de
aplicaciones distribuidas sobre plataformas heterogéneas.
3. Universidad Nacional de San Marcos
Facultad de Ingeniería Electrónica y Electrica
Middleware
Simplifica el trabajo en la tarea de generar las conexiones en
los sistemas distribuidos.
Provee una solución que mejora la QoS, seguridad, envío de
mensajes, directorio de servicio.
4. Universidad Nacional de San Marcos
Facultad de Ingeniería Electrónica y Electrica
Middleware
Funciona como una capa de abstracción de software
distribuida, que se sitúa entre las capas de aplicaciones y las
capas inferiores (sistema operativo y red).
El Middleware nos abstrae de la complejidad de los sistemas
operativos y lenguajes de programación, proporcionando una
API para la fácil programación y manejo de aplicaciones
distribuidas.
Facilita el desarrollo de sistemas complejos con diferentes
tecnologías y arquitecturas.
5. Universidad Nacional de San Marcos
Facultad de Ingeniería Electrónica y Electrica
Middleware
El middleware se estructura en tres niveles:
Protocolo de transporte.
Network Operating System (NOS).
Protocolo específico del servicio.
6. Universidad Nacional de San Marcos
Facultad de Ingeniería Electrónica y Electrica
Middleware
Network Operating System (NOS):
El NOS es el encargado de proporcionar una apariencia de sistema
único a un sistema Cliente/Servidor. Es una extensión del Sistema
Operativo:
El cliente realiza una llamada a un servicio como si fuera local.
El NOS:
Intercepta la llamada.
Redirige la llamada al servidor apropiado.
Devuelve la contestación.
7. Universidad Nacional de San Marcos
Facultad de Ingeniería Electrónica y Electrica
Middleware
Network Operating System (NOS):
El NOS proporciona transparencia en los procesos Cliente/Servidor con respecto
a:
Localización: Los recursos sólo se conocen por su nombre. El sistema en el que se
ejecutan es irrelevante.
Espacio de nombres: Las convenciones de los nombres de los recursos deben ser
iguales, independientemente del sistema que los soporte.
Conexión: Un único usuario y contraseña para todo el sistema.
Replicación: No se debe diferenciar entre copias de un mismo recurso.
Acceso local / remoto: El acceso a un recurso se debe realizar como si estuviera
localizado en el mismo sistema que el programa cliente.
Tiempo: Los relojes de todos los elementos del sistema deben estar sincronizados.
Fallos: El sistema debe proporcionar servicios de detección de fallos, redundancia y
reconexión tras un fallo.
Administración: Un único sistema de gestión de todos los recursos.
Protocolos: Idéntica interfaz de programación para todos los protocolos de transporte.
8. Universidad Nacional de San Marcos
Facultad de Ingeniería Electrónica y Electrica
Tipo de Middleware
Dependiendo del problema a resolver y de las funciones necesarias se
tienen los siguientes Middleware:
1.-Para Bases de Datos
Este Middleware es el más desarrollado actualmente. En este caso, una Base de
Datos distribuida ofrece la abstracción tanto de registros como de transacciones.
Este tipo de Middleware permite tanto el manejo de la conectividad, y la
capacidad de leer y escribir a Bases de Datos existentes.
Son indispensables debido a la facilidad que otorga para acceder a Bases de Datos
en múltiples plataformas aunque no tienen la funcionalidad de otros Middlewares.
Algunos ejemplos son:
IBM-DRDA, ORACLE-SQL*Net, INFORMIX-I_Star y CA-CA-OpenIngres.
Otras organizaciones a través de ODBC y JDBC han permitido acceso a distintas
Bases de Datos, inclusive a través de Internet.
9. Universidad Nacional de San Marcos
Facultad de Ingeniería Electrónica y Electrica
Tipo de Middleware
2.-Remote Procedure Calls (RPC)
Este Middleware provee conectividad de una aplicación hacia otra. Es decir,
permite que un software o un componente en una máquina pueda requerir la ejecución
de un otro en otra máquina.
DCE de la OSF es la implementación más usada de RPC debido a su capacidad
multi-hilo y valores agregados como Directory Services, Distributed File Systems y
Distributed Time Services, que son elementos facilitadores de aplicaciones en redes
globales.
Estos Middlewares evitan la complejidad de tareas en un entorno de red y su
fortaleza reside en su capacidad para pasar grandes volúmenes de datos a través de
una red.
Este tipo es multiplataforma y especialmente apto para application data intensive
que requieren un tiempo de respuesta inmediato y control entre procesos.
10. Universidad Nacional de San Marcos
Facultad de Ingeniería Electrónica y Electrica
Tipo de Middleware
3.- Object Request Broker (ORB)
Estos Middlewares soportan la conexión entre aplicaciones
Orientadas a Objetos.
Junto a la amplia aceptación de la tecnología JAVA y las Orientadas
a Objetos, y el crecimiento de Internet, llevan a estos Middlewares a la
estrategia central de los Sistemas de Información.
Las interfaces ORB son definidas mediante un lenguaje de
definición de Interfaces (IDL).
Además, los servicios de objetos proveen un grupo de servicios
importantes como ser seguridad y ubicación.
Los ORB están altamente estandarizados CORBA (OMG) y OLE
(DCOM, Microsoft).
Algunos ejemplos son: ORBIX (IONA) y Visibroker (Visigenic).
11. Universidad Nacional de San Marcos
Facultad de Ingeniería Electrónica y Electrica
Tipo de Middleware
4.- Monitores de Procesamiento de Transacciones Distribuidas (DTPM)
Los primeros Procesadores de Transacciones de Mainframe (CICS) brindaban una
interface, la cual permitía a los desarrolladores abstraerse de características físicas
inherentes al teleprocesamiento.
Incluían facilidades de ejecución de hilos, seguridad y transaccionalidad.
La diferencia entre éstos y los existentes actualmente es que estos Middlewares pueden
realizar una transacción entre múltiples plataformas distribuidas.
Los DTPM soportan aplicaciones OLTP usando diversidad de plataformas y Bases
de Datos.
Utilizan, mecanismos de colas y ejecución de hilos que permiten el eficiente
procesamiento de gran volumen de transacciones. por ejemplos Tuxedo (BEA), TX (IBM),
ENCINA (Transarc), entre otros.
12. Universidad Nacional de San Marcos
Facultad de Ingeniería Electrónica y Electrica
Tipo de Middleware
5.- Orientados a Mensajes (MOM)
El Messaging es el mecanismo que permite que dos aplicaciones cambien
datos simplemente enviando mensajes. Se emplea un protocolo punto a
punto que permite el envío asincrónico de mensajes.
El Messaging es más apropiado para las aplicaciones que son conducidas
por eventos y no requieren respuesta inmediata.
En conclusión, este Middleware permite colocar datos en una cola de
mensajes que pueden ser accedida a lo largo de la red.
La mayoría de los productos MOMs ofrecen colas con persistencia,
replicación, o performance en tiempo real. Algunos ejemplos son IBM-MQ
y Microsoft-MSMQ.
13. Universidad Nacional de San Marcos
Facultad de Ingeniería Electrónica y Electrica
Tipo de Middleware
6.- La Web
Hoy en día, la Web puede ser considerada como la culminación
de los Middlewares debido a las prestaciones que ofrece como la
apertura, escalabilidad, integridad y transparencia.
Pero además, la Web ha agregado nuevas capas de complejidad
como ser lenguajes de programación, APIs, protocolos, estándares,
entre otros que han incrementado el rol de los Middlewares.
14. Universidad Nacional de San Marcos
Facultad de Ingeniería Electrónica y Electrica
Clasificación de los Middleware
Los Middlewares se pueden clasificar de la siguiente manera:
Middlewares Oportunísticos: Estos son aquellos que poseen un rápido aprendizaje
para los desarrolladores, con menores conocimientos necesarios, e inclusión de soporte a
nuevas tecnologías.
Su precio inicial es frecuentemente bajo. Ejemplo: OAS, IAS, WebSphere,BEA
Weblogic, Microsoft TS.
Middlewares Sistemáticos: El concepto central es la larga vida de la tecnología y su
proveedor, y además, las características de los Mainframes por encima de calidad de
servicio (disponibilidad, performance, gestionabilidad e integridad), son considerados
estratégicos por parte de las áreas de sistemas centrales de las organizaciones.
Se emplean para proyectos de extensa duración e impacto en la organización. Entre
ellos, se pueden mencionar: CICS, DEC openACMS (Tandem) y Pathway (Tandem),
ORBIX (IONA Technologies).
15. Universidad Nacional de San Marcos
Facultad de Ingeniería Electrónica y Electrica
RESUMEN
Los Middlewares permiten simplificar el proceso de desarrollo de
aplicaciones gracias a que podemos independizar los entornos
propietarios.
Los Middlewares ofrecen interconexión con los Sistemas de
Información del Organismo.
Debido a que podemos contar con información procedente de distintas
plataformas, los Middlewares proporciona mayor control del
negocio
Los Middlewares facilitan el desarrollo de sistemas complejos con
diferentes tecnologías y arquitecturas.