Arquitectura de tres niveles . La arquitectura de software incluye los aspectos estáticos y dinámicos más signicativos del software que se desea crear. crear. De acuerdo Robert Pressman, la arquitectura de software 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 softwa software re de tres tres nivele niveles, s, incluy incluye e todos todos estos estos aspect aspectos, os, y además además,, brinda brinda me#ores opciones para proyectos informáticos de gran alcance y comple#idad. La arquitectura de software a utili$ar para desarrollar un producto software se dene en la fase de elaboraci!n, para poder comprender me#or el sistema, organi$ar el desarrollo del mismo, fomentar la reutili$aci!n, y %acer evolucionar el sistema.
Arquitectura por capas &no de los más utili$ados por empresas desarrolladoras de software para crear productos informáticos, es el patr!n de arquitectura por capas. Los principales esti estilo los s de arqu arquit itec ectu tura ras s estr estrat ati ica cada das s de las las apli aplica caci cion ones es dist distri ribu buid idas as contemporáneas son' •
(rquitecturas de dos niveles
•
(rquitecturas de tres niveles
•
(rquitecturas de n niveles
La mayor venta#a 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 e)ista 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 +ambin +ambin conocida como arquitectura de tres capas, la arquitectura de tres capas, dene c!mo organi$ar el modelo de dise-o en capas, que pueden estar fsicamente distribuidas, lo cual quiere decir que los componentes de una capa s!lo s!lo pued pueden en %ace %acerr refe referrencia encia a comp compon onen ente tes s en capa capas s inme inmedi diat atam ament ente e inferiore inferiores. s. /ste patr!n es importante importante porque simplica simplica la comprensi! comprensi!n n y la orga organi ni$ $aci aci!n del del desa desarr rro ollo llo de sist sistem emas as comp omple# le#os, os, reduc educie iend ndo o las las dependencias de forma que las capas más ba#as no son conscientes de ning*n detalle o interfa$ de las superiores. (demás, nos ayuda a identicar qu puede reutili$arse, y proporciona una estructura que nos ayuda a tomar decisiones sobre qu partes comprar y qu partes construir. construir. Para enfrentarse a estos temas, la comunidad de software desarroll! la noci!n de una arqui arquitec tectur tura a de tres tres nivele niveles. s. La aplica aplicaci! ci!n n se divid divide e en tres tres capas capas l!gicas distintas, cada una de ellas con un grupo de interfaces perfectamente
denido. La primera capa se denomina capa de presentaci!n y normalmente consiste en una interfa$ gráca 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 0l!gica de aplicaci!n1 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. /sta separaci!n entre la l!gica de aplicaci!n de la interfa$ de usuario a-ade una enorme 2e)ibilidad 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 esta presente una interfa$ claramente denida a la capa de presentaci!n.
MODELO
VISTA CONTROLADOR
3odelo 4ista 5ontrolador 03451 es un estilo de arquitectura de software que separa los datos de una aplicaci!n, la interfa$ de usuario, y la l!gica de control en tres componentes distintos. 6e trata de un modelo muy maduro y que %a demostrado su valide$ a lo largo de los a-os en todo tipo de aplicaciones, y sobre multitud de lengua#es y plataformas de desarrollo. •
•
•
/l Modelo que contiene una representaci!n de los datos que mane#a el sistema, su l!gica de negocio, y sus mecanismos de persistencia. La Vista, o interfa$ de usuario, que compone la informaci!n que se enva al cliente y los mecanismos interacci!n con ste. /l Controlador, que act*a como intermediario entre el 3odelo y la 4ista, gestionando el 2u#o de informaci!n entre ellos y las transformaciones para adaptar los datos a las necesidades de cada uno.
El controlador es responsable de: •
•
Recibe los eventos de entrada 0un clic, un cambio en un campo de te)to, etc.1. 5ontiene reglas de gesti!n de eventos, del tipo 768 /vento 9, entonces (cci!n :7. /stas acciones pueden suponer peticiones al modelo o a las vistas. &na de estas peticiones a las vistas puede ser una llamada al mtodo 7(ctuali$ar 017. &na petici!n al modelo puede ser 7;btener tiempo de entrega 0nueva orden de venta17.
Las vistas son responsables de: •
•
•
Recibir datos del modelo y las muestras al usuario. +ienen un registro de su controlador asociado 0normalmente porque además lo instancia1. Pueden dar el servicio de 7(ctuali$aci!n 017, para que sea invocado por el controlador o por el modelo 0cuando es un modelo activo que informa de los cambios en los datos producidos por otros agentes1.
Modelo Vista Controlador (MVC). /s un estilo de arquitectura de software que separa los datos de una aplicaci!n, la interfa$ de usuario, y la l!gica de control en tres componentes distintos. /l estilo de llamada y retorno 345, se ve frecuentemente en aplicaciones web, donde la vista es la página <+3L y el c!digo que provee de datos dinámicos a la página. /l modelo es el 6istema de =esti!n de >ase de Datos y la L!gica de negocio, y el controlador es el responsable de recibir los eventos de entrada desde la vista. •
•
La 4ista es el ob#eto que mane#a la presentaci!n visual de los datos representados por el 3odelo. =enera una representaci!n visual del 3odelo y muestra los datos al usuario. 8nteract*a con el 3odelo a travs de una referencia al propio 3odelo. /l 5ontrolador es el ob#eto que proporciona signicado a las ordenes del usuario, actuando sobre los datos representados por el 3odelo. 5uando se reali$a alg*n cambio, entra en acci!n, bien sea por cambios en la informaci!n del 3odelo o por alteraciones de la 4ista. 8nteract*a con el 3odelo a travs de una referencia al propio 3odelo.