You are on page 1of 4

Programacin por capas

La programacin por capas es una arquitectura cliente-servidor en el que el objetivo primordial es la separacin de la lgica de negocios de la lgica de diseo; un ejemplo bsico de esto consiste en separar la capa de datos de la capa de presentacin 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 algn cambio, slo se ataca al nivel requerido sin tener que revisar entre cdigo mezclado. Un buen ejemplo de este mtodo de programacin sera el modelo de interconexin de sistemas abiertos. Adems, permite distribuir el trabajo de creacin de una aplicacin por niveles; de este modo, cada grupo de trabajo est totalmente abstrado del resto de niveles, de forma que basta con conocer la API que existe entre niveles. En el diseo de sistemas informticos actual se suelen usar las arquitecturas multinivel o Programacin por capas. En dichas arquitecturas a cada nivel se le confa una misin simple, lo que permite el diseo de arquitecturas escalables (que pueden ampliarse con facilidad en caso de que las necesidades aumenten). El diseo ms utilizado actualmente es el diseo en tres niveles (o en tres capas).

Capas y niveles
1. Capa de presentacin: es la que ve el usuario (tambin se la denomina "capa de usuario"), presenta el sistema al usuario, le comunica la informacin y captura la informacin del usuario en un mnimo de proceso (realiza un filtrado previo para

comprobar que no hay errores de formato). Tambin es conocida como interfaz grfica y debe tener la caracterstica de ser "amigable" (entendible y fcil 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 envan las respuestas tras el proceso. Se denomina capa de negocio (e incluso de lgica del negocio) porque es aqu donde se establecen todas las reglas que deben cumplirse. Esta capa se comunica con la capa de presentacin, 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. Tambin se consideran aqu los programas de aplicacin. 3. Capa de datos: es donde residen los datos y es la encargada de acceder a los mismos. Est formada por uno o ms gestores de bases de datos que realizan todo el almacenamiento de datos, reciben solicitudes de almacenamiento o recuperacin de informacin desde la capa de negocio. Todas estas capas pueden residir en un nico ordenador, si bien lo ms usual es que haya una multitud de ordenadores en donde reside la capa de presentacin (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 ms ordenadores. As, si el tamao o complejidad de la base de datos aumenta, se puede separar en varios ordenadores los cuales recibirn 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 separacin, esta capa de negocio podra residir en uno o ms ordenadores que realizaran 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 trminos "capas" y "niveles" no significan lo mismo ni son similares. El trmino "capa" hace referencia a la forma como una solucin es segmentada desde el punto de vista lgico:
Presentacin. (Conocida como capa Web) Lgica de Negocio. (Conocida como capa Aplicativa) Datos. (Conocida como capa de Base de Datos)

En cambio, el trmino "nivel" corresponde a la forma en que las capas lgicas se encuentran distribuidas de forma fsica. Por ejemplo:

Una solucin de tres capas (presentacin, lgica del negocio, datos) que residen en un solo ordenador (Presentacin+lgica+datos). Se dice que la arquitectura de la solucin es de tres capas y un nivel. Una solucin de tres capas (presentacin, lgica del negocio, datos) que residen en dos ordenadores (presentacin+lgica por un lado; lgica+datos por el otro lado). Se dice que la arquitectura de la solucin es de tres capas y dos niveles.

Estas tres capas las podemos denominar como: Presentacin, Reglas del Negocio y Acceso a Datos. A continuacin las explico cada una: Reglas del Negocio: Son todas las subrutinas creadas con el propsito de regular alguna accin del usuario. Por ejemplo, en una aplicacin bancaria una regla del negocio podra ser que el cliente no debe retirar por taquilla ms de U.S. $10.000 y en caso de una peticin de este tipo se genere un error. Acceso a Datos: En esta capa programamos todo lo que tiene que ver con el acceso a la base de datos. Esta capa queda encargada de tomar la informacin de la base de datos dada una peticin de la capa de Reglas del Negocio, que a su vez es generada por la capa de presentacin. MODELO TRADICIONAL Cul es la diferencia con la programacin tradicional? Probablemente se estar preguntando, Por qu esto es mejor que programar todo de una sola vez y qu diferencia hay entre una arquitectura y otra? Las grficas nos ayudarn a visualizar mejor estas diferencias. Todas las capas estn ubicadas en un nico elemento y al actualizar un elemento se tendrn que afectar todos

MODELO THREE-TIER En este el cambio en la capa de presentacin no afectar reglas del negocio y se pueden actualizar las funciones de reglas del negocio sin tener que cambiar el acceso a datos.

Como podemos apreciar en las grficas, resulta mucho ms prctico programar las capas por separado, sobretodo en situaciones que tenemos un equipo de trabajo de diferentes programadores o el proyecto es para una empresa con varias sucursales con polticas independientes.

En este el cambio en la capa de presentacin no afectar reglas del negocio y se pueden actualizar las funciones de reglas del negocio sin tener que cambiar el acceso a datos.

Como podemos apreciar en las grficas, resulta mucho ms prctico programar las capas por separado, sobretodo en situaciones que tenemos un equipo de trabajo de diferentes programadores o el proyecto es para una empresa con varias sucursales con polticas independientes. Lo recomendable para utilizar la arquitectura multitier es:

" Cuando el proyecto es muy grande.

" Cuando son varios los programadores y existen dificultades para coordinarlos, por ejemplo cuando el software se est desarrollando con programadores freelance que estn muy lejos unos de los otros. " Cuando el programa es para una empresa con varias sucursales y cada sucursal puede tener algunos mtodos y polticas diferentes. Por ejemplo, una empresa tiene una sucursal en Los Angeles y otra en Boston; la sucursal de Los Angeles slo permite compras a crdito por un valor de U.S$10.000 y la de Boston de U.S $12.000. Al utilizar un modelo multitier en este caso podemos cambiar el lmite del crdito sin tocar la capa de presentacin ni la de acceso a datos.

You might also like