Tipos de servidores, RMI, HTTP y servicios web: guía de conceptos

InformáticaActualizado el 3,35 KB

Resumen

El documento repasa los tipos de servidores (orientados o no a conexión, secuenciales, concurrentes, con y sin estado) y explica RMI, su funcionamiento y su arquitectura. Después describe el protocolo HTTP y los servicios web, sus ventajas e inconvenientes. Es un repaso útil para entender la comunicación entre procesos en sistemas distribuidos.

Puntos clave

  • Un servidor orientado a conexión (TCP) mantiene sesiones, mientras que uno no orientado a conexión (UDP) usa paquetes independientes y datagramas.
  • Un servidor concurrente atiende a varios clientes a la vez mediante multihilos o varios procesos simples.
  • Un servidor con estado (como FTP) mantiene información de las conexiones previas; uno sin estado (como HTTP) trata cada mensaje de forma independiente.
  • RMI permite invocar métodos de objetos remotos de forma similar a una aplicación no distribuida.
  • La arquitectura RMI se compone de STUB, referencia remota y capa de transporte (TCP).
  • Los servicios web adaptan el modelo web para aplicaciones no basadas en navegador, favoreciendo la interoperabilidad mediante estándares basados en texto.
  • Los servicios web tienen un rendimiento bajo por el formato texto y pueden esquivar firewalls.

Ponte a prueba

Tipos de Servidores

Orientado a conexión (TCP)

Los datos no incluyen información sobre la conexión. Permite sesiones simultáneas (solo si es concurrente).

No orientado a conexión (UDP)

Se pueden intercalar las sesiones. Los datos se intercambian usando paquetes independientes. Los paquetes son autocontenidos y necesitan información de conexión. No hay acuerdo previo entre el servidor y el cliente. Usa datagramas.

Secuencial

Un único proceso.

Concurrente

Un único proceso con multihilos (varios clientes simultáneos). Múltiples procesos simples (varios clientes simultáneos, pero con peor rendimiento).

Con Estado (FTP)

Debe mantener las conexiones anteriores y el estado del servicio.

Ventajas: mensajes de petición más cortos, mejor rendimiento, facilita la lectura adelantada, necesario en invalidaciones iniciadas por el servidor.

Sin Estado (NFS)

No mantiene información del estado. Cada mensaje es independiente de los demás (HTTP). Facilita la implementación del código del servidor.

Ventajas: más tolerante a fallos, no son necesarios open y close, menos mensajes, no se gasta memoria en el servidor.

RMI (Invocación a Método Remoto)

Proceso que invoca un método local de otro proceso. Permite que el software distribuido se programe igual que una aplicación no distribuida. Simplifica la comunicación entre procesos y la sincronización de eventos.

Ofrece:

  • Mecanismos para crear servidores y objetos cuyos métodos se pueden invocar remotamente.
  • Permite localizar los objetos remotamente.
  • Servicio de directorios (se ejecuta en la máquina servidor objeto).

Pasos:

  1. A llama al procedimiento remoto de B.
  2. La llamada dispara una acción de un procedimiento de B.
  3. B devuelve el valor a A.

Ventajas: sencillos, servidor concurrente.

Desventajas: sockets con menos sobrecarga, solo para plataformas Java.

Arquitectura RMI

  • STUB: se encarga de aplanar los parámetros.
  • Referencia Remota: interpreta y gestiona las referencias a objetos remotos. Invoca operaciones de la capa de transporte.
  • Transporte: gestiona las comunicaciones y establece las conexiones necesarias (TCP).

HTTP (Protocolo de Transferencia de Hipertexto)

Métodos: GET, HEAD, POST, PUT.

Ejemplo: GET /dirI/index.html HTTP/1.0

Problemas en el Desarrollo Web

Diversas tecnologías (PHP, ASP), muy centradas en la interacción con la persona.

Servicios Web

Adaptan el modelo de programación web para el uso en aplicaciones no basadas en navegador.

Objetivo: ejecutar desde diferentes sistemas operativos, diferentes lenguajes y herramientas, desarrollo independiente.

Ventajas: interoperabilidad, fomentan estándares y protocolos en texto, combinación fácil entre servicios y software.

Desventajas: no pueden compararse con los estándares de computación distribuida, rendimiento bajo al usar formato texto, pueden esquivar firewalls.

Descargar

PDF Word HTML

Preguntas frecuentes

¿Qué diferencia hay entre un servidor con estado y uno sin estado?

El servidor con estado debe mantener las conexiones anteriores y el estado del servicio, como ocurre en FTP. El servidor sin estado no guarda información entre mensajes, como sucede en HTTP, y cada mensaje es independiente.

¿Qué es RMI?

RMI (Invocación a Método Remoto) permite que un proceso invoque un método local de otro proceso. Facilita programar software distribuido como si fuera una aplicación no distribuida.

¿Cuáles son las ventajas de los servicios web?

Ofrecen interoperabilidad, fomentan estándares y protocolos en texto y permiten combinar fácilmente servicios y software. Pueden ejecutarse desde distintos sistemas operativos y lenguajes.

Ponte a prueba

Tarjetas de repaso

Pulsa una tarjeta para ver la respuesta.

Test

1. ¿Qué tipo de protocolo se considera orientado a conexión?
2. ¿Qué protocolo se usa como ejemplo de servidor sin estado?
3. ¿Qué elemento de la arquitectura RMI se encarga de aplanar los parámetros?
4. ¿Cuál es una desventaja de los servicios web?
5. ¿Qué método HTTP aparece en el ejemplo del documento?
6. ¿Qué caracteriza a un servidor concurrente?

Preguntas generadas con IA a partir del documento: comprueba las respuestas con el texto.