Middleware
Middleware tiene dos significados distintos, aunque relacionados. Uno es el software que permite que dos programas independientes interactúen entre sí. El otro es una capa de software dentro de una sola aplicación que permite que diferentes aspectos del programa funcionen juntos.
El tipo más común de middleware es el software que permite que dos programas independientes se comuniquen y compartan datos. Un ejemplo es el software de un servidor web que permite que el servidor HTTP interactúe con motores de scripting como PHP o ASP al procesar los datos de una página web. El middleware también permite que el servidor web acceda a datos de una base de datos al cargar contenido para una página web. En cada uno de estos casos, el middleware se ejecuta silenciosamente en segundo plano, pero funciona como un importante "pegamento" entre las aplicaciones del servidor.
El middleware también ayuda a que diferentes aplicaciones se comuniquen a través de una red de computadoras. Permite que diferentes protocolos funcionen juntos al traducir la información que se envía de un sistema a otro. Este tipo de middleware puede instalarse como un componente de una "arquitectura orientada a servicios" (SOA) en cada sistema de la red. Cuando se envían datos entre estos sistemas, el componente de middleware los procesa primero y luego genera salida en un formato estándar que cada sistema puede entender.
El middleware también puede existir dentro de una sola aplicación. Por ejemplo, muchos juegos 3D utilizan un "motor 3D" que procesa los polígonos, las texturas, la iluminación, el sombreado y los efectos especiales del juego. Los motores 3D se consideran middleware porque reúnen diferentes aspectos del juego. Por ejemplo, la inteligencia artificial del juego trabaja junto con el motor 3D para crear la dinámica del juego.
El middleware de los motores de juegos incluye una API personalizada, que proporciona a los desarrolladores funciones y comandos estándar para controlar objetos dentro del juego. Esto simplifica el desarrollo de juegos al permitir que los programadores utilicen una biblioteca de funciones previamente escritas en lugar de crearlas desde cero. También significa que los motores 3D pueden utilizarse en más de un juego.
Pon a prueba tu conocimiento