Você está na página 1de 6

UNIVERSIDAD TECNOLGICA DE QURETARO

OPTATIVA (REDES)

ARQUITECTURA DE TRES CAPAS

PROF: VIANEY NOYA

ARACELI TINAJERO HURTADO

ITI 15

SANTIAGO DE QUERTARO, MARTES 13 DE NOVIEMBRE DE 2012

Aplicaciones en capas La estrategia tradicional de utilizar aplicaciones compactas causa gran cantidad de problemas de integracin en sistemas software complejos como pueden ser los sistemas de gestin de una empresa o los sistemas de informacin integrados consistentes en ms de una aplicacin. Estas aplicaciones suelen encontrarse con importantes problemas de escalabilidad, disponibilidad, seguridad, integracin. Para solventar estos problemas se ha generalizado la divisin de las aplicaciones en capas que normalmente sern tres: una capa que servir para guardar los datos (base de datos), una capa para centralizar la lgica de negocio (modelo) y por ltimo una interfaz grfica que facilite al usuario el uso del sistema. Figura 3.1. Arquitecura en tres capas

Si establecemos una separacin entre la capa de interfaz grfica (cliente), replicada en cada uno de los entornos de usuario, y la capa modelo, que quedara centralizada en un servidor de aplicaciones, segn el diagrama que podemos ver en la Figura 3.1. Arquitecura en tres capas, obtenemos una potente arquitectura que nos otorga algunas ventajas:

Centralizacin de los aspectos de seguridad y transaccionalidad, que seran responsabilidad del modelo.

No replicacin de lgica de negocio en los clientes: esto permite que las modificaciones y mejoras sean automticamente aprovechadas por el conjunto de los usuarios, reduciendo los costes de mantenimiento.

Mayor sencillez de los clientes.

Si intentamos aplicar esto a las aplicaciones web, debido a la obligatoria sencillez del software cliente que ser un navegador web, nos encontramos con una doble posibilidad:

Crear un modelo de 4 capas, tal y como puede verse en la Figura 3.2, Arquitectura web en cuatro capas, separando cliente, servidor web, modelo y almacn de datos. Esto nos permite una mayor extensibilidad en caso de que existan tambin clientes no web en el sistema, que trabajaran directamente contra el servidor del modelo. Figura 3.2. Arquitectura web en cuatro capas

Mantener el nmero de capas en 3, como se ve en la Figura 3.3, Arquitectura web en 3 capas, integrando interfaz web y modelo en un mismo servidor aunque conservando su independencia funcional. sta es la distribucin en capas ms comn en las aplicaciones web. Figura 3.3. Arquitectura web en 3 capas

La arquitectura utilizada por el proyecto ONess define tres capas bien diferenciadas, si bien gracias al soporte que proporciona en framework Spring permite la implantacin de una capa de modelo basada en Enterprise JavaBeans (EJB) que posibilitase una arquitectura de cuatro capas y unas funcionalidades ms orientadas a grandes sistemas o sistemas crticos como pueden ser replicacin, trabajo en cluster,... La arquitectura MVC y Model 2 La arquitectura Model-View-Controller surgi como patrn arquitectnico para el desarrollo de interfaces grficos de usuario en entornos Smalltalk. Su concepto se basaba en separar el modelo de datos de la aplicacin de su representacin de cara al usuario y de la interaccin de ste con la aplicacin, mediante la divisin de la aplicacin en tres partes fundamentales:

El modelo, que contiene la lgica de negocio de la aplicacin. La vista, que muestra al usuario la informacin que ste necesita. El controlador, que recibe e interpreta la interaccin del usuario, actuando sobre modelo y vista de manera adecuada para provocar cambios de estado en la representacin interna de los datos, as como en su visualizacin.

Esta arquitectura ha demostrado ser muy apropiada para las aplicaciones web y especialmente adaptarse bien a las tecnologas proporcionadas por la plataforma J2EE, de manera que:

El modelo, conteniendo lgica de negocio, sera modelado por un conjunto de clases Java, existiendo dos claras alternativas de implementacin, utilizando objetos java tradicionales llamados POJOs (Plain Old Java Objects) o bien utilizando EJB (Enterprise JavaBeans) necesidades de concurrencia o distribucin. en sistemas con unas mayores

La vista proporcionar una serie de pginas web dinmicamente al cliente, siendo para l simples pginas HTML. Existen mltiples frameworks que generan estas pginas web a partir de distintos formatos, siendo el ms extendido el de pginas JSP (JavaServer Pages), que mediante un conjunto de tags XML proporcionan un interfaz sencillo y adecuado a clases Java y objetos proporcionados por el servidor de aplicaciones. Esto permite que sean sencillas de desarrollar por personas con conocimientos de HTML. Entre estos tags tienen mencin especial la librera estndar JSTL (JavaServer Pages Standard Tag Library) que proporciona una gran funcionalidad y versatilidad.

El controlador en la plataforma J2EE se desarrolla mediante servlets, que hacen de intermediarios entre la vista y el modelo, ms verstiles que los JSP para esta funcin al estar escritos como clases Java normales, evitando mezclar cdigo visual (HTML, XML...) con cdigo Java. Para facilitar la implementacin de estos servlets tambin existe una serie de frameworks que proporcionan soporte a los desarrolladores, entre los que cabe destacar Struts, que con una amplia comunidad de usuarios se ha convertido en el estndar de facto en este rol.

Con todo lo anterior, el funcionamiento de una aplicacin web J2EE que utilice el patrn arquitectural MVC se puede descomponer en una serie de pasos: 1. El usuario realiza una accin en su navegador, que llega al servidor mediante una peticin HTTP y es recibida por un servlet (controlador). Esa peticin es interpretada y se transforma en la ejecucin de cdigo java que delegar al modelo la ejecucin de una accin de ste. 2. El modelo recibe las peticiones del controlador, a travs de un interfaz o fachada que encapsular y ocultar la complejidad del modelo al controlador. El resultado de esa peticin ser devuelto al controlador. 3. El controlador recibe del modelo el resultado, y en funcin de ste, selecciona la vista que ser mostrada al usuario, y le proporcionar los datos recibidos del

modelo y otros datos necesarios para su transformacin a HTML. Una vez hecho esto el control pasa a la vista para la realizacin de esa transformacin. 4. En la vista se realiza la transformacin tras recibir los datos del controlador, elaborando la respuesta HTML adecuada para que el usuario la visualice. Esta arquitectura de aplicaciones otorga varias ventajas clave al desarrollo de aplicaciones web, destacando:

Al separar de manera clara la lgica de negocio (modelo) de la vista permite la reusabilidad del modelo, de modo que la misma implementacin de la lgica de negocio que maneja una aplicacin pueda ser usado en otras aplicaciones, sean stas web o no.

Permite una sencilla divisin de roles, dejando que sean diseadores grficos sin conocimientos de programacin o desarrollo de aplicaciones los que se encarguen de la realizacin de la capa vista, sin necesidad de mezclar cdigo Java entre el cdigo visual que desarrollen (tan slo utilizando algunos tags, no muy diferentes de los usados en el cdigo HTML).

Model 2 Sun Microsystems, creadora de la plataforma Java, acu el trmino Model 2 para referirse al modelo arquitectural recomendado para las aplicaciones web desarrolladas sobre J2EE. Dicha arquitectura consiste en el desarrollo de una aplicacin segn el patrn ModelView-Controller, pero especificando que el controlador debe estar formado por un nico servlet, que centralice el control de todas las peticiones al sistema, y que basndose en la URL de la peticin HTTP y en el estado actual del sistema, derive la gestin y control de la peticin a una determinada accin de entre las registradas en la capa controlador. Esta centralizacin del controlador en un nico punto de acceso se conoce como patrn front controller. Las ventajas que este patrn ofrece provienen de la capacidad de gestionar en un nico punto la aplicacin de filtros a las peticiones, las comprobaciones de seguridad, la realizacin de logs, etc.

Você também pode gostar