PROGRAMACION ORIENTADO A OBJETOS
3 NIVLES O POR CAPAS, (M.V.C)
Introducción
El patrón de arquitectura por capas es una de las técnicas más
comunes que los arquitectos de software utilizan para dividir sistemas de
software compilados.
Al pensar en un sistema en términos de capas, se imaginan los
principales subsistemas de software ubicados de la misma forma que las capas de
una torta, donde cada capa descansa sobre el interior. En este esquema la capa
más alta utiliza varios servicios definidos por la inferior, pero la última es
inconsciente de la superior. Además, normalmente cada capa oculta las capas
inferiores de las siguientes superiores a esta.
Los beneficios de trabajar un sistema en capas son:
1. Se puede entender una capa como un todo,
sin considerar las otras.
2. Las capas de pueden sustituir con
implementaciones alternativas de los mismos servicios básicos.
3. Se minimizan dependencias entre capas.
4. Las capas posibilitan la estandarización
de servicios.
5. Luego de tener una capa construida, puede
ser utilizada por muchos servicios de mayor nivel.
A continuación se muestra los siguientes
esquemas, de una arquitectura siguiendo este patrón.
A continuación se describen las tres capas
principales de un patrón de arquitectura por capas:
1. Capa de Presentación:
Se
refiere a la interacción entre el usuario y el software. Puede ser tan simple
como un menú basado en líneas de comando o tan complejo como una aplicación
basada en formas. Su principal responsabilidad es mostrar información al
usuario, interpretar los comandos de éste y realizar algunas validaciones
simples de los datos ingresados.
2. Capa de Reglas de Negocio (Empresarial):
También denominada Lógica de Dominio, esta
capa contiene la funcionalidad que implementa la aplicación. Involucra cálculos
basados en la información dada por el usuario y datos almacenados y
validaciones. Controla la ejecución de la capa de acceso a datos y servicios
externos. Se puede diseñar la lógica de la capa de negocios para uso directo
por parte de componentes de presentación o su encapsulamiento como servicio y
llamada a través de una interfaz de servicios que coordina la conversación con
los clientes del servicio o invoca cualquier flujo o componente de negocio.
3. Capa de Datos:
Esta capa
contiene la lógica de comunicación con otros sistemas que llevan a cabo tareas
por la aplicación. Estos pueden ser monitores transaccionales, otras
aplicaciones, sistemas de mensajerías, etc. Para el caso de aplicaciones
empresariales, generalmente está representado por una base de datos, que es
responsable por el almacenamiento persistente de información. Esta capa debe
abstraer completamente a las capas superiores (negocio) del lenguaje utilizado
para comunicarse con los repositorios de datos (PL/SQL, Transact-SQL, etc.).
Evolución
de la computación Distribuida.
v Computación
distribuida: Dividir una aplicación en partes que se ejecutan simultáneamente
en computadoras diferentes.
Ø Cada
una de estas partes se denomina “nivel” (tier).
Ø Cada
nivel brinda servicios a otros niveles cliente.
v Cada
nivel puede dividirse a su vez en “capas” (layers).
v La
mayoría de las aplicaciones posee tres capas
Ø Capa
de presentación.
Ø Capa
de negocio.
Ø Capa
de acceso a datos.
El
modelo MVC
v Propuesto
por Trygve Reenskaug en 1979.
Ø
“Applications
Programing in Smalltalk-80: how to use model-view-controller.”
Trygve
Mikkjel Heyerdahl Reenskaug (nacido el 21 de junio 1930) es un noruego informático y profesor emérito de la Universidad de Oslo. Formuló el modelo-vista-controlador
de patrón (MVC) para la interfaz
gráfica de usuario (GUI) del
software de diseño en 1979
v
Divide a la aplicación en tres (3) componentes:
§
El modelo administra la data y aplica la lógica de negocio.
§
La vista muestra la data de la aplicación y permite al usuario
interactuar con el sistema.
§
El controlador sirve de mediador entre la vista y modelo.
Aquí podemos apreciar gráficamente el modelo
MVC
Arquitecturas de un
nivel.
Ø Mainframes:
Accedidos mediante terminales.
Ø Las
interfaces de usuario, la lógica de negocio de la data estaban en una sola
computadora.
Ø Los
usuarios accedían mediante terminales o consolas.
Arquitectura de dos niveles.
Ø También conocida como “cliente-servidor”.
Ø Los clientes ejecutan los programas de
interfaz de usuario.
Ø Los
servidores administran la lógica de negocio y la data.
Ø Ejemplo:
aplicaciones Oracle Forms.
Ø En
algunos casos, la lógica de negocio estaba contenida en el cliente
Arquitectura de tres niveles.
Capas y niveles
Capa de presentación: la
que ve el usuario (también se la denomina "capa de 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). También es conocida como
interfaz gráfica y debe tener la característica de ser "amigable"
(entendible y fácil de usar) para el usuario. 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 (e
incluso de lógica del 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 almacenar o recuperar datos de
él. También se consideran aquí los programas de aplicación.
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.
En la arquitectura en 3 niveles, cada
servidor (nivel 2 y 3) realiza una tarea especializada (un servicio). Por lo
tanto, un servidor puede utilizar los servicios de otros servidores para
proporcionar su propio servicio. Por consiguiente, la arquitectura en 3 niveles
es potencialmente una arquitectura en N-niveles.
Ilustración
tres niveles:
Arquitectura en n-niveles.
v Los servidores web se encargan de la presentación del
contenido.
v Los servidores de aplicaciones contienen componentes
de negocios accesibles remotamente.
v Las ventajas son: mejor utilización, asignar expertos
en cada nivel.
Diferencia entre capas y niveles
En una arquitectura de tres niveles, los términos "capas" y "niveles" no significan lo mismo ni son similares.
El término "capa" hace referencia a la forma como una solución es segmentada desde el punto de vista lógico.
En una arquitectura de tres niveles, los términos "capas" y "niveles" no significan lo mismo ni son similares.
El término "capa" hace referencia a la forma como una solución es segmentada desde el punto de vista lógico.
Por ejemplo:
A. Presentación.
B. Lógica de Negocio.
C. Datos.
En cambio, el término "nivel" corresponde a la forma en que las capas lógicas se encuentran distribuidas de forma física.
1. Una solución de tres capas (presentación, lógica del negocio,
datos) que residen en una solo computadora (Presentación+lógica+datos). Se dice
que la arquitectura de la solución es de tres
capas y un nivel.
2. Una solución de tres capas (presentación, lógica del negocio, datos) que residen en dos computadores (presentación+lógica por un lado; lógica+datos por el otro lado). Se dice que la arquitectura de la solución es de tres capas y dos niveles.
Referencias:
gaaaaaaaaa
ResponderEliminar