Este documento describe los conceptos básicos de la arquitectura cliente-servidor. Explica que consta de tres capas lógicas (presentación, negocio y datos) que pueden residir físicamente en uno o más niveles. También describe los roles del cliente y el servidor, y diferentes tipos de servidores como servidores de archivos, bases de datos, correo y más. Por último, resume la evolución de la arquitectura cliente-servidor a lo largo de las épocas.
2. MODELO BÁSICO DE UN SISTEMA
DISTRIBUIDO
Un nivel físico que denominaremos plataforma del sistema.
Un nivel físico que denominaremos plataforma del sistema.
Un nivel de software, constituido por servicios de sistema, donde se
apoyan los programas cliente y servidor.
Un nivel de proceso donde se ejecutan cliente/servidor y donde se
intercambian peticiones y respuestas.
3. DISEÑO DE APLICACIONES CLIENTE
SERVIDOR
Capa de presentación: es la que ve el usuario (hay quien la denomina
"capa de usuario"), presenta el sistema al usuario, le comunica la
información y captura la información del usuario dando un mínimo de
proceso (realiza un filtrado previo para comprobar que no hay errores de
formato). Esta capa se comunica únicamente con la capa de negocio.
También es conocida como interfaz grafica y debe tener la característica
de ser amigable(entendible y fácil de usar) para el usuario.
4. DISEÑO DE APLICACIONES CLIENTE
SERVIDOR
Capa de negocio: es donde residen los programas que se ejecutan,
se reciben las peticiones del usuario y se envían las respuestas tras
el proceso. Se denomina capa de negocio (e incluso de lógica del
negocio) pues es aquí donde se establecen todas las reglas que
deben cumplirse. Esta capa se comunica con la capa de
presentación, para recibir las solicitudes y presentar los resultados,
y con la capa de datos, para solicitar al gestor de base de datos
para almacenar o recuperar datos de él.
5. Capa de datos: es donde residen los datos y es la encargada de
acceder a los datos. Está formada por uno o más gestores de bases
de datos que realizan todo el almacenamiento de datos, reciben
solicitudes de almacenamiento o recuperación de información
desde la capa de negocio.
.
6. Todas estas capas pueden residir en un único ordenador (no es lo
típico). Si bien lo más usual es que haya una multitud de ordenadores
en donde reside la capa de presentación (son los clientes de la
arquitectura cliente/servidor). Las capas de negocio y de datos pueden
residir en el mismo ordenador, y si el crecimiento de las necesidades lo
aconseja se pueden separar en dos o mas computadores. Así, si el
tamaño o complejidad de la base de datos aumenta, se puede separar
en varios ordenadores los cuales recibirán las peticiones del ordenador
en que resida la capa de negocio.
7. Si por el contrario fuese la complejidad en la capa de negocio lo
que obligase a la separación, esta capa de negocio podría residir
en uno o mas ordenadores que realizarían solicitudes a una única
base de datos. En sistemas muy complejos se llega a tener una
serie de ordenadores sobre los cuales corre la capa de datos, y
otra serie de ordenadores sobre los cuales corre la base de datos.
8. El servidor es el elemento especializado que proporciona la funcionalidad o los
datos, es decir el servicio: datos compartidos, información activa como es estado de
un pedido, recursos físicos compartidos, servicios de impresión, archivoos,
funciones comunes, funciones centralizadas, etc.
Su posición es reactiva, es decir, está inactivo esperando la petición del servicio, la
recibe, la procesa, proporciona la respuesta y vuelve a quedar inactivo a la espera
de la llegada de la siguiente petición.
9. El cliente es el elemento que pide y usa el servicio que proporciona
la funcionalidad o el dato.
Su posicion en proactiva, es decir está trabajando y cuando lo
necesita llama al servidor. Soporta la lógica de las aplicaciones.
10. En esta arquitectura, el Servidor WEB Cliente que explora una
cola en la parte cliente ( lista de espera de peticiones pendientes)
y enlaza con el servidor WEB de distribución para realizar una
delegación de servicio.
Una de las ventajas operativas de esta arquitectura es su
transparencia respecto a la plataforma del servidor WEB.
11. La arquitectura basada en un Cliente WEB proporciona
prestaciones básicas que según las necesidades de la aplicación
distribuida pueden ser muy útiles.
* El cliente WEB actúa como cliente de la aplicación distribuida con
la gran ventaja que se ejecuta en cualquier ordenador con
navegador aun desconociendo la plataforma cliente.
* El cliente WEB es el mismo para clientes locales que remotos.
* No hay problemas de mantenimiento de versiones ya que el
servidor WEB hace de servidor de programas. Sin embargo, si
Internet deja de funcionar, el cliente se queda sin servicio.
* El alcance de la aplicación distribuida es tan amplio como la red.
Y no hay que hacer ninguna instalación en la máquina cliente para
que la aplicación funcione.
* La aplicación distribuida se integra con el resto de la instalación.
Si las anteriores aplicaciones distribuidas ya disponían de los
servidores creados, Internet los usa rápidamente. Si no es así, los
servidores construidos quedan a disposición de todas las
aplicaciones
12. ARQUITECTURA DE n CAPAS
En una arquitectura de tres niveles, los términos "capas" y
"niveles" no significan lo mismo ni son similares.
El término "capa" hace referencia a la forma como una
solución es segmentada desde el punto de vista lógico:
Presentación/ Lógica de Negocio/ Datos.
En cambio, el término "nivel", corresponde a la forma en que
las capas lógicas se encuentran distribuidas de forma física.
Por ejemplo:
13. ARQUITECTURA DE n CAPAS
En una arquitectura de tres niveles, los términos "capas" y "niveles" no
significan lo mismo ni son similares.
El término "capa" hace referencia a la forma como una solución es
segmentada desde el punto de vista lógico:
Presentación/ Lógica de Negocio/ Datos.
En cambio, el término "nivel", corresponde a la forma en que las capas lógicas
se encuentran distribuidas de forma física. Por ejemplo:
•Una solución de tres capas (presentación, lógica, datos) que residen
en un solo ordenador (Presentación+lógica+datos). Se dice, que la
arquitectura de la solución es de tres capas y un nivel.
•Una solución de tres capas (presentación, lógica, datos) que residen
en dos ordenadores (presentación+lógica, lógica+datos). Se dice que
la arquitectura de la solución es de tres capas y dos niveles.
•Una solución de tres capas (presentación, lógica, datos) que residen
en tres ordenadores (presentación, lógica, datos). La arquitectura
18. Categorías Servidores
Servidores de archivos.- Proporciona archivos para clientes.
Si los archivos no fueran tan grandes y los usuarios que
comparten esos archivos no fueran muchos, esto sería una
gran opción de almacenamiento y procesamiento de
archivos. El cliente solicita los archivos y el servidor los
ubica y se los envía.
Servidores de Base de Datos.- Son los que almacenan gran
cantidad de datos estructurados, se diferencian de los de
archivos pues la información que se envía está ya resumida
en la base de datos. Ejemplo: El Cliente hace una consulta,
el servidor recibe esa consulta (SQL) y extrae solo la
información pertinente y envía esa respuesta al cliente.
19. Servidores de Software de Grupo.- El software de grupo es
aquel, que permite organizar el trabajo de un grupo. El servidor
gestiona los datos que dan soporte a estas tareas. Por ejemplo:
almacenar las listas de correo electrónico. El Cliente puede
indicarle, que se ha terminado una tarea y el servidor se lo
envía al resto del grupo.
Servidores WEB.- Son los que guardan y proporcionan Páginas
HTML. El cliente desde un browser o link hace un llamado de la
página y el servidor recibe el mensaje y envía la página
correspondiente.
20. Servidores de correo.- Gestiona el envío y recepción de correo
de un grupo de usuarios (el servidor no necesita ser muy
potente). El servidor solo debe utilizar un protocolo de correo.
Servidores de impresión.- Gestionan las solicitudes de impresión
de los clientes. El cliente envía la solicitud de impresión, el
servidor recibe la solicitud y la ubica en la cola de impresión,
ordena a la impresora que lleve a cabo las operaciones y luego
avisa a la computadora cliente que ya acabo su respectiva
impresión
21. Servidor de objetos.- Permite almacenar objetos que pueden ser
activados a distancia. Los clientes pueden ser capaces de activar
los objetos que se encuentran en el servidor.
Servidores de aplicación.- Se dedica a una única aplicación. Es
básicamente una aplicación a la que pueden acceder los
clientes.
22. Evolución Cliente /Servidor
• 1ª ÉPOCA:
– LAN.
– LAN con MAINFRAMES.
– Comunicaciones homogéneas (LU, SNA, APPC).
• 2ª ÉPOCA:
– Herramientas de desarrollo C/S.
– Proveedores DBMS con C/S.
– Downsizing: migración a PCs.
– S.O. De red con servidores de servicios.
23. Evolución Cliente /Servidor
• 3ª ÉPOCA: ACTUAL.
– PWS: Estaciones de trabajo programables gráficamente.
– GUI: Interfaz gráfico de usuario. Alta resolución.
– Nuevas tecnologías: Ratón, lápiz óptico, scanner,
multimedia.
– Tecnología de componentes: DDE y OLE.
– Conectividad de BDs: ODBC, JDBC
– Objetos Distribuidos: CORBA, COM, COM+, DCOM
– Internet: HTML, CGI, Applet, ActiveX, JAVA, JAVASCRIPT
– Arquitecturas C/S de 2 y 3 niveles.
– Middleware.