UNIDAD III


**MIDDLEWARE**

Middleware es un software de computadora que conecta componentes de software o aplicaciones para que puedan intercambiar datos entre éstas. Es utilizado a menudo para soportar aplicaciones distribuidas. Esto incluye servidores web, servidores de aplicaciones, sistemas de gestión de contenido y herramientas similares. Middleware es especialmente esencial para tecnologías como XML, SOAP, servicios web y arquitecturas orientada a servicios.



Historia de Middleware


Los Middleware han aparecido de manera relativamente reciente en el mundo de la informática, hoy en día tecnologías móviles (celulares) están aplicando esta tecnología para el soporte de llamadas VOIP. En el pasado ganaron popularidad en la década de los 80, ya que eran la solución de cómo integrar las nuevas aplicaciones con los sistemas heredados (legacy systems), en todo caso, el termino ha sido usado desde 1968. También facilitaba la computación distribuida, mediante conexión de múltiples aplicaciones para crear una mucha mayor, sobre una red.




El origen de la palabra Middleware se remonta al año 1968, en donde la palabra es usada durante la NATO Software Engineering Conference, siendo una idea de cómo conectar el nuevo software con sistemas más antiguos. Durante las décadas previas a los 90s, fue solamente descrito como un software para la gestión de conexión en redes, pero para cuando las tecnologías en redes alcanzaron una penetración y visibilidad suficiente, el software middleware' había evolucionado en un conjunto de paradigmas y servicios. De esta forma se estaba ofreciendo una manera más fácil, robusta y controlable, para construir aplicaciones distribuidas.

En la década de los 80`s el desarrollo de nuevas aplicaciones fue ganando terreno y popularidad en el mercado de las telecomunicaciones, los primeros sistemas de información eran obsoletos y los nuevos equipos no contaban con el software necesario para acceder a tan precarios sistemas. El acceso a la información era hostil y tediosa, es cuando surge la necesidad de un "mediador", un puente entre los sistemas de información de antaño y los más nuevos y modernos.


A este puente se le conoce como Middleware, un ejemplo sencillo de la aplicación de middleware podría ser cuando conectamos nuestra PC nueva, recién salida de fábrica a una impresora antigua ó viceversa, esto compañeros permite la funcionalidad total a la cual estamos acostumbrados entre los diferentes dispositivos a los que tenemos acceso, hoy en día esto facilita el acceso entre diversos sistemas de información.
 Actualmente, la existencia de nuevas arquitecturas, sistemas y plataformas más potentes y económicas hacen que muchas organizaciones se planteen la idea de trasladar sus aplicaciones corporativas, que residen en servidores centrales o mainframes, hacia nuevas plataformas. Sin embargo, los rápidos cambios de las tecnologías, hace necesario garantizar que la inversión que se realiza en el proyecto de rediseño de la aplicación tengan un resultado esperado.

El software que proporciona un enlace entre aplicaciones de software independientes. Middleware a veces se llama a la vía 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 través de otra. Ahorra el tiempo a los programadores.






Taxonomía de los software Middleware

La taxonomía o clasificación del software middleware puede ser descrita en dos grandes categorías una de integración y otra de aplicación. Esta a su vez es desarmada en otras, las cuales son descritas a continuación:

Categoría de Integración
El tipo de integración que incluyen, posee la capacidad de unirse con sistemas heterogéneos. Cada middleware posee diferentes protocolos de comunicación o formas de operar en diferente software, los tipos de integración se pueden ver como:



Orientados a procedimiento o procesos

Los middleware que son orientados a procesos, utilizan a una comunicación sincronizada (como por ejemplo el teléfono). Una de las características de estos, es que utilizan el “Client Stub” y el “Server Skeleton”. El “client stub”, convierte la petición en un mensaje que es mandado al servidor, luego el “server skeleton” recibe el mensaje, lo convierte en la petición y llama a la aplicación del servidor donde esta es procesada. Terminado el procesamiento el proceso inverso ocurre.
El “client stub” chequea los errores, envía los resultados al software que inicio la petición y entonces suspenden el proceso. Las ventajas de estos middleware es que usan un tipo estándar en nombres de servicios, procesos remotos, pueden retornar respuesta aun con problemas en la red, pueden manejar múltiples tipos de formatos para datos y niveles heterogéneos de sistemas de servicio. Las desventajas son que no poseen escalabilidad, no pueden retornar la información aun programa diferente del que realizo la solicitud (reflexión) y poseen procesos muy rígidos.

 


Orientados a objetos

Soportan pedidos de objetos distribuidos. La comunicación entre los objetos puede ser sincronizada, sincronizada diferida o no sincronizada. Soportan múltiples pedidos similares realizados por múltiples clientes en una transacción. La forma de operar es primero con el objeto cliente que llama a un método lógico para obtener un objeto remoto. Un ORB Proxy (también conocido como stub) pone en orden la información y la transmite a través del agente (broker). El agente actúa como punto medio que contacta un número de fuentes de información, obtener sus referentes IDs, recolectar información y a veces reorganizarla. El objeto servidor recibe el mensaje desde el agente y el proxy remoto (también conocido como Skeleton) desordena la información. La información es ingresada a un objeto servidor sirviente en donde un particular procesos es realizador. El resultado es devuelto de forma inversa a lo explicado. Las ventajas es que permiten generar reflexión y escalabilidad. También opera con múltiples tipos de información y estados y soporta procesos múltiples. Las desventajas incluyen pre vínculos antes de la ejecución y la necesidad de un código contenedor para algunos sistemas heredados.

Orientados a mensajes (MOM)
Se pueden dividir en dos tipos, espera y publicación/suscripción. El paso de espera se puede dividir en mensaje y espera. El paso de mensaje, inicia con que la aplicación envía un mensaje a uno o más 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 interactúan con estas. El MOM de publicación y suscripción actúa de manera ligeramente diferente. Es más orientado a eventos. Si un cliente quiere participar por primera vez, se une al bus de información. Dependiendo de su función, si es como publicador, suscriptor y ambas, este registra un evento. El publicador envía una noticia de un evento al bus de memoria. El servidor MOM envía un anuncio al subscriptor registrado cuando la información es disponible.




Orientados a componentes
Un componente es "programa que realiza una función específica, diseñada para operar e interactuar fácilmente con otros componentes y aplicaciones". El middleware en este caso en una configuración de componentes Los puntos fuertes de este middleware es que es configurable y reconfigurable. La reconfiguración se puede realizar en tiempo de ejecución, lo que ofrece una gran flexibilidad para satisfacer las necesidades de un gran número de aplicaciones.

Agentes
Los agentes son un tipo de middleware que posee varios componentes: entidades, los medios de comunicación y las leyes. Las entidades pueden ser objetos o procesos, los medios pueden ser canales, tuberías, etc. Mientras que las leyes identifican la naturaleza interactiva de los agentes, como son la sincronización o el tipo de esquema. Las fortalezas de los middleware agentes son que pueden realizar una gran cantidad de tareas en nombre del usuario y que pueden cubrir una amplia gama de estrategias basadas en el entorno que les rodea. Sin embargo su implementación es complicada debido a la complejidad y dificultades que se necesita para entender las operaciones que manejan.





Categoría de Aplicación
La clasificación por aplicación incluye los middleware que son ajustados para aplicaciones específicas.

DAM
Los middleware para acceso a información (Data Access middleware DAM), tienen la característica de poder interactuar con diversas fuentes de datos. En este tipo de middleware se encuentran los que procesan transacciones, Gateway de bases de datos y sistemas distribuidos de transacción/procedimiento.

Middleware de escritorio
Los middleware de escritorio pueden hacer variaciones en la presentación de la información pedida por el usuario por aplicaciones de rastreo y asistencia, controlar cualquier servicio de transporte y provee una copia de seguridad y otras operaciones de fondo.

Middleware basados en la web
Este tipo de middleware asiste al usuario con la navegación web, el uso de interface que le permiten encontrar páginas de su interés y detectar cambios de interés del usuario basado en su historial de búsquedas. Provee de un servicio de identificación para un gran número de aplicaciones y comunicación inter procesos independiente del sistema operativo, protocolo de red y plataforma de hardware. Los middleware que se encuentran fuertemente unido a la red se llaman servidores de aplicaciones, ya que mejorar el rendimiento, disponibilidad, escalabilidad, seguridad, recuperación de información, y soportan la administración colaborativa y su uso.

Middleware a tiempo real

La información en tiempo real es caracterizada por que la información correcta de este instante, puede no serlo en otro. Los middleware en tiempo real soportan las peticiones sensibles al tiempo y políticas de planificación. 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 (aplicación de base de datos en tiempo real, sensor de procesamiento y transmisión de información). La información que pasa a través de un middleware en tiempo real se ha incrementado dramáticamente con la introducción de Internet, redes inalámbricas.

















Evolución Middleware







El funcionamiento del Web está basado en el paradigma El funcionamiento del Web está basado en el paradigma cliente/servidor.

La evolución de la Web ha pasado de ser un medio de publicar y emitir documentos electrónicos a soportar aplicaciones cliente/servidor más interactivas.


La tecnología Middleware ha evolucionado proveyendo interoperabilidad en la arquitectura cliente / servidor. Usualmente, utilizado para brindar soporte a aplicaciones distribuidas y complejas.
Dentro del concepto Middleware se incluyen los servidores Web, servidores de aplicación, sistemas de “content management”, y herramientas similares que dan
Soporte al desarrollo y entrega de aplicaciones. Middleware, esencialmente, integra modernas tecnologías de la información basadas en XML, SOAP, servicios Web y SOA.



















Protocolos Middleware





UDP y TCP


·         Protocolos de nivel de transporte de Internet
·         Ambos permiten un paso de mensajes básicos.
o   UDP: con fallos por omisión:
o   TCP: garantiza la entrega en condiciones normales, pero al coste de una bajada en el rendimiento




Generalmente, usamos TCP sobre IP, o TCP/IP
Aunque TCP/UDP abstraen del nivel de red, no abstraen perfectamente de los niveles de hardware y SSOO.
**Distinto almacenamiento de números (little endian/big endian)
**Distinta codificación de caracteres (ASCII/Unicode).

Los protocolos de recursos y conectividad manejan todas las transacciones de red “específicas para grid” que se desarrollan entre los computadores y los recursos de grid. Por ejemplo, los computadores contribuyendo en una grid específica deben reconocer los mensajes de grid relevantes e ignorar el resto. Esto se hace mediante protocolos de comunicación que permiten a los recursos comunicarse unos con otros, permitiendo el intercambio de datos, y protocolos de autenticación, que proveen mecanismos seguros para verificar la identidad de los usuarios y los recursos.

Los servicios colectivos también se basan en protocolos: protocolos de información que obtienen información acerca de la estructura y el estado de los recursos en la grid, y protocolos de manejo, que negocian el acceso a los recursos de un modo uniforme. Los servicios colectivos incluyen: directorios de actualización de recursos disponibles,recursos negociables (para aquellos que disfrutan de las negociaciones en la bolsa, se trata de las negociaciones entre aquellos que quieren “comprar” recursos y aquellos que quieren “vender”) monitoreo y diagnóstico de problemas réplica de datos para que múltiples copias puedan estar disponibles en diferentes locaciones para facilitar su uso provisión de servicios de membresía/política para saber a quién se le ha permitido hacer qué y cuándo.









 Aplicaciones






Los servicios de middleware proporcionan un conjunto más funcional de la API s para permitir una aplicación a:
                                        
*      Localizar claramente a través de la red, proporcionando así una interacción con otro servicio o aplicación.

*      Los datos filtrados para que sean utilizables en un ambiente público a través de anonymization process para la protección de la privacidad.


*      Ser independiente del servicio de red.

*      Ser fiable y siempre disponible


*      Añadir los atributos complementarios como semántica en comparación con el sistema operativo y servicios de red.
Middleware ofrece algunas ventajas únicas tecnológicas 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 sólo a través 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 prácticamente 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 gestión de bases de datos (DBMS) o aplicaciones a través de un servidor web, sin tener en cuenta las características específicas de base de datos.


Los desarrolladores de redes inalámbricas pueden utilizar middleware para afrontar los retos asociados a los de sensores inalámbricos de red (WSN), o tecnologías WSN. La implementación de una aplicación de middleware permite WSN [[Los analistas Middleware desarrolladores]. Para integrar los sistemas operativos y hardware con la amplia variedad de aplicaciones diferentes que están disponibles actualmente.










1 comentario:

  1. En la actualidad existen miles de Apps activas, por lo que se deben tener en cuenta muchos factores a la hora de crear una y así garantizar su éxito y que supere a las ya existentes.

    Para lograr esto, la App debe ser funcional, original, novedosa, multiplataforma y lo suficientemente atractiva para atraer a los usuarios y que la conviertan en una de las más descargadas.

    Para la fase de desarrollo es importante pasar por un proceso de investigación, para estar seguro de que la App tendrá éxito y no será una más del montón para eso contrata a programadores en Mexico

    ResponderBorrar