4D v14Arquitectura de 4D Server |
||
|
4D v14
Arquitectura de 4D Server
Arquitectura de 4D Server
Con su arquitectura cliente/servidor, 4D Server no sólo guarda y administra la base, también ofrece servicios a los clientes. Estos servicios funcionan a través de una red por intermedio de un sistema de peticiones y de respuestas. Para buscar un conjunto de registros, por ejemplo, un equipo cliente envía una petición al servidor. Una vez recibida la petición, el servidor ejecuta la búsqueda en local, es decir en el equipo servidor, y cuando termina devuelve el resultado (registros encontrados). La arquitectura de 4D Server está basada en el modelo cliente/servidor. Por muchos años, la arquitectura cliente/servidor se ha impuesto, convirtiéndose en el modelo más eficiente en bases de datos multiusuarios. El tipo de arquitectura cliente/servidor de 4D Server es similar al utilizado en el mundo de los minicomputadores. Sin embargo, 4D Server ofrece dos innovaciones importantes:
Antes de la aparición de la arquitectura cliente/servidor, los sistemas multiusuario utilizaban el compartimiento de archivos como modelo de arquitectura de red. En este modelo, todos los usuarios comparten los mismos datos, pero la gestión de datos no es controlada por un motor de base de datos central. Cada equipo cliente debe guardar una copia de la estructura y del motor de la base, mientras el servidor se encarga de la gestión del software de compartimiento de archivos en la red. En el modelo de compartimiento de archivos, cada estación de trabajo efectúa en local todas las acciones de modificación en los datos. Esto crea un tráfico de red importante, ya que cada petición consiste en múltiples comunicaciones a través de la red. El esquema siguiente es un ejemplo de tráfico de red generado cuando un usuario busca personas de apellido “Gómez.” Otra desventaja del modelo de compartimiento de archivos es la imposibilidad de utilizar una memoria caché para conservar los registros en memoria. Si los registros se conservan en memoria, puede haber diferentes versiones del mismo registro almacenado en la memoria caché, produciendo inconsistencia en los datos. Por lo tanto, cada vez que un usuario accede a un registro, debe ser descargado del servidor de archivos. Esto produce tráfico de red y aumenta el tiempo necesario para acceder a los datos. La arquitectura cliente/servidor es utilizada ampliamente en el mundo de los minicomputadores, para la gestión de bases de datos muy grandes, gracias a su eficiencia y velocidad. En esta arquitectura, el trabajo se divide entre los clientes y el servidor de manera que aumente el rendimiento. El servidor contiene el motor central de la base, que guarda y administra los datos. El motor de la base es el único software que accede a los datos almacenados en el disco. Cuando un cliente envía una petición al servidor, el servidor envía el resultado. El resultado puede ser de todo tipo desde un simple registro a modificar hasta una lista ordenada de registros. En general, la mayoría de las arquitecturas cliente/servidor se llaman arquitecturas heterogéneas, porque las aplicaciones frontales ejecutadas en los equipos cliente y el motor de la base de datos ejecutado en el equipo servidor son dos productos diferentes. En esta situación, un driver de base de datos es necesario para servir de traductor entre los clientes y el servidor. Para buscar un registro, por ejemplo, un cliente envía una petición al servidor. Como la base está almacenada en el servidor, el servidor ejecuta el comando localmente en el equipo servidor y envía el resultado al cliente. La siguiente imagen muestra un ejemplo de tráfico de red generado cuando un usuario busca cada persona de apellido “Smith” y muestra el primer registro encontrado. Este ejemplo muestra dos diferencias mayores entre el compartimiento de archivos y la arquitectura cliente/servidor:
En la mayoría de las arquitecturas cliente/servidor, la aplicación cliente y la aplicación servidor son dos productos separados, que necesitan una capa de comunicación para poder entenderse entre ellos. Con 4D Server, la arquitectura cliente/servidor es totalmente integrada. 4D Server y 4D son dos aplicaciones que comparten la misma estructura y se comunican directamente. Como 4D Server y 4D hablan el mismo idioma, no es necesario traducir las peticiones. La división del trabajo entre el cliente y el servidor es transparente y es manejada automáticamente por 4D Server. La división del trabajo está organizada de tal manera que una petición está asociada a una respuesta. Como lo puede ver en el diagrama anterior, el cliente es responsable de:
El servidor es responsable de las siguientes tareas:
Esta división del trabajo es extremadamente eficaz gracias a la integración de 4D Server y 4D. La integración de la arquitectura de 4D Server está presente en cada nivel:
Como el tamaño de la ventana sólo permite mostrar doce registros y cinco campos a la vez. 4D Server envía exactamente doce registros. En lugar de enviar la totalidad de los registros, 4D Server envía sólo el número de registros y campos que pueden mostrarse en la ventana. Si el usuario se desplaza por el formulario, 4D Server envía los registros adicionales o campos necesarios. Esta optimización reduce el tráfico de red asegurando que los registros y campos se envíen sólo cuando sea necesario. |
PROPIEDADES
Producto: 4D ARTICLE USAGE
Manual de 4D Server ( 4D v13) |