Вы находитесь на странице: 1из 7

Middleware

Middleware es un software que asiste a una aplicacin para interactuar o comunicarse con otras aplicaciones, software, redes, hardware y/o sistemas operativos. ste simplifica el trabajo de los programadores en la compleja tarea de generar las conexiones que son necesarias en los sistemas distribuidos. De esta forma se provee una solucin que mejora la calidad de servicio, seguridad, envo de mensajes, directorio de servicio, etc.1 Funciona como una capa de abstraccin de software distribuida, que se sita entre las capas de aplicaciones y las capas inferiores (sistema operativo y red). El middleware abstrae de la complejidad y heterogeneidad de las redes de comunicaciones subyacentes, as como de los sistemas operativos y lenguajes de programacin, proporcionando una API para la fcil programacin y manejo de aplicaciones distribuidas. Dependiendo del problema a resolver y de las funciones necesarias, sern tiles diferentes tipos de servicios de middleware. Por lo general el middleware del lado cliente est implementado por el Sistema Operativo, el cual posee las bibliotecas que ejecutan todas las funcionalidades para la comunicacin a travs de la red.

Definicin[editar editar cdigo]


El software que proporciona un enlace entre aplicaciones de software independientes. Middleware a veces se llama a la va que conecta dos aplicaciones y pasa los datos entre ellas. Los Middleware permiten que los datos contenidos en una base de datos puedan ser accedidos a travs de otra. Ahorra el tiempo a los programadores.

Historia[editar editar cdigo]


El origen de la palabra Middleware se remonta al ao 1968, en donde la palabra es usada durante la 1968 NATO Software Engineering Conference,2 siendo una idea de cmo conectar el nuevo software con sistemas ms antiguos. Durante las dcadas previas a los 90s, fue solamente descrito como un software para la gestin de conexin en redes, para cuando las tecnologas en redes alcanzaron una penetracin y visibilidad suficiente el software middleware'haba evolucionado en un conjunto de paradigmas y servicios. De esta forma se estaba ofreciendo una manera ms fcil, robusta y controlable para construir aplicaciones distribuidas.3

Taxonoma de los software middleware[editar editar cdigo]

Esquema taxonoma de software middleware.

La taxonoma o clasificacin del software middleware puede ser descrita en dos grandes categoras: una de integracin y otra de aplicacin. stas poseen a su vez diferentes clases.

Categora de integracin[editar editar cdigo]


El tipo de integracin que incluyen posee la capacidad de unirse con sistemas heterogneos. Cada middleware posee diferentes protocolos de comunicacin o formas de operar en diferente software. Los tipos de integracin se pueden ver como:

Orientados a procedimiento o procesos[editar editar cdigo]


Los middleware que son orientados a procesos, utilizan una comunicacin sincronizada (como por ejemplo el telfono). Una de las caractersticas de estos, es que utilizan el client stub y el server skeleton. El client stub convierte la peticin en un mensaje que es mandado al servidor; luego el server skeleton recibe el mensaje, lo convierte en la peticin y llama a la aplicacin del servidor donde sta es procesada. Terminado el procesamiento, ocurre el proceso inverso. El client stub chequea los errores, enva los resultados al software que inici la peticin y entonces suspenden el proceso. Las ventajas de estos middleware es que usan un tipo estndar en nombres de servicios y procesos remotos, pueden retornar respuesta aun con problemas en la red y pueden manejar mltiples tipos de formatos para datos y niveles heterogneos de sistemas de servicio. Las desventajas son que no poseen escalabilidad, no pueden retornar la informacin a un programa diferente del que realiz la solicitud (reflexin) y poseen procesos muy rgidos.

Orientados a objetos[editar editar cdigo]


Soportan pedidos de objetos distribuidos. La comunicacin entre los objetos puede ser sincronizada, sincronizada diferida o no sincronizada. Soportan mltiples pedidos similares realizados por mltiples clientes en una transaccin. La forma de operar es: 1. El objeto cliente llama a un mtodo lgico para obtener un objeto remoto. 2. Un ORB Proxy (tambin conocido como stub) pone en orden la informacin y la transmite a travs del agente (broker).

3. El agente acta como punto medio y contacta con diversas fuentes de informacin, obtiene sus referentes IDs, recolecta informacin y, en ocasiones, la reorganiza. 4. El proxy remoto (tambin conocido como skeleton) desordena la informacin que le llega del agente y se la pasa al objeto servidor. 5. El objeto servidor procesa la informacin y genera un resultado que es devuelto al cliente siguiendo los pasos inversos. Las ventajas son que permiten generar reflexin y escalabilidad, que opera con mltiples tipos de informacin y estados y que soporta procesos mltiples. Las desventajas consisten en obtener la existencia de vnculos antes de la ejecucin y de un cdigo contenedor para algunos sistemas heredados.

Orientados a mensajes (MOM, Message-oriented middleware)[editar editar cdigo]


Se pueden dividir en dos tipos, espera y publicacin/suscripcin. El paso de espera se puede dividir en mensaje y espera. El paso de mensaje inicia con que la aplicacin enva un mensaje a uno o ms clientes, con el MOM del cliente. El servidor MOM, recoge las peticiones de la cola (Message Broker) en un orden o sistema de espera predeterminado. Los actos del servidor MOM son como un router y usualmente no interactan con estas. El MOM de publicacin y suscripcin acta de manera ligeramente diferente, es ms orientado a eventos. Si un cliente quiere participar por primera vez, se une al bus de informacin. Dependiendo de su funcin, si es como publicador, suscriptor y ambas, este registra un evento. El publicador enva una noticia de un evento al bus de memoria. El servidor MOM enva un anuncio al subscriptor registrado cuando la informacin est disponible.

Orientados a componentes[editar editar cdigo]


Un componente es programa que realiza una funcin especfica, diseada para operar e interactuar fcilmente con otros componentes y aplicaciones. El middleware en este caso en una configuracin de componentes. Los puntos fuertes de este middleware es que es configurable y reconfigurable. La reconfiguracin se puede realizar en tiempo de ejecucin, lo que ofrece una gran flexibilidad para satisfacer las necesidades de un gran nmero de aplicaciones. erte

Agentes[editar editar cdigo]


Los agentes son un tipo de middleware que posee varios componentes:

Entidades. Pueden ser objetos o procesos. Medios de comunicacin. Pueden ser canales, tuberas, etc. Leyes. Identifican la naturaleza interactiva de los agentes. Pueden ser la sincronizacin o el tipo de esquema.

Las ventajas de los middleware agentes son que la capacidad de stos para realizar una gran cantidad de tareas en nombre del usuario y para cubrir una amplia gama de estrategias basadas en el entorno que les rodea. Sin embargo su implementacin es complicada debido a la complejidad y dificultades dadas por las operaciones que manejan.

Categora de Aplicacin[editar editar cdigo]


La clasificacin por aplicacin incluye los middleware que son ajustados para aplicaciones especficas.

Middleware para acceso a informacin (DAM, Data Access middleware)[editar editar

cdigo]
Los middleware para acceso a informacin tienen la caracterstica de poder interactuar con diversas fuentes de datos. En este tipo de middleware se encuentran los que procesan transacciones, gateways de bases de datos y sistemas distribuidos de transaccin/procedimiento. Sus ventajas residen en la comunicacin que tienen entre mltiples fuentes de datos, la conversin del lenguaje de programacin de la aplicacin a un lenguaje aceptado por la fuente de datos de destino y la capacidad de respuesta en un formato y lenguaje aceptable para el solicitante.

Middleware de escritorio[editar editar cdigo]


Los middleware de escritorio pueden hacer variaciones en la presentacin de la informacin pedida por el usuario por aplicaciones de rastreo y asistencia, controlar cualquier servicio de transporte y proveer una copia de seguridad y otras operaciones de fondo. Otras pueden ser manutencin y grficas, ordenamientos, directorios de servicios, manejo de informacin de la base de datos, manejo de procesos, calendarizacin de trabajos, notificacin de eventos de servicios, manejo de instalacin de software, servicios de cifrado y control de accesos.

Middleware basados en la web[editar editar cdigo]


Este tipo de middleware asiste al usuario con la navegacin web, el uso de interfaces que le permiten encontrar pginas de su inters y detectar cambios de inters del usuario basado en su historial de bsquedas. Provee de un servicio de identificacin para un gran nmero de aplicaciones y comunicacin entre procesos independiente del sistema operativo, protocolo de red y plataforma de hardware. Los middleware que se encuentran fuertemente unidos a la red se llaman servidores de aplicaciones, ya que mejorar el rendimiento, disponibilidad, escalabilidad, seguridad, recuperacin de informacin, y soportan la administracin colaborativa y su uso. Los middleware pueden contactar directamente a la aplicacin ganando mejor comunicacin entre el servidor y el cliente. Otros servicios importantes dados por este tipo de middleware son servicios de directorios, emails, cadenas de suministros de gran tamao, accesos remotos a informacin, descarga de archivos, accesos a programas y acceso a aplicaciones remotas.

Middleware a tiempo real[editar editar cdigo]


La informacin en tiempo real es caracterizada por que la informacin correcta en un instante puede no serlo en otro. Los middleware en tiempo real soportan las peticiones sensibles al tiempo y polticas de planificacin. Esto se realiza con servicios que mejoran la eficiencia de las aplicaciones de usuario. Los middleware en tiempo real se pueden dividir en diferentes aplicaciones:

Aplicacin de base de datos en tiempo real. Sensor de procesamiento. Transmisin de informacin.

La informacin que pasa a travs de un middleware en tiempo real se ha incrementado dramticamente con la introduccin de Internet, redes inalmbricas, y las nuevas aplicaciones basadas en la difusin. Las ventajas de este tipo de middleware son que proveen un proceso de decisin que determinar el mejor criterio para resolver procesos sensibles al tiempo, y la posibilidad de ayudar a los sistemas operantes en la localizacin de recursos cuando tienen tiempos lmites de operacin. Los middleware multimedia son una rama mayor en los middleware en tiempo real. stos pueden manejar una gran variedad de informacin. Estos tipos pueden ser textos, imgenes de todo tipo (GPS, imgenes, etc.), procesadores de lenguajes naturales, msica y video. La informacin debe ser recopilada, integrada y entonces enviada al usuario sensible del tiempo. Los dispositivos multimedia pueden incluir una mezcla de dispositivos tanto fsicos (parlantes, cmaras, micrfono) como lgicos.

Middleware especialistas[editar editar cdigo]


En muchos casos los middleware proveen una tarea muy especfica que no se puede ajustar a las categoras anteriores. Un ejemplo seran middlewares mdicos.

Aplicaciones[editar editar cdigo]


Los servicios de middleware proporcionan un conjunto ms funcional de la API s para permitir una aplicacin a:

Localizar claramente a travs de la red, proporcionando as una interaccin con otro servicio o aplicacin

Los datos filtrados para que sean utilizables en un ambiente pblico a travs de anonymization process para la proteccin de la privacidad(por ejemplo)

Ser independiente del servicio de red Ser fiable y siempre disponible

Aadir los atributos complementarios como semntica en comparacin con el sistema operativo y servicios de red.

Middleware ofrece algunas ventajas nicas tecnolgicas para los negocios y la industria. Por ejemplo, los sistemas tradicionales de bases de datos suelen ser desplegados en entornos cerrados, donde los usuarios acceden al sistema slo a travs de una red restringida o intranet (por ejemplo, red interna de una empresa). Con el crecimiento de la World Wide Web, los usuarios pueden acceder a prcticamente cualquier base de datos para las que tengan derechos de acceso adecuados desde cualquier parte del mundo. Middleware aborda el problema de diferentes niveles de interoperabilidad entre las estructuras de base de datos diferente. Middleware facilita el acceso a la herencia de un sistema de gestin de bases de datos (DBMS) o aplicaciones a travs de un servidor web, sin tener en cuenta las caractersticas especficas de base de datos.4 Las empresas frecuentemente utilizan las aplicaciones de middleware para vincular la informacin de bases de datos de sus departamentos, tales como nminas, ventas y contabilidad, o bases de datos alojadas en mltiples localizaciones geogrficas.5 En el mercado de la salud que es altamente competitivo, los laboratorios hacen un amplio uso de aplicaciones de middleware para minera de datos y sistema informtico del laboratorio (LIS), y para combinar los sistemas de informacin durante fusiones de hospitales. Los Middleware ayudan a reducir la brecha entre LISs separados en una red de salud recin formado a raz de una compra del hospital.6 Los desarrolladores de redes inalmbricas pueden utilizar middleware para afrontar los retos asociados a los de sensores inalmbricos de red (WSN), o tecnologas WSN. La implementacin de una aplicacin de middleware permite WSN [[Los analistas Middleware |] desarrolladores]. Para integrar los sistemas operativos y hardware con la amplia variedad de aplicaciones diferentes que estn disponibles actualmente.7 Los middleware pueden ayudar a los desarrolladores de software a no tener que escribir APIs para todos los programas de control, que acta como una interfaz de programacin independiente para sus aplicaciones. Para la Internet del Futuro, el funcionamiento de la red a travs del monitoreo de trfico en escenarios multi-dominio, utilizando herramientas de mediacin (middleware) es una poderosa ayuda, ya que permiten operadores, investigadores y [proveedores de servicios []] para supervisar Calidad de servicio y analizar los eventuales fracasos en servicio de telecomunicaciones. 8 Por ltimo, el comercio electrnico utiliza middleware para ayudar en el manejo de transacciones rpidas y seguras a travs de muchos tipos diferentes de entornos informticos.9 En resumen, el middleware se ha convertido en un elemento crtico en una amplia gama de industrias, gracias a su capacidad de reunir los recursos a travs de diferentes redes o plataformas de computacin.

En 2004 los miembros de la Unin Europea de Radiodifusin (UER), han realizado un estudio de Middleware con respecto a la integracin de sistemas en entornos de difusin. Se trataba de sistema de expertos en ingeniera de diseo de 10 principales cadenas europeas, se trabaj durante un perodo de 12 meses para entender el efecto de productos, principalmente de software, basado en tcnicas de produccin de medios de comunicacin y el diseo del sistema de radiodifusin. Los informes resultantes 3300S Tecnologa 3300 y Tech fueron publicados y estn disponibles gratuitamente desde el sitio web de la UER.10 11

http://www.slideshare.net/matiasyimak/middleware-15166587

Вам также может понравиться