Las aplicaciones web son un
tipo especial de aplicaciones
cliente/servidor.
ARQUITECTURA
Cliente/servidor es una arquitectura de red en la que
cada ordenador o proceso en la red es cliente o servidor.
Normalmente, los servidores son ordenadores potentes
dedicados a gestionar unidades de disco , mientras que
los clientes son máquinas menos potentes y usan los
recursos que ofrecen los servidores.
El cliente web es un programa con el que interacciona el
usuario para solicitar a un servidor web el envío de los
recursos que desea obtener mediante HTTP . La parte cliente
de las aplicaciones web suele estar formada por el código
HyperText Markup Language (HTML) que forma la página web
El servidor web es un programa que está
esperando permanentemente las solicitudes de
conexión mediante el protocolo HTTP por parte
de los clientes web.
utiliza
En los sistemas Unix y en los sistemas Microsoft Windows un
servicio. La parte servidor de las aplicaciones web está
formada por páginas estáticas que siempre muestran el
mismo contenido y por programas o scripts que son
ejecutados por el servidor web cuando el navegador del
cliente solicita algunas páginas.
VENTAJAS
La principal ventaja de esta arquitectura es
que permite separar las funciones según su
servicio, permitiendo situar cada función en
la plataforma más adecuada para su
ejecución
Las redes de ordenadores permiten que
múltiples procesadores puedan ejecutar
partes distribuidas de una misma aplicación,
logrando concurrencia de procesos.
Existe la posibilidad de migrar aplicaciones de
un procesador a otro con modificaciones
mínimas en los programas.
Se obtiene una escalabilidad de la
aplicación. Permite la ampliación horizontal
o vertical de las aplicaciones.
La escalabilidad horizontal se requiere a la capacidad
de añadir o suprimir estaciones de trabajo que
hagan uso de la aplicación (clientes), sin que afecte
sustancialmente al rendimiento general.
La escalabilidad vertical permite la migración hacia
servidores de mayor o menor capacidad y velocidad o
de un tipo diferente.
Posibilita el acceso a los datos
independientemente de donde se
encuentre el usuario.
La arquitectura cliente/servidor nos permite la
separación de funciones en tres niveles
Lógica de presentación. La presentación de los
datos es una función independiente del resto.
Lógica de negocio (o aplicación). Los Flujos de
trabajo pueden cambiarse según las necesidades
existentes de un procesador a otro.
Lógica de datos. La gestión de los datos debe ser
independiente para poder ser distribuida según las
necesidades de la empresa en cada momento
Modelos de distribución
Presentación distribuida
El cliente sólo mantiene la presentación, el
resto de la aplicación se ejecuta remotamente
. La presentación distribuida, en su
forma más simple, es una interfaz gráfica de
usuario a la que se le pueden acoplar
controles de validación de datos, para evitar la
validación de los mismos en el servidor.
Aplicación distribuida
Es el modelo que proporciona máxima flexibilidad,
puesto que permite tanto a servidor como a
cliente mantener la lógica de negocio realizando
cada uno las funciones que le sean más propias,
bien por organización, o bien por mejora en el
rendimiento del sistema
Datos distribuidos
Los datos son los que se distribuyen, por lo que la
lógica de datos es lo que queda separada del resto de
la aplicación. Se puede dar de dos formas: fcheros
distribuidos o bases de datos distribuidas.
Arquitecturas de dos y tres niveles
Una arquitectura de dos niveles está basada en un sistema
gestor de bases de datos donde el cliente mantiene la lógica de
la presentación, negocio, y de acceso a los datos, y el servidor
únicamente gestiona los datos. Suelen ser aplicaciones
cerradas que supeditan la lógica de los procesos cliente al
gestor de base de datos que se está usando.
las arquitecturas de tres niveles, la lógica de presentación, la
lógica de negocio y la lógica de datos están separadas, de tal
forma que mientras la lógica de presentación se ejecutará
normalmente en la estación cliente, la lógica de negocio y la de
datos pueden estar repartidas entre distintos procesadores.
características
Una combinación de la parte cliente que
interactúa con el usuario y la parte servidor que
interactúa con los recursos compartidos
La parte cliente y servidor tienen diferentes
necesidades de recursos a la hora de ejecutarse:
velocidad de procesador, memoria, velocidad y
capacidad de los discos duros, dispositivos de
entrada/salida, etc.
El cliente y el servidor se suelen comunicar a
través de unas API2 y RPC3
Normalmente la parte cliente se implementa
haciendo uso de una interfaz gráca de usuario, que
permite la introducción de datos a través de teclado,
ratón, lápiz óptico, etc.