La arquitectura cliente-servidor es un modelo de aplicación
distribuida en el que las tareas se reparten entre los proveedores de
recursos o servicios, llamados servidores, y los demandantes, llamados clientes.
Un cliente realiza peticiones a otro programa, el servidor, que le da respuesta. Esta idea también se puede aplicar a programas que se ejecutan sobre una sola computadora, aunque es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.
Un cliente realiza peticiones a otro programa, el servidor, que le da respuesta. Esta idea también se puede aplicar a programas que se ejecutan sobre una sola computadora, aunque es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.
En esta arquitectura la capacidad de proceso está repartida entre los
clientes y los servidores, aunque son más importantes las ventajas de
tipo organizativo debidas a la centralización de la gestión de la
información y la separación de responsabilidades, lo que facilita y
clarifica el diseño del sistema.
La separación entre cliente y servidor
es una separación de tipo lógico, donde el servidor no se ejecuta
necesariamente sobre una sola máquina ni es necesariamente un sólo
programa. Los tipos específicos de servidores incluyen los servidores web,
los servidores de archivo, los servidores del correo, etc. Mientras que
sus propósitos varían de unos servicios a otros, la arquitectura básica
seguirá siendo la misma.

Las Llamadas a Procedimientos Remotos, o RPC por sus siglas en ingles (Remote Procedure Call), es un protocolo
que permite a un programa de ordenador ejecutar código en otra máquina
remota sin tener que preocuparse por las comunicaciones entre ambos. El
protocolo es un gran avance sobre los sockets
usados hasta el momento. De esta manera el programador no tenía que
estar pendiente de las comunicaciones, estando éstas encapsuladas dentro
de las RPC.
Las RPC son muy utilizadas dentro del cliente-servidor.
Siendo el cliente el que inicia el proceso solicitando al servidor que
ejecute cierto procedimiento o función y enviando éste de vuelta el
resultado de dicha operación al cliente.
Hay distintos
tipos de RPC, muchos de ellos estandarizados como pueden ser el RPC de
Sun denominado ONC RPC , el RPC de OSF denominado DCE/RPC, Invocación de
Métodos Remotos de Java y el Modelo de Objetos de Componentes
Distribuidos de Microsoft DCOM, aunque ninguno de estos es compatible
entre sí. La mayoría de ellos utilizan un lenguaje de descripción de
interfaz que define los métodos exportados por el servidor.
Hoy en día se
está utilizando el XML como lenguaje para definir el IDL y el HTTP como
protocolo de red, dando lugar a lo que se conoce como servicios web.
Ejemplos de éstos pueden ser SOAP o XML-RPC.

Tolerancias a fallos es a la capacidad de un sistema de almacenamiento de acceder a
información aún en caso de producirse algún fallo. Esta falla puede
deberse a daños físicos (mal funcionamiento) en uno o más componentes de
hardware
lo que produce la pérdida de información almacenada. La tolerancia a
fallos requiere para su implementación que el sistema de almacenamiento
guarde la misma información en más de un componente de hardware o en una
máquina o dispositivo externos a modo de respaldo. De esta forma, si se
produce alguna falla con una consecuente pérdida de datos, el sistema
debe ser capaz de acceder a toda la información recuperando los datos
faltantes desde algún respaldo disponible.

No hay comentarios:
Publicar un comentario