title: Aplicación distribuida
text: # Aplicación distribuida
  
  Una aplicación con distintos componentes que se ejecutan en entornos separados, normalmente en diferentes plataformas conectadas a través de una red. Las típicas aplicaciones distribuidas son de dos niveles (cliente-servidor), tres niveles (cliente-middleware-servidor) y multinivel.
  
  # Aplicación distribuida
  ## Componentes de una aplicación distribuida
  
  Una aplicación distribuida que sigue el modelo cliente-servidor tiene los siguientes componentes:
  * Lado servidor: Programa que se ejecuta en un computador que está conectado a una red. Está a la escucha en un puerto, esperando las peticiones de los clientes; por ejemplo, un servidor Web escucha en el puerto 80. Un computador que ejecuta un servidor de aplicación necesita estar conectado a la red para responder a las peticiones de los clientes.
  * Lado cliente: Programa que ejecuta el usuario de la aplicación. El cliente hace sus peticiones al servidor a través de la red. Por ejemplo, un navegador Web.
  * Protocolo de aplicación para la comunicación entre el cliente y el servidor. El protocolo define el tipo de mensajes intercambiados; por ejemplo, el protocolo de la capa de aplicación de la Web, HTTP, define el formato y la secuencia de los mensajes transmitidos entre el navegador y el servidor Web.
  * Formato de los mensajes que se intercambian, algunas veces forma parte del servicio; por ejemplo, en el correo electrónico se define el formato de los mensajes electrónicos.
  Estos componentes son independientes de la arquitectura de red que se utiliza.
  
  # Aplicación distribuida
  ## Ejemplos de aplicaciones distribuidas
  
  Algunas de las aplicaciones distribuidas más conocidas son remote login, correo electrónico, navegación Web, streaming, telefonía IP y compartición de ficheros(P2P).