1. SISTEMAS DISTRIBUIDOS
MIDDLEWARE
BRYAN DAVID CASTILLA CASTILLA
ENEIDA JUDITH EDINSON GARCIA
DANIEL ENRIQUE HERRERA DURANGO
MAIRA ALEJANDRA JAYK FORTICH
Docente:
JULIO CESAR OROZCO
FUNDACIÓN UNIVERSITARIA TECNOLÓGICO COMFENALCO
INGENIERÍA DE SISTEMA
SEMESTRE IX
01/03/2013
CARTAGENA
2. INTRODUCCIÓN
Hoy en día, un gran número de transacciones y operaciones son realizadas a
través de distintas redes e Internet, estas redes han logrado conectar PCs,
workstations y mainframes, mediante una gran dedicación por parte de las
industrias de software y computación, estas computadoras se comunican a través
de la red, lo que permite la integración de diversos componentes. Esta integración
conlleva un tiempo usualmente “escaso”, lo que se convierte en la razón
fundamental de por qué los sistemas distribuidos son una muy buena opción,
obviamente, este tipo de integración incluirá componentes existentes o anticuados.
En sistemas distribuidos, la solución a este contexto que se presenta está en la
utilización de Middlewares que se define como la capa de software que se
encuentra entre el sistema operativo y las aplicaciones en cada sitio del sistema.
Con esta definición procedemos a explicar la temática del Middleware.
3. MIDDLEWARE
Middleware juega un papel muy importante en el fácil desarrollo de aplicaciones,
proporcionando abstracciones comunes de programación, mediante el
enmascaramiento de la heterogeneidad en redes de comunicaciones subyacentes
como de los sistemas operativos y lenguajes de programación, proporcionando
así, una API para acceder a una fácil programación y manejo de aplicaciones
distribuidas. El Middleware tiene la capacidad de conectar distintos sistemas y
facilitar la interacción entre un cliente y cualquier aplicación que provee un servicio
arquitectura cliente - servidor, independientemente de la plataforma. Por lo tanto,
se trata de un software de capa alta que se encuentra encima de la red física y las
capas de transporte que se ubica entre el sistema operativo y las aplicaciones,
manejando todas la tareas complejas requeridas para proveer el acceso a datos y
aplicaciones entre plataformas.
El crecimiento de la red de aplicaciones basadas en tecnologías middleware está
tomando una importancia cada vez mayor. Cubren una amplia gama de sistemas
de software, incluidos los objetos distribuidos y componentes de comunicación
orientados a mensajes y soporte de aplicaciones móviles. Un número creciente de
sistemas se componen de una colección de varios dispositivos interconectados
por una red, donde cada dispositivo realiza una función que implica tanto la
interacción local con el mundo real como la interacción remota con otros
dispositivos del sistema. Los ejemplos incluyen las redes de computadoras,
sistemas de telecomunicaciones, unidades de alimentación ininterrumpida,
unidades descentralizadas de fabricación. Todo esto hace que los usuarios
interactúen con las aplicaciones de Internet a través de una variedad de
dispositivos, cuyas características y rendimiento figuran en abarcar cada vez una
amplia gama de PCs de alto rendimiento, teléfonos inteligentes, PDA´s entre otros.
4. FUNCIONES DE MIDDLEWARE
La función de middleware es mediar la interacción entre las partes de una o varias
aplicaciones, por lo tanto los problemas de arquitectura juegan un papel central en
el diseño de middleware. La arquitectura se ocupa de la organización, la estructura
general y los patrones de comunicación, tanto para aplicaciones y middleware
como para sí mismo.
Además de los aspectos arquitectónicos, los principales problemas del diseño de
middleware son las relativas a los diversos aspectos de los sistemas distribuidos.
Cualquier sistema de middleware se basa en una capa de comunicación que
permite a sus diferentes piezas para interoperar. Además, la comunicación es una
función que proporciona a las aplicaciones de middleware propio, en el que las
entidades comunicantes pueden asumir diferentes roles como cliente-servidor o
peer to peer. Middleware permite diferentes modos de interacción como:
invocaciones síncronas, paso de mensajes asíncrono, la coordinación a través de
objetos compartidos entre otras.
Las siguientes son las funciones principales de los middlewares en los sistemas
distribuidos:
Ocultación de la distribución, es decir, el hecho de que una aplicación se
compone generalmente de muchas partes interconectadas que se ejecutan
en ubicaciones distribuidas.
Cómo ocultar la heterogeneidad de los componentes de hardware, sistemas
operativos y protocolos de comunicación.
Proporcionar uniformes, estándares, interfaces de alto nivel a los
desarrolladores de aplicaciones e integradores, por lo que las aplicaciones
pueden ser fácilmente integradas, reutilizadas, adaptadas, y hechas para
interoperar.
5. Suministrar un conjunto de servicios comunes a las diversas funciones de
uso general, con el fin de evitar la duplicación de esfuerzos y para facilitar la
colaboración entre las aplicaciones.
PRIMEROS TIPOS DE MIDDLEWARE
Los primeros tipos de Middlewares nos encontramos con Cronus, el cual se lo
considera como el primer sistema de objetos distribuidos más importante. Por otro
lado, el primer desarrollo de RPC se realizó alrededor del año 1982.
QualityObjects (QuO) fue el primer framework2 de Middleware3 que proveía una
propuesta general y extensible de la “calidad del servicio” para objetos
distribuidos. TAO fue el principal sistema CORBA en proveer “calidad del servicio”.
TheMessageOriented Middleware Association (MOMA) fue formado en 1993, y
MOM se convirtió en el tipo de Middleware más a finales de la década del „90.
SERVICIOS
Middleware ofrece una serie de servicios que permiten aprovechar al máximo esta
gran herramienta, proponiendo distintas soluciones de problemas de conectividad
entre aplicaciones, estos servicios son:
Servicios de Comunicación
Estos servicios permiten la comunicación sistemas remotos sin preocuparse de la
complejidad existente del ambiente de red.
Servicios de Acceso a Datos
Estos servicios permiten ejecutar consultas o distintas actualizaciones tanto a
archivos planos como de Bases de Datos, ubicados en uno o más servidores,
6. asegurando la integridad de los datos y la disponibilidad de la aplicación. Además,
existen varias APIs que permiten la conectividad con Bases de Datos. Por
ejemplo, para aplicaciones Web, los estándares de facto son Microsoft-ODBC y
JDBC.
Servicios de planificación de ejecución
Estos servicios permiten ejecutar múltiples procesos simultáneamente, balancear
la carga y priorizar tareas homogéneamente entre distintas plataformas.
Servicios de Seguridad
Comúnmente, estos servicios, son empleados para conectar sistemas diferentes,
en donde cada uno posee su propio sistema de seguridad.
Servicios de Directorio
Estos servicios proveen un eficiente y potente método de ubicar y administrar
recursos en una red. Por ejemplo, podemos mencionar: LDAP.
7. CONCLUSIÓN
En la actualidad se presentan diversas problemáticas derivadas de los paradigmas
tecnológicos; por lo cual existe una inmersión de estás impactando directamente a
las organizaciones empresariales y por lo tanto a la sociedad, refiriéndonos de
este modo a los Middlewares, que ayudan a dar solución a problemas de
conectividad entre diferentes aplicaciones, e inconvenientes de interoperabilidad,
simplificando la interacción, y cumpliendo un rol estratégico en el crecimiento de
las organizaciones hacia el mundo distribuido e integrado y permitiendo extender
la inversión en los sistemas propietarios y cliente/ servidor, facilitando la conexión
proveyendo la misma docilidad que brindan los sistemas “Back-End” a Internet.
Las aplicaciones Middlewares continuarán creciendo a medida que se
implementen más tecnologías heterogéneas, por lo que se puede apreciar, las
tecnologías que serán de mayor valor estratégico las encontraremos en los
servidores de aplicaciones orientados a la Web, ORBs, TPMs y MOMs.
Se vislumbra una nueva perspectiva para que Middleware continúe siendo la capa
invisible que haga más fácil desarrollos futuros. Aunque, la paradoja es que,
mientras los Middlewares facilitan el desarrollo multiplataforma, no existe mucha
facilidad para realizar la conexión entre ellos. Lo que significa que sectores o
departamentos de sistemas de las organizaciones deberían tomar con seriedad
las tecnologías de Middleware, además de construir una apropiada infraestructura
en post de hacer frente a la dinámica y complejidad del mundo de Internet, por lo
que sin la existencia de los Middlewares, cierto tipo de actividades a nivel de redes
serían imposibles. En un futuro no muy lejano, habrá aplicaciones cada vez más
poderosas y potentes y más Middlewares van a ser necesitados.