Arquitectura cliente/servidor


Procesa la información de un modo distribuido. De esta forma, los usuarios finales pueden estar dispersos en un área geográfica mñas o menos extensa (un edificio, una localidad, un país,...) y acceder a un conjunto común de recursos compartidos.

Características:

  • El acceso debe ser transparente(el cliente puede desconocer la ubicación física del recurso que pretende utilizar)y, preferiblemnte, multiplataforma, es decir, independiente del sistema operativo, del software de aplicación e incluso del hardware.
  • Protocolos asimétricos, donde el servidor se limita a escuchar, en espera de que un cliente inicie una solicitud
  • El servidor ofrecerá recursosResultado de imagen de servidor de recursos
  • El servidor ofrecerá también una serie de servicios, que serás usados por los clientes. Estos servidores estarán encapsulados, para ocultar a los clientes por los detalles de su implementación(por ejemplo, aceptar el requerimiento de un cliente sobre una base de datos o formatear los datos obtenidos antes de transmitirlos al cliente). A los servidores de Linux se les conoce comunmente como "demonio".


  • Facilitará la integridad y el mantenimiento tanto de los datos como de los programas debido a que se encuentran centralizados en el servidor o servidores.
  • Los sistemas estarán débilmente acoplados.
  • Facilitar la estabilidad.


El servidor:
  • Cuando hablamos de una forma genérica, al mencionar a un servidor, nos referimos a un ordenador, normalmente con prestaciones elevadas, que ejecuta servicios para atender las demandas de diferentes clientes.
  • Al servidor en un entorno cliente/servidor se suele denominar back-end.
Aquí se muesrta un thin server, seguido por un servidor potente

  • El cliente como el que requiere servicio de un servidor, denominándose front-end



  • El middleware es la parte software que se encarga del transporte entre el cliente y el servidor por lo que se ejecuta en ambos lados de la estructura, tanto en el cliente como en el servidor. Tiene 3 niveles:
El protocolo de transporte, común para todas las aplicaciones, el sistema operativo en red y el protocolo de servicio que es específico del tipo de sistema cliente/servidor.

  • Se situa entre el SO y las aplicaciones que se situan en él. Funciona como una capa oculta que permite la comunicación y administración de datos en aplicaciones distribuidas, denominándose "plumbing". Conectan dos aplicaciones para que se puedan pasar fácilmente datos y bases de datos por una canalización.

El SO de red debe de ofrecer transparencia tanto a los procesos que actúan como clientes como a los que actúan como servidores, y debe de hacerlo en los siguientes aspectos:
  • La autenticación: el mismo nombre de usuario y la misma contraseña deben servir para acceder a recursos en todo el sistema.
  • La confidencialidad: transmisión de datos utilizando algún mecanismo de cifrado para el intercambio de información ente el cliente y el servidor.
  • El espacio de nombres: deben de ser independientes de los sistemas operativos que los alojan.
  • La ubicación: debe conocerse sólo por su nombre.
  • El protocolo: nos permite ejecutar un servicio en el cliente como si se tratara de un procedimiento local, encapsulando todo el proceso de comunicación, se denomina RPC.
  • La administración: facilitar un mecanismo de gestión para todos los recursos.
  • Los protocolos: deben tener una API idéntica en todos los sistemas.
  • El acceso a los recursos: debe producirse como si estuviese ubicado en el mismo sistema donde se encuentre el cliente.
  • La replicación: no exista diferencia entre las copias.
  • El tratamiento de los fallos: mecanismos de detección de fallos.
  • El tiempo: los relojes deben de estar sincronizados.
Grupos de trabajo como alternativa al modelo cliente/servidor
Un grupo de trabajo es la forma más simple de compartir recursos entre diferentes ordenadores de una red de dimensiones reducidas. En él, todos los equipos se encuentran al mismo nivel de importancia y ninguno de ellos tiene control sobre los otros.
En este tipo de estructuras cada ordenador dispone de sus propias cuentas de usuario, administradas de forma local.
Un grupo de trabajo puede ser la solución más acertada cuando hablamos de un conjunto pequeño de ordenadores, que se encuentren en la misma red, donde cada uno de ellos oferce recursos en función de sus propias características y donde la seguridad no es relevante.
  • Es complicado realizar cambios en la configuración (hay que aplicarlos en cada ordenador implicado).
  • Las cuentas de usuario son locales y sólo podemos utilizarlas en el ordenador donde se han creado.
  • El administrador local de un equipo puede hacer cambios en la configuración que afecten al resto de los usuarios.
  • La seguridad no se encuentra centralizada.




Los sistemas operativos más frecuentes en la estructura cliente servidor son, en el lado servidor:
  • Microsoft Windows Server(principalmente las versiones 2003, 2008,2012,2016)

  • GNU/Linux Server(son frecuentes las distribuciones(RedHat, Ubuntu Server, CentOS, SuSE Linux Enterprise Server,..)
  • UNIX(IBM AIX,HP-UX)
  • Solaris/OpenSolaris
  • Apple OS X Server

Requisitos Windows Server:
Socket de CPU 3,1 GHz (procesador de 64 bits)
Memoria (RAM) 16 GB
Discos duros y espacio de almacenamiento disponible 160 GB de disco duro con una partición de sistema de 60 GB



Requisitos Ubuntu Server :
Aunque nosotros le vamos a dar menos recursos estos son los que recomienda Ubuntu. Nosotros en esta instalación lo vamos a hacer con 1024 Mb y 10 Gb que para hacer pruebas  nos vale perfectamente pero si vas a hacer algo más serio te recomiendo que lo configures así:

Memoria RAM Memoria RAM: 2048 Mb recomendado 2 Gb
PROCESADOR Procesador: Procesador Dual Core
disco duro Disco Duro: 20 Gb

A continuación adjunto el manual para la instalación de Windows Server y Ubuntu Server


Comentarios

Entradas populares