1.2 Arquitecturas de La Tecnología Cliente - Servidor
1.2 Arquitecturas de La Tecnología Cliente - Servidor
1.2 Arquitecturas de La Tecnología Cliente - Servidor
Existen diversos patrones de arquitectura, que ya están definidos, para dar solución a
problemas específicos con la arquitectura. Entre los patrones más utilizados se
encuentran:
Arquitecturas en Capas
Arquitecturas de n niveles
La mayor ventaja de este patrón de arquitectura es que en el desarrollo se lleva a cabo en
varios niveles, o capas, y en el caso de que exista algún error o la necesidad de algún
cambio obligatorio, solo es necesario cambiar el nivel en cuestión, sin afectar el correcto
funcionamiento del resto del sistema.
Esta separación entre la lógica de aplicación de la interfaz de usuario añade una enorme
flexibilidad al diseño de la aplicación. Pueden construirse y desplegarse múltiples
interfaces de usuario sin cambiar en absoluto la lógica de aplicación siempre que está
presente una interfaz claramente definida a la capa de presentación.
Capas o niveles
Capa de presentación
Es la que se encarga de que el sistema interactúe con el usuario y viceversa, muestra el
sistema al usuario, le presenta la información y obtiene la información del usuario en un
mínimo de proceso. En el mundo de la informática es conocida como interfaz gráfica y
debe tener la característica de ser amigable, o sea, entendible y fácil de usar para el
usuario. Esta capa se comunica únicamente con la capa intermedia o de negocio.
Capa de negocio
Es donde residen las funciones que se ejecutan, se reciben las peticiones del usuario, se
procesa la información y se envían las respuestas tras el proceso. Se denomina capa de
negocio o capa de lógica del negocio, porque es aquí donde se establecen todas las reglas
que deben cumplirse. Esta capa se comunica con la de presentación, para recibir las
solicitudes y presentar los resultados, y con la capa de acceso a datos, para solicitar al
gestor de base de datos almacenar o recuperar datos de él.
En toda arquitectura de capa los elementos agrupados en una misma capa pueden
comunicarse entre si; pero existen variantes en cuanto a las comunicaciones permitidas
entre elementos de capas diferentes:
Los elementos de una capa i+1 pueden enviar solicitudes de servicio a elementos de la
capa inferior i. Típicamente se produce una cascada de solicitudes, es decir para satisfacer
una solicitud a una capa i+2, ésta requiere enviar varias solicitudes a la capa i+1; cada una
de estas solicitudes a la capa i+1 genera a su vez un conjunto de solicitudes a la capa i y así
sucesivamente. Una arquitectura top-down es laxa (o no estricta) si los elementos de una
capa i+1 pueden enviar solicitudes de servicio directamente a un elemento de cualquiera
de las i capas inferiores.
Cada elemento de una capa i puede notificar a elementos de la capa superior i+1 de que
ha ocurrido algún evento de interés (ej. manejadores de dispositivos). La capa i+1 puede
juntar varios eventos antes de notificar a su vez an elemento de la capa i+2. Una
arquitectura bottom-up tambien puede ser no estricta si el elemento de la capa i puede
notificar a cualquier elemento de cualquier capa superior a la capa i.
En su forma más común involucra dos pilas de N capas que se comunican entre si. El
ejemplo más conocido es el de los protocolos en Redes de Computadores.
Centraliza la gestión de las reglas del negocio en un único lugar (no se duplica en cada
aplicación)
Los clientes pidan o envíen información a esta aplicación centralizada, no al gestor de base
de datos en el servidor
Esta aplicación centralizada que conforma una nueva capa dentro de un sistema Cliente-
Servidor, se conoce como capa intermedia o middle-tier.
Ventajas
Los problemas de limitación para las conexiones a las bases de datos se minimizan ya que
la base de datos solo es vista desde la capa intermedia y no desde todos los clientes.
Además de que las conexiones y los drivers de las bases de datos no tienen que estar en
los clientes.
Capa de negocio (lógica del dominio), aquí ira todo el código que define las reglas
de negocio (cálculos, validaciones). Surge de los procesos que hemos encontrado
en el análisis.
Capa de acceso a datos, el código que permite acceder a las fuentes de datos.
Esencialmente trata sobre 4 operaciones básicas, llamadas CRUD (por Create-
Retrieve-Update y Delete), que se realizan sobre cualquier fuente de datos
(normalmente alguna base de datos relacional).
Este diseño corresponde a las 3 capas lógicas (3 layers). No confundir con las capas físicas
ó parte (3 tiers) que corresponden al lugar donde se instalan los componentes de
software.