Creación de la capa de datos
La programación por capas es un estilo de programación en el que el 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,
sólo se ataca al nivel requerido sin tener que revisar código entremezclado.
Se agrupan por cada capa una serie de recomendaciones basadas en el modelo de
tres capas propuesto en el subsistema de Arquitectura, en el área Arquitectura
Tecnológica, de MADEJA. Se han realizado estudios y recomendaciones sobre de
las tecnologías más recomendables para la arquitectura propuesta y se presentan
una serie de pautas tanto a nivel funcional como para la construcción e integración
de cada capa.
La ventaja de la variedad de tecnologías disponibles para el desarrollo de las
diferentes capas de las aplicaciones Java, presenta el inconveniente de la utilización
conjunta de varias de ellas. Debido a esto se deben establecer unos criterios que
hagan posible una integración óptima entre las tecnologías empleadas. Estos
criterios se han recogido en forma de pautas que se describen en esta área.
La programación por capas es una arquitectura cliente-servidor en el que el 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, sólo se ataca al nivel
requerido sin tener que revisar entre código mezclado.
Un buen ejemplo de este método de programación sería el modelo de interconexión
de sistemas abiertos. 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 niveles, de forma que basta con conocer la API que existe
entre niveles. En el diseño de sistemas informáticos actual se suelen usar las
arquitecturas multinivel o Programación por capas. En dichas arquitecturas a cada
nivel se le confía una misión simple, lo que permite el diseño de arquitecturas
escalables (que pueden ampliarse con facilidad en caso de que las necesidades
aumenten).
El diseño más utilizado actualmente es el diseño en tres niveles (o en tres capas)
Capas y niveles:
1. Capa de presentación: es 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.
2. 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.
3. 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.
Todas estas capas pueden residir en un único ordenador, si bien lo más usual es
que haya una multitud de ordenadores en donde reside la capa de presentación
(son los clientes de la arquitectura cliente/servidor). Las capas de negocio y de datos
pueden residir en el mismo ordenador, y si el crecimiento de las necesidades lo
aconseja se pueden separar en dos o más ordenadores. Así, si el tamaño o
complejidad de la base de datos aumenta, se puede separar en varios ordenadores
los cuales recibirán las peticiones del ordenador en que resida la capa de negocio.
Si, por el contrario, fuese la complejidad en la capa de negocio lo que obligase a la
separación, esta capa de negocio podría residir en uno o más ordenadores que
realizarían solicitudes a una única base de datos. En sistemas muy complejos se
llega a tener una serie de ordenadores sobre los cuales corre la capa de negocio, y
otra serie de ordenadores sobre los cuales corre la base de datos.
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:
• Presentación. (Conocida como capa Web en aplicaciónes Web o como capa de
usuario en Aplicaciones Nativas) • Lógica de Negocio. (Conocida como capa
Aplicativa)
• Datos. (Conocida como capa de Base de Datos)
En cambio, el término "nivel" corresponde a la forma en que las capas lógicas se
encuentran distribuidas de forma física. Por ejemplo:
• Una solución de tres capas (presentación, lógica del negocio, datos) que residen
en un solo ordenador (Presentación+lógica+datos). Se dice que la arquitectura de
la solución es de tres capas y un nivel.
• Una solución de tres capas (presentación, lógica del negocio, datos) que residen
en dos ordenadores (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.