Una
aplicación web es proporcionada por un servicio web y utiliza por usuarios que
se conectan desde cualquier punto vía clientes web (browsers
o navegadores). La arquitectura de un sitio web tiene
tres componentes principales:
Un
servidor web: El servidor Web distribuye páginas de
información formateada a los clientes que las solicitan.
Los requerimientos son hechos a través de una conexión de red, y para ello
se usa el protocolo HTTP. Una vez que se solicita esta petición mediante
el protocolo HTTP y la recibe el servidor Web, éste localiza la página Web
en su sistema de archivos y la envía de vuelta al navegador que la solicitó.
- Una conexión de red
- Uno o más clientes
Las
aplicaciones web se basan en una arquitectura
cliente/servidor:
por un lado está el cliente (el navegador, explorador o visualizador) y por
otro lado el servidor (el servidor web). Existen diversas variantes de la
arquitectura básica según cómo se implementen las diferentes funcionalidades de
la parte servidor.
Arquitectura Cliente/Servidor
La
arquitectura cliente/servidor es un modelo para el desarrollo de sistemas de
información en
el que las transacciones se dividen en procesos independientes que
cooperan entre sí para intercambiar información, servicios o recursos.
Se denomina cliente al proceso que inicia el diálogo o solicita los
recursos y servidor al proceso que responde a las solicitudes. En este modelo
las aplicaciones se dividen de forma que el servidor contiene la parte que debe
ser compartida por varios usuarios, y en el cliente permanece solo lo
particular de cada usuario.
Características
del Cliente:
- Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicación.
- Espera y recibe las respuestas del servidor.
- Por lo general, puede conectarse a varios servidores a la vez.
- Normalmente interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario.
Características
del Servidor:
- Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan entonces un papel pasivo en la comunicación.
- Tras la recepción de una solicitud, la procesan y luego envían la respuesta al cliente.
Arquitectura en tres capas
La
utilización de la plataforma Java Enterprise Edition (JEE 5.0) permite una
concepción del sistema en n- capas, en específico se usará una arquitectura en
tres capas, cuyo objetivo primordial es la separación de la lógica de negocios de la lógica de diseño;
un ejemplo básico de esto consiste en separar la capa de datos de la capa de
presentación al usuario. La ventaja principal de este estilo es que el
desarrollo se puede llevar a cabo en varios niveles y, en caso de que
sobrevenga algún cambio,
solo se ataca al nivel requerido sin tener que revisar entre código mezclado. Además,
permite distribuir el
trabajo de
creación de una aplicación por niveles; de este modo, cada grupo de trabajo está totalmente
abstraído del resto de los niveles.
Capa
de presentación: Es
la que ve el usuario, presenta el sistema al usuario, le comunica la
información y captura la información del usuario en 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.
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
porque 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.
Capa
de datos: Es
donde residen los datos y es la encargada de acceder a los mismos. 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.
Patrón
Modelo-Vista-Controlador (MVC): El patrón MVC separa los datos de una
aplicación, la interfaz de usuario, y la lógica de control en tres componentes
distintos. La lógica de un interfaz de usuario cambia con más frecuencia que
los almacenes
de datos y
la lógica de negocio. Si se realiza un diseño donde se mezclan los componentes
de interfaz y de negocio, entonces la consecuencia será que, cuando se necesite
cambiar la interfaz, se tendrá que modificar trabajosamente los componentes de
negocio. Mayor trabajo y más riesgo de error. Se trata de
realizar un diseño que desacople la vista del modelo, con la finalidad de
mejorar la reusabilidad. De esta forma las modificaciones en las vistas
impactan en menor medida en la lógica de negocio o de datos.
No hay comentarios:
Publicar un comentario