miércoles, 14 de noviembre de 2012

Arquitectura Cliente/Servidor


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