Tipos de Servidores, RMI y Servicios Web: Guía Completa
Clasificado en Informática
Escrito el en español con un tamaño de 3,35 KB
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:
- A llama al procedimiento remoto de B.
- La llamada dispara una acción de un procedimiento de B.
- 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.