6. Arquitectura Cliente/Servidor
Con el aumento de la velocidad y
potencia de las computadoras personales y el decremento en su precio, los sistemas se han ido
distanciando de la arquitectura centralizada. Los terminales conectados a un sistema
central han sido suplantados por computadoras personales. De igual forma, la
interfaz de usuario, que solía estar gestionada directamente por el sistema
central, está pasando a ser gestionada cada vez más por las computadoras
personales. Como consecuencia, los sistemas centralizados actúan hoy como
sistemas servidores que satisfacen las peticiones generadas por los sistemas
clientes.
Conceptualmente, las plataformas
cliente/servidor son parte del concepto de sistemas abiertos, en el cual todo tipo de computadores,
sistemas operativos, protocolos de redes y otros, software y hardware, pueden
interconectarse y trabajar coordinadamente para lograr los objetivos del
usuario. Sin embargo, en la práctica, los problemas de alcanzar tal variedad de
sistemas operativos, protocolos de redes, sistemas de base de datos y otros,
que trabajen conjuntamente pueden ser muchos. El objetivo de los sistemas
abiertos consiste en lograr la interoperabilidad, que es el estado de dos o más
sistemas heterogéneos comunicándose y contribuyendo cada uno a alguna parte del
trabajo que corresponde a una tarea común.
Características de un sistema Cliente/Servidor
Un sistema cliente/servidor es aquel
en el que uno o más clientes y uno o más servidores,
conjuntamente con un sistema operativo
subyacente y un sistema de comunicación entre procesos, forma un sistema
compuesto que permite cómputo distribuido, análisis, y presentación de los
datos. Si existen múltiples servidores de procesamiento de base de datos, cada
uno de ellos deberá procesar una base de datos distinta, para que el sistema
sea considerado un sistema cliente/servidor. Cuando dos servidores procesan la misma
base de datos, el sistema ya no se llama un sistema cliente/servidor, sino que
se trata de un sistema de base de datos distribuido.
Los clientes, a través de la red,
pueden realizar consultas al servidor. El servidor tiene el control sobre los datos; sin embargo los
clientes pueden tener datos privados que residen en sus computadoras. Las principales
características de la arquitectura cliente/servidor son:
- El servidor presenta a todos sus
clientes una interfaz única y bien definida.
- El cliente no necesita conocer la
lógica del servidor, sólo su interfaz externa.
- El cliente no depende de la
ubicación física del servidor, ni del tipo de equipo físico en el que se encuentra, ni de su sistema operativo.
- Los cambios en el servidor implican
pocos o ningún cambio en el cliente.
Partes de un sistema Cliente-Servidor
Los principales componentes de un
sistema cliente/servidor son:
- El núcleo (back-end o sección
posterior). Es el SGBD propiamente (servidor).
- El interfaz (front-end o sección
frontal). Aplicaciones que funcionan sobre el SGBD (cliente).
- La sección frontal
Las secciones frontales son las
diversas aplicaciones ejecutadas dentro del SGBD, tanto las escritas
por los usuarios como las “integradas”
que son las proporcionadas por el proveedor del SGBD o bien por otros
proveedores de programas (aunque para la sección posterior no existe diferencia
entre las aplicaciones escritas por los usuarios y las integradas, ya que todas
utilizan la misma interfaz con la sección posterior).
Funciones del Cliente:
-Administrar la interfaz gráfica de
usuario.
-Aceptar datos del usuario.
-Procesar la lógica de la aplicación.
-Generar las solicitudes para la base
de datos.
-Transmitir las solicitudes de la base
de datos al servidor.
-Recibir los resultados del servidor.
-Dar formato a los resultados.
Como Funciona:
Primero, el usuario crea la consulta.
Puede ser una consulta creada en el instante o puede ser una consulta preprogramada o almacenada
anteriormente. Después la aplicación cliente convierte la consulta al SQL usado
por el servidor de la base de datos y la envía a través de la red al servidor.
El servidor verifica que el usuario
tiene los derechos de seguridad apropiados a la consulta de datos requerida. Si es así, verifica la
consulta y envía los datos apropiados de vuelta al cliente. La aplicación cliente
recibe la respuesta y le da formato para presentarlo al usuario.
Finalmente, el usuario ve la respuesta
en la pantalla y puede manipular los datos, o modificar la consulta y empezar el proceso de
nuevo.
- La sección posterior
La sección posterior es el SGBD en sí.
Permite llevar a cabo todas las funciones básicas de un SGBD: definición de datos,
manipulación de datos, seguridad, integridad, entre otras. En particular, permite
establecer todos los aspectos de los niveles externo, conceptual e interno
(arquitectura ANSI/SPARC)
Funciones del Servidor:
-Aceptar las solicitudes de la base de
datos de los clientes.
-Procesar dichas solicitudes.
-Dar formato a los resultados y
transmitirlos al cliente.
-Llevar a cabo la verificación de
integridad.
-Mantener los datos generales de la
base de datos.
-Proporcionar control de acceso
concurrente.
-Llevar a cabo la recuperación.
-Optimizar el procesamiento de
consultas y actualización.
Como funciona:
Un servidor concurrente realiza los
siguientes pasos:
1.- Espera que llegue la consulta de
un cliente.
2.- Cuando le llega una nueva
consulta, comienza un nuevo proceso para manejar esta consulta.
El nuevo servidor maneja la totalidad de la consulta.
Cuando se ha procesado completamente, este nuevo proceso termina.
3.- Se vuelve al primer paso.
No hay comentarios:
Publicar un comentario