0% encontró este documento útil (0 votos)
38 vistas7 páginas

1.2 Arquitecturas de La Tecnología Cliente - Servidor

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1/ 7

1.2 Arquitecturas de la tecnología Cliente - Servidor.

Arquitectura de tres niveles. La arquitectura de software incluye los aspectos estáticos y


dinámicos más significativos del software que se desea crear. De acuerdo Robert
Pressman, la arquitectura de software no es otra cosa que “…una descripción de los
subsistemas y los componentes de un sistema informático y las relaciones entre ellos”. De
igual manera, la arquitectura de software de tres niveles, incluye todos estos aspectos, y
además, brinda mejores opciones para proyectos informáticos de gran alcance y
complejidad.

La arquitectura de software a utilizar para desarrollar un producto software se define en la


fase de elaboración, para poder comprender mejor el sistema, organizar el desarrollo del
mismo, fomentar la reutilización, y hacer evolucionar el sistema.

Patrones de Arquitectura de Software

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:

 Modelo Vista Controlador (MVC)

 Arquitecturas en Capas

 Arquitecturas Orientadas a Objetos

 Arquitecturas Basadas en Componentes

 Arquitecturas Orientadas a Servicios

Arquitectura por capas


Uno de los más utilizados por empresas desarrolladoras de software para crear productos
informáticos, es el patrón de arquitectura por capas. Los principales estilos de
arquitecturas estratificadas de las aplicaciones distribuidas contemporáneas son:

 Arquitecturas de dos niveles

 Arquitecturas de tres niveles

 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.

Arquitectura de tres niveles


También conocida como arquitectura de tres
capas, la arquitectura de tres capas, define
cómo organizar el modelo de diseño en capas,
que pueden estar físicamente distribuidas, lo
cual quiere decir que los componentes de una
capa sólo pueden hacer referencia a
componentes en capas inmediatamente inferiores. Este patrón es importante porque
simplifica la comprensión y la organización del desarrollo de sistemas complejos,
reduciendo las dependencias de forma que las capas más bajas no son conscientes de
ningún detalle o interfaz de las superiores. Además, nos ayuda a identificar qué puede
reutilizarse, y proporciona una estructura que nos ayuda a tomar decisiones sobre qué
partes comprar y qué partes construir.

Para enfrentarse a estos temas, la comunidad de software desarrolló la noción de una


arquitectura de tres niveles. La aplicación se divide en tres capas lógicas distintas, cada
una de ellas con un grupo de interfaces perfectamente definido. La primera capa se
denomina capa de presentación y normalmente consiste en una interfaz gráfica de
usuario de algún tipo.

La capa intermedia, o capa de empresa, consiste en la aplicación o lógica de empresa, y la


tercera capa, la capa de datos, contiene los datos necesarios para la aplicación. La capa
intermedia (lógica de aplicación) es básicamente el código al que recurre la capa de
presentación para recuperar los datos deseados. La capa de presentación recibe entonces
los datos y los formatea para su presentación.

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.

Capa de acceso a datos


Esta capa es la encargada de almacenar los datos del sistema y de los usuarios. Su función
es almacenar y devolver datos a la capa de negocio, aunque para esto también es
necesario en algunos casos, que tengan procedimientos almacenados y funciones dentro
de la capa. En una arquitectura de tres capas, esta capa es la única que puede acceder a
los mismos. Está formada por uno o varios sistemas gestores de bases de datos,
localizados en un mismo servidor o en varios.

Estas capas, pueden estar localizadas todas en un mismo ordenador, si el programa


o software informático que se desarrolla es de baja complejidad, porque si, por el
contrario, fuera de gran complejidad tanto los datos como la lógica de negocio, entonces
cada una de las capas pudiera estar situada en diferentes ordenadores, para mejorar la
funcionalidad de las mismas, incluso, en productos de gran complejidad, existen varios
ordenadores para la capa de acceso a datos, y varios ordenadores para la capa de negocio.

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:

1. Arquitectura top-down de capas:

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.

2. Arquitectura bottom-up de capas:

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.

3. Arquitectura bidireccional de capas

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.

ARQUITECTURA CLIENTE-SERVIDOR DE 3 CAPAS


La especialización de la arquitectura cliente-servidor donde la carga se divide en tres
partes (o capas) con un reparto claro de funciones: una capa para la presentación (interfaz
de usuario), otra para el cálculo (donde se encuentre modelado el negocio) y otra para el
almacenamiento (acceso a datos). Una capa solamente tiene relación con la siguiente.

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 componentes de la aplicación pueden ser desarrollados en cualquier lenguaje general


lo que posibilita que el grupo de desarrolladores no se centre en el uso de un solo
lenguaje.
Los componentes están centralizados lo que posibilita su fácil desarrollo, mantenimiento y
uso.

Los componentes de la aplicación pueden estar esparcidos en múltiples servidores


permitiendo una mayor escalabilidad.

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.

Especialización de la arquitectura cliente-servidor donde la carga se divide en tres partes


(o capas) con un reparto claro de funciones: una capa para la presentación (interfaz de
usuario), otra para el cálculo (donde se encuentra modelado el negocio) y otra para el
almacenamiento (acceso a datos). Una capa solamente tiene relación con la siguiente.

Diseñar en 3 capas...trata sobre no poner todo tu código en las interfaces de usuario de tu


sistema (IU). Para subsanar esto, la idea es tener 3 niveles de funcionalidad bien definidos:

 Capa de presentación, con nuestras IU (formularios windows, páginas HTML,..) y


sus controles visuales (textBox, comboBox, dataGrids) junto con sus eventos (los
click y etc.)

 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).

Debajo de esta última se encontrará la FUENTE de DATOS que permite la persistencia de


los mismos en algún medio físico.

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.

En 3 tiers la ejecución está distribuida:

 Front-End, donde se ejecutan las IU del cliente. Los Browsers.

 MiddleWare, recibe solicitudes de las IU a través de la red. Estos son mensajes


(XML, SOAP,...) que se envían mediante protocolos de transporte
(HTTP,TCP,UDP,..). El Servidor Web.

 BackEnd, nuestra base de datos ó algún proceso externo a nuestro software.

Por último "Modelo-Vista-Controlador" es un patrón de diseño de arquitectura que está


asociado a la idea de 3 capas (3 layers), aunque su objetivo es aún más fino. El mismo se
centra en la secuencia de ejecución, desde que se produce un evento en la capa de
presentación hasta que el mismo es atendido en forma completa.

Las partes que lo componen son:


 Vista: componente que recibe el estímulo y genera un evento, que puede
involucrar a otros objetos de la IU. Corresponde a la capa de presentación, y al
Front-End(en Web:Html, JavaScript,...), aunque suele haber parte en el
MiddleWare (controles ASP,PHP,...)

 Modelo: componente asociado a las entidades de negocio (cliente, factura,


pago,...). En 3 capas incluye parte de la capa de negocio (entidades, pero no lógica
de procesos) y toda la capa de acceso a datos. En 3 tiers se instala en el BackEnd (la
BD) y parte en el MiddleWare (entidades de negocio y acceso a datos).

 Controlador: componente asociado a la lógica de procesos del negocio. En 3 capas


la parte que faltaba y en 3 tiers en el MiddleWare.

También podría gustarte