Saltar la navegación

5.- Programación de servidores.

Caso práctico

Hoy Ada ha se ha reunido con Juan y Ana para ver la marcha del proyecto. Ana le ha comentado que van a revisar el servidor web de la aplicación, pues ya saben que no gestiona bien la concurrencia de peticiones, y que además, tarda mucho en procesar algunas de ellas. Ada les ha insistido en que además de solucionar el problema de los accesos simultáneos, deben conseguir que todos los servicios programados estén optimizados en cuanto a tiempos de respuesta. Juan y Ana, la miran y dicen -de acuerdo Ada, lo tendremos en cuenta.

Foto de Ada mirando al frente.
Foto que muestra un segmento de una pantalla  TFT en primer plano, donde se aprecia código java.

Entre los diferentes aspectos que se deben tener en cuenta cuando se diseña o se programa un servidor o servicio en red, vamos a resaltar los siguientes:

  • El servidor debe poder atender a multitud de peticiones que pueden ser concurrentes en el tiempo. Esto lo podemos conseguir mediante la programación del servidor utilizando hilos o Threads.
  • Es importante optimizar el tiempo de respuesta del servidor. Esto lo podemos controlar mediante la monitorización de los tiempos de proceso y transmisión del servidor.

La clase ServerSocket es la que se utiliza en Java a la hora de crear servidores. Para programar servidores o servicios basados en protocolos del nivel de aplicación, como por ejemplo el protocolo HTTP, será necesario conocer el comportamiento y funcionamiento del protocolo de aplicación en cuestión, y saber que tipo de mensajes intercambia con el cliente ante una solicitud o petición de datos.

En los siguientes apartados vamos a ver el ejemplo de cómo programar un servidor web básico, al que después le añadiremos la funcionalidad de que pueda atender de manera concurrente a varios usuarios, optimizando los recursos.

Citas para pensar

"Sin emoción no hay proyecto."Eduardo Punset