Está en la página 1de 5

Programacin por capas

La programacin por capas es un estilo de programacin en la que el objetivo primordial es la separacin de la lgica de negocios de la lgica de diseo, un ejemplo bsico de esto es 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 algn cambio slo se ataca al nivel requerido sin tener que revisar entre cdigo mezclado. Un buen ejemplo de este mtodo de programacin seria !odelo de intercone"in de sistemas abiertos #dems permite distribuir el trabajo de creacin de una aplicacin por niveles, de este modo, cada grupo de trabajo est totalmente abstra$do del resto de niveles, simplemente es necesario conocer la #%& que e"iste entre niveles. 'n el diseo de sistemas in(ormticos actual se suele usar las arquitecturas multinivel o Programacin por capas. 'n dic)as arquitecturas a cada nivel se le con($a una misin simple, lo que permite el diseo de arquitecturas escalables *que pueden ampliarse con (acilidad en caso de que las necesidades aumenten+. 'l diseo ms en boga actualmente es el diseo en tres niveles *o en tres capas+. Capas o niveles 1.- Capa de presentacin: es la que ve el usuario, presenta el sistema al usuario, le comunica la in(ormacin y captura la in(ormacin del usuario dando un m$nimo de proceso *realiza un (iltrado previo para comprobar que no )ay errores de (ormato+. 'sta capa se comunica nicamente con la capa de negocio. 2.- Capa de negocio: es donde residen los programas que se ejecutan, recibiendo las peticiones del usuario y enviando las respuestas tras el proceso. ,e denomina capa de negocio *e incluso de lgica del negocio+ pues es aqu$ donde se establecen todas las reglas que deben cumplirse. 'sta 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 para almacenar o recuperar datos de l.

3.- Capa de datos: es donde residen los datos. 'st (ormada por uno o ms gestor de bases de datos que realiza todo el almacenamiento de datos, reciben solicitudes de almacenamiento o recuperacin de in(ormacin desde la capa de negocio. -odas estas capas pueden residir en un nico ordenador *no ser$a lo normal+, si bien lo ms usual es que )aya una multitud de ordenadores 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 mas ordenadores. #s$, 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. ,i por el contrario (uese la complejidad en la capa de negocio lo que obligase a la separacin, esta capa de negocio podr$a residir en uno o mas ordenadores que realizar$an solicitudes a una nica base de datos. 'n sistemas muy complejos se llega a tener una serie de ordenadores sobre los cuales corre la capa de datos, y otra serie de ordenadores sobre los cuales corre la base de datos.

'n una arquitectura de tres niveles, los trminos /capas/ y /niveles/ no signi(ican lo mismo ni son similares. 'l trmino /capa/ )ace re(erencia a la (orma como una solucin es segmentada desde el punto de vista lgico %resentacin. Lgica de 0egocio. 1atos. 'n cambio, el trmino /nivel/, corresponde a la (orma en que las capas lgicas se encuentran distribuidas de (orma ($sica. %or ejemplo Una solucin de tres capas *presentacin, lgica, datos+ que residen en un solo ordenador *%resentacin2lgica2datos+. ,e dice, que la arquitectura de la solucin es de tres capas y un nivel. Una solucin de tres capas *presentacin, lgica, datos+ que residen en dos ordenadores *presentacin2lgica, lgica2datos+. ,e dice que la arquitectura de la solucin es de tres capas y dos niveles. Una solucin de tres capas *presentacin, lgica, datos+ que residen en tres ordenadores *presentacin, lgica, datos+. La arquitectura que la de(ine es solucin de tres capas y tres niveles.

Arquitectura software

'n Los inicios de la in(ormtica, la programacin se consideraba un arte, debido a la di(icultad que entraaba para la mayor$a de los mortales, pero con el tiempo se )an ido desarrollando metodolog$as y frmulas o trucos para conseguir nuestros propsitos. 3 a todas estas tcnicas se les )a dado en llamar Arquitectura Software. Una #rquitectura ,o(t4are, tambin denominada Arquitectura lgica, consiste en un conjunto de patrones y abstracciones co)erentes que proporcionan el marco de re(erencia necesario para guiar la construccin del so(t4are para un sistema de in(ormacin. La arquitectura so(t4are establece los (undamentos para que analistas, diseadores, programadores, etc. trabajen en una l$nea comn que permita alcanzar los objetivos y necesidades del sistema de in(ormacin. Una arquitectura so(t4are se selecciona y disea con base en unos objetivos y restricciones. Los objetivos son aquellos pre(ijados para el sistema de in(ormacin, pero no solamente los de tipo (uncional, tambin otros objetivos como la mantenibilidad, auditabilidad, (le"ibilidad e interaccin con otros sistemas de in(ormacin. Las restricciones son aquellas limitaciones derivadas de las tecnolog$as disponibles para implementar sistemas de in(ormacin. Unas arquitecturas son ms recomendables de implementar con ciertas tecnolog$as mientras que otras tecnolog$as no son aptas para determinadas arquitecturas. %or ejemplo, no es viable emplear una arquitectura so(t4are de tres capas para implementar sistemas en tiempo real. La arquitectura so(t4are de(ine, de manera abstracta, los componentes que llevan a cabo alguna tarea de computacin, sus inter(aces y la comunicacin ente ellos. -oda arquitectura so(t4are debe ser implementable en una arquitectura fsica, que consiste simplemente en determinar qu computadora tendr asignada cada tarea de computacin. La arquitectura de so(t4are, tiene que ver con el diseo y la implementacin de estructuras de so(t4are de alto nivel. 's el resultado de ensamblar un cierto nmero de elementos arquitectnicos de (orma adecuada para satis(acer la mayor (uncionalidad y requerimientos de desempeo de un sistema, as$ como requerimientos no (uncionales, como la con(iabilidad, escalabilidad, portabilidad, y disponibilidad. Kruchten, Philippe a!la de contenidos 5ocultar6 7 8reve resea )istrica 9 !odelos o vistas : #rquitecturas ms comunes o :.7 8ibliogra($a ; <ase tambin

"reve rese#a $istrica

'n los aos 7=>? ya se acariciaba el concepto de arquitectura so(t4are en los c$rculos de investigacin *por ejemplo, por 'dsger 1ij@stra+. 0o obstante, toma popularidad en los aos 7==? tras reconocerse la denominada crisis del so(t4are y como tema de inters de la incipiente disciplina de la ingenier$a del so(t4are. %odelos o vistas -oda arquitectura so(t4are debe describir diversos aspectos del so(t4are. Aeneralmente, cada uno de estos aspectos se describe de una manera ms comprensible si se utilizan distintos modelos o vistas. 's importante destacar que cada uno de ellos constituye una descripcin parcial de una misma arquitectura y es deseable que e"ista cierto solapamiento entre ellos. 'sto es as$ porque todas las vistas deben ser co$erentes entre s&, evidente dado que describen la misma cosa. Bada paradigma de desarrollo e"ige di(erente nmero y tipo de vistas o modelos para describir una arquitectura. 0o obstante, e"isten al menos tres vistas absolutamente (undamentales en cualquier arquitectura La visin La visin La visin largo del est'tica describe qu componentes tiene la arquitectura. funcional describe qu )ace cada componente. din'mica describe cmo se comportan los componentes a lo tiempo y como interactan entre s$.

Las vistas o modelos de una arquitectura pueden e"presarse mediante uno o varios lenguajes. 'l ms obvio es el lenguaje natural, pero e"isten otros lenguajes tales como los diagramas de estado, los diagramas de (lujo de datos, etc. 'stos lenguajes son apropiados nicamente para un modelo o vista. #(ortunadamente e"iste cierto consenso en adpotar U!L *Unified Modeling Language, lenguaje uni(icado de modelado+ como lenguaje nico para todos los modelos o vistas. ,in embargo, un lenguaje generalista corre el peligro de no ser capaz de describir determinadas restricciones de un sistema de in(ormacin *o e"presarlas de manera incomprensible+. Arquitecturas m's comunes Aeneralmente, no es necesario inventar una nueva arquitectura so(t4are para cada sistema de in(ormacin. Lo )abitual es adoptar una arquitectura conocida en (uncin de sus ventajas e inconvenientes para cada caso en concreto. #s$, las arquitecturas ms universales sn !onol$tica. 1onde el so(t4are se estructura en grupos (uncionales muy acoplados. BlienteCservidor. 1onde el so(t4are reparte su carga de cmputo en dos partes independientes pero sin reparto claro de (unciones. #rquitectura de tres niveles. 'specializacin de la arquitectura clienteC servidor donde la carga se divide en tres partes con un reparto claro de (unciones una capa para la presentacin, otra para el clculo y otra para el almacenamiento. Una capa solamente tiene relacin con la siguiente.

Dtras arquitecturas menos conocidas son 'n pipeline. 'ntre pares. 'n pizarra. Drientada a servicios.

!quinas virtuales

Cliente-servidor 'sta arquitectura consiste bsicamente en que un programa, el Bliente in(ormtico realiza peticiones a otro programa, el servidor, que les da respuesta. #unque esta idea se puede aplicar a programas que se ejecutan sobre una sola computadora es ms ventajosa en un sistema multiusuario distribuido a travs de una red de computadoras. 'n esta arquitectura la capacidad de proceso est repartida entre los clientes y los servidores, aunque son ms importantes las ventajas de tipo organizativo debidas a la centralizacin de la gestin de la in(ormacin y la separacin de responsabilidades, lo que (acilita y clari(ica el diseo del sistema. La separacin entre cliente y servidor es una separacin de tipo lgico, donde el servidor no se ejecuta necesariamente sobre una sola mquina ni es necesariamente un slo programa. Una disposicin muy comn son los sistemas multicapa en los que el servidor se descompone en di(erentes programas que pueden ser ejecutados por di(erentes computadoras aumentando as$ el grado de distribucin del sistema. La arquitectura cliente-servidor sustituye a la arquitectura monol&tica en la que no )ay distribucin, tanto a nivel ($sico como a nivel lgico. <entajas de la arquitectura clienteCservidor Bentralizacin del control los accesos, recursos y la integridad de los datos son controlados por el servidor de (orma que un programa cliente de(ectuoso o no autorizado no pueda daar el sistema. 'scalabilidad se puede aumentar la capacidad de clientes y servidores por separado. ,e reduce el tr(ico de red considerablemente. &dealmente, el cliente se comunica con el servidor utilizando un protocolo de alto nivel de abstraccin como por ejemplo ,EL

También podría gustarte