Middleware - Concepto
Middleware es un software cuyo objetivo y función es el asistir a una aplicación a comunicarse con otras aplicaciones, paquetes de programas, redes, hardware y/o sistemas operativos. Éste simplifica el trabajo de los programadores en la compleja tarea de generar las conexiones y sincronizaciones que son necesarias en los sistemas distribuidos.
De esta forma, se provee una solución que mejora la calidad de servicio, así como la seguridad, el envío de mensajes, etc.
Caracteristicas
- Los sercicios de middleware proporcionan un conjunto más funcional de API de SO y servicios de red para permitir el uso de una aplicación.
- Ofrece búsqueda transparente a través de la red, proporcionando una interacción con otra aplicación o servicios.
- Es independiente de los servicios de red.
- Posee ampliación en capacidad, sin perder su función.
Aplicaciones
Los servicios de middleware proporcionan un conjunto más funcional de la API's para permitir una aplicación, estas pueden ser:
- 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.
Tipos de Middleware
Los tipos de Middleware se pueden clasificar en los siguientes puntos:
- Remote Procedure Call
- Message - orientado por Middleware
- Object Request Broker
- SQL - orientado a Data Access
Otras tipos de middleware que pueden haber son:
- Monitoreo del tratamiento transaccional.
- Uso conexión de servidores.
- Topologia de bus en el servicio de la empresa.
Dependiendo del problema a resolver y de las funciones necesarias, serán ú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 comunicación a través de la red. Éste simplifica el trabajo de los programadores en la compleja tarea de generar las conexiones y sincronizaciones que son necesarias en los sistemas distribuidos. De esta forma, se provee una solución que mejora la calidad de servicio, así como la seguridad, el envío de mensajes, la actualización del directorio de servicio, etc.