You are on page 1of 7

MIDDLEWARE Programacin Avanzada II Definicin 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. Orientados a procedimiento o procesos 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 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: El objeto cliente llama a un mtodo lgico para obtener un objeto remoto. Un ORB Proxy (tambin conocido como stub) pone en orden la informacin y la transmite a travs del agente (broker). El agente acta como punto medio y contacta con diversas fuentes de informacin, obtiene sus referentes IDs, recolecta informacin y, en ocasiones, la reorganiza. El proxy remoto (tambin conocido como skeleton) desordena la informacin que le llega del agente y se la pasa al objeto servidor. 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) 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 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.acin est disponible. Categora de Aplicacin La clasificacin por aplicacin incluye los middleware que son ajustados para aplicaciones especficas. Middleware para acceso a informacin (DAM, Data Access middleware) 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 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 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 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 En muchos casos los middleware proveen una tarea muy especfica que no se puede ajustar a las categoras anteriores. Un ejemplo seran middlewares mdicos. Transaction Procesing (TP) Monitors Es un sistema especializado en la creacin, ejecucin y manejo de aplicaciones de procesamiento de transacciones.

Los monitores se especializan en la administracin de transacciones desde su punto de origen (por lo general en el cliente), ya travs de uno o ms servidores, para luego volver al cliente originario Surgen de la necesidad de correr aplicaciones capaces de atender a cientos o miles de clientes, ya que los monitores permiten conectar en tiempo real a miles de clientes que esperan un servicio, sin necesidad de consumir tantos recursos.

Caracteristicas Sistemas transaccionales tienen: Muchas transacciones pequeas. Muchos usuarios concurrentes.

Coordinan las transacciones con: Subsistemas ACID locales. Manejadores de recursos. DBMS, manejadores de colas, objetos persistentes, transporte de mensajes.

Ejemplo: Sistema de reservas de agencias de viaje. Funciones y operaciones Control de procesos: Iniciar y monitorear servidores. Uso optimizado de recursos. Control de flujo. Control de disponibilidad y fallos. Manejo eficiente de conexiones (muchos clientes).

Manejo de transacciones: Integridad transaccional (ACID). Divisin y coordinacin de transacciones.

Comunicacin C/S. Aplicaciones clientes se comunican por diversos mecanismos. Conectividad para recursos heterogneos. Firewalls para recursos.

Canalizacin Los monitores de TP ofrecen un sistema operativo que conecta en tiempo real a esos miles de clientes impacientes con un grupo de procesos compartidos del servidor. Esto se denomina canalizacin. Beneficios TP Beneficios de un monitor TP Estructura de desarrollo de aplicaciones cliente/servidor Muros de proteccin Alta disponibilidad Equilibrio de cargas Facilidad de ampliacin de funciones Costo reducido del sistema

Remote Procedure Call (RPC) - Llamada a Procedimiento Remoto Es un protocolo que permite a un programa de ordenador ejecutar cdigo en otra mquina remota sin tener que preocuparse por las comunicaciones entre ambos. El protocolo es un gran avance sobre los sockets usados hasta el momento. De esta manera el programador no tena que estar pendiente de las comunicaciones, estando stas encapsuladas dentro de las RPC. Las RPC son muy utilizadas dentro del paradigma cliente-servidor. Siendo el cliente el que inicia el proceso solicitando al servidor que ejecute cierto procedimiento o funcin y enviando ste de vuelta el resultado de dicha operacin al cliente. Hay distintos tipos de RPC, muchos de ellos estandarizados como pueden ser el RPC de Sun denominado ONC RPC (RFC 1057), el RPC de OSF denominado DCE/RPC y el Modelo de Objetos de Componentes Distribuidos de Microsoft DCOM, aunque ninguno de estos es compatible entre s. La mayora de ellos utilizan un lenguaje de descripcin de interfaz (IDL) que define los mtodos exportados por el servidor.

Middleware orientado a mensajes (MOM) Es un software o hardware de la infraestructura de soporte de envo y recepcin de mensajes entre sistemas distribuidos. MOM permite a los mdulos de aplicaciones a ser distribuidos a travs de plataformas heterogneas y reduce la complejidad del desarrollo de aplicaciones que abarcan mltiples sistemas operativos y protocolos de red. El middleware crea una capa de comunicaciones distribuida que asla al desarrollador de la aplicacin de los detalles de los diversos sistemas operativos y las interfaces de red. API que se extienden a travs de diversas plataformas y redes estn tpicamente proporcionado por MOM. MOM proporciona elementos de software que se encuentran en todos los componentes que se comunican de una arquitectura cliente / servidor y por lo general apoyan las llamadas asncronas entre las aplicaciones cliente y servidor. MOM reduce la participacin de los desarrolladores de aplicaciones a la complejidad de la naturaleza amo-esclavo del mecanismo cliente / servidor. Ventajas Razones centrales para el uso de una comunicacin basada en mensajes de protocolo incluyen su capacidad para almacenar (buffer), ruta o transformar mensajes mientras que transporta a los remitentes a los receptores. Desventajas La principal desventaja de muchos sistemas middleware orientados mensaje es que requieren un componente adicional en la arquitectura , el agente de transferencia de mensajes (Message Broker ). Como con cualquier sistema , la adicin de otro componente puede dar lugar a reducciones en el rendimiento y la fiabilidad, y tambin puede hacer ms difcil el sistema como un todo y caro de mantener . Adems, muchas comunicaciones entre aplicaciones tienen una intrnseca sincrona, con el remitente que espera una respuesta a un mensaje antes de continuar (consulte la computacin en tiempo real y casi en tiempo real, en casos extremos). Debido a que esta basada en mensajes de comunicacin funciona intrnsecamente asincrnica , no puede encajar bien en este tipo de situaciones. Dicho esto, la mayora de los sistemas de MOM tienen instalaciones al grupo de una peticin y una respuesta como una sola transaccin pseudosncrono.

Object Request Broker (ORB) Es en Computacin distribuida, el nombre que recibe una capa de software (tambin llamada middleware) que permite a los objetos realizar llamadas a mtodos situados en mquinas remotas, a travs de una red. Maneja la transferencia de estructuras de datos, de manera que

sean compatibles entre los dos objetos. Para ello utiliza un estndar para convertir las estructuras de datos en un flujo de bytes, conservando el orden de los bytes entre distintas arquitecturas. Este proceso se denomina marshalling (y tambin su opuesto, unmarshalling). Bsicamente permite a objetos distribuidos interactuar entre s de manera transparente, es decir, como si estuviesen en la misma mquina.

You might also like