Está en la página 1de 44

Soluciones Web y Aplicaciones

Distribuidas

[Fecha] UPN.EDU.PE
Al finalizar la unidad, el estudiante desarrolla
interfaces web en html y css utilizando el
framework bootstrap, aplicando conceptos de
UI y UX.
Semana 01

INTRODUCCIÓN A LA
ARQUITECTURA DE N-CAPAS
Reflexiona

• ¿Qué son capas?


• ¿Qué tipo de aplicaciones se desarrollan utilizando capas?
INTRODUCCIÓN A LA
ARQUITECTURA DE N-CAPAS

• El desarrollo de software ha evolucionado en los


últimos años.
• Esto debido a las exigencias y evolución de las propias
organizaciones, la evolución de la tecnología de
hardware y las nuevas necesidades de la sociedad.
INTRODUCCIÓN A LA ARQUITECTURA
DE N-CAPAS

• Hoy en día se requiere el


desarrollo de aplicaciones
más ágiles, rápidas y con la
capacidad de adaptarse a los
continuos en las empresas y
organizaciones.
INTRODUCCIÓN A LA ARQUITECTURA
DE N-CAPAS

• Gran parte de esta evolución se ha


puesto de manifiesto en el desarrollo
de soluciones Web.
• El avance y difusión de Internet ha
influenciado el gran desarrollo que ha
tenido las nuevas tecnologías de
desarrollo dirigido a entornos Web.
INTRODUCCIÓN A LA ARQUITECTURA
DE N-CAPAS

• Hoy en día se busca que las soluciones


se desarrollen bajo un entorno
multiplataforma.
¿QUÉ ENTENDEMOS
POR ARQUITECTURA DE N-CAPAS?

• La arquitectura basada en n-capas se enfoca en la distribución de roles y


responsabilidades de forma jerárquica garantizando una forma muy
efectiva de separación de responsabilidades.
¿QUÉ ENTENDEMOS
POR ARQUITECTURA DE N-CAPAS?

• Lo que propone la arquitectura de capas es pensar nuestro sistema en capas.


• Cada capa debe tener claro cuáles son las operaciones que debe realizar.
• Pueden existir n-capas, pero cada una debe tener una responsabilidad única.
• Una separación muy utilizada en el desarrollo de soluciones Web es la de tres capas:
Modelo (acceso/persistencia), Vista (presentación), Controlador (lógica de
negocio/negociación).
¿QUÉ SON APLICACIONES WEB?

• Es una aplicación, solución, sistema o


herramienta informática que es accesible
desde cualquier dispositivo.
• Para ello se utilizan los navegadores Web
y muy frecuentemente se acceden a ellas
a través de Internet.
• En algunas ocasiones se acceden a las
aplicaciones Web a través de una red
interna.
ARQUITECTURA DE 3 CAPAS
Y EL DESARROLLO DE SOLUCIONES WEB

• La arquitectura n-capas es una técnica que se aplica perfectamente al desarrollo web.


• Esta separación permite adaptar el desarrollo a la naturaleza y evolución de la
tecnología Web.
• Actualmente el estilo más utilizado es el de 3 capas (MVC).
ARQUITECTURA DE 3 CAPAS
Y EL DESARROLLO DE SOLUCIONES WEB

• Las capas utilizadas en el


desarrollo de aplicaciones Web
son: capa de presentación, capa de
negocio, capa de datos.
• Estas capas son las más conocidas,
sin embargo pueden
incrementarse de acuerdo a la
complejidad de la solución.
ARQUITECTURA DE 3 CAPAS
Y EL DESARROLLO DE SOLUCIONES WEB

• Las capas se suelen agrupar


por niveles y cada nivel
puede tener sub-capas.
• Estas sub-capas realizan a
su vez tareas especificas ya
que cuentan con roles muy
específicos.
CAPA DE PRESENTACIÓN
EN LA ARQUITECTURA MVC

• Es la capa en la que se diseña todo lo que constituye la interfaz gráfica y la


interacción del usuario con el software / aplicación.
• Principalmente se compone de la interfaz de usuario y la lógica de presentación.
• Ejemplo: la validación que se realiza cuando se verifica si se han ingresado caracteres
válidos en un campo que solicita un número de DNI utilizando JavaScript.
CAPA DE NEGOCIO
EN LA ARQUITECTURA MVC

• Son todos los códigos, métodos, subrutinas creados con la finalidad de regular
alguna acción del usuario.
• Responden a las reglas del negocio.
• Se refieren a cálculos, procesos, flujos, etc. propios de la organización o entorno al
que responde la solución.
• Ejemplo: Un sistema de ventas online envía un correo de notificación al cliente
cuando una compra se ha realizado correctamente.
CAPA DE DATOS
EN LA ARQUITECTURA MVC

• En esta capa programamos todo lo que tiene que ver con el acceso a la base de
datos.
• Esta capa tiene como responsabilidad tomar la información de la base de datos dada
una petición de la capa Controlador (negocio) una vez que es generada por la capa
presentación.
• Ejemplo: Cuando el sistema modifica internamente el stock de determinado
producto como producto de una compra exitosa.
EJEMPLO
EVOLUCIÓN DEL DESARROLLO TRADICIONAL A UNO DE N-CAPAS

• Desarrollo de sistemas Web en la


Universidad Tecnológica de Tehuacán
EJEMPLO
EVOLUCIÓN DEL DESARROLLO TRADICIONAL A UNO DE N-CAPAS

Primeros pasos:
• Desarrollo de aplicaciones con arquitectura orientada a objetos, con el objetivo de
reducir tiempo y permitir la reutilización de código.
• Creación de una clase manejadora para la base de datos que facilitó el acceso a datos
desde múltiples orígenes.
• Generó la capacidad utilizar una base de datos reutilizable en varios proyectos de la
organización.
EJEMPLO
EVOLUCIÓN DEL DESARROLLO TRADICIONAL A UNO DE N-CAPAS

Desarrollo:
• A partir del éxito de esta primera fase se decidió implementar el modelo MVC junto
con la programación orientada a objetos en los nuevos proyectos de desarrollo.
• Esto trajo beneficios al desarrollo de software en la institución al tener piezas de
código que fácilmente pueden ser reutilizables en múltiples proyectos.
EJEMPLO
EVOLUCIÓN DEL DESARROLLO TRADICIONAL A UNO DE N-CAPAS

Beneficios y know-how generado:


• Dadas las características de la institución y el crecimiento rápido de la universidad,
los requerimientos de desarrollo y cambios en los sistemas empezaron a ser más
frecuentes.
• La metodología tradicional en cascada dejo de ser una manera útil de programar.
• Se adoptó como metodología de desarrollo el uso de la POO y el uso de la
arquitectura de 3 capas (MVC).
EJEMPLO
EVOLUCIÓN DEL DESARROLLO TRADICIONAL A UNO DE N-CAPAS

Beneficios y know-how generado:


• La universidad empezó a ofrecer
servicios de vinculación con empresas,
la solicitudes de software se
incrementaron y el tiempo para el
desarrollo de estos seguía siendo el
mismo.
VENTAJAS
DEL USO DE UNA ARQUITECTURA MVC

• Permiten un fácil mantenimiento y


escalamiento del sistema.
• El desarrollo y la gestión de cada capa
es independiente del lenguaje de
programación utilizado.
• Permite la generación de soluciones
robustas y complejas.
VENTAJAS
DEL USO DE UNA ARQUITECTURA MVC
PRINCIPIOS
DE LA ARQUITECTURA DE N-CAPAS

• Abstracción
• Encapsulamiento
• Alta cohesión
• Funcionalidad claramente definida
• Reutilización
• Desacople
• Escalabilidad
• Flexibilidad
DESARROLLO WEB USANDO
PATRONES DE DISEÑO
Reflexiona

• ¿Qué es un patrón?
• ¿Cuándo es conveniente utilizarlo?
¿QUÉ ES UN PATRÓN DE DISEÑO?

• Son soluciones a problemas cotidianos y son


independientes de la tecnología utilizada.
¿QUÉ ES UN PATRÓN DE DISEÑO?

Para que una solución sea considerada un patrón, debe tener las siguientes
características:
• Efectivo: Resolviendo problemas similares en ocasiones anteriores.
• Reutilizable: Aplicable a diferentes problemas de diseño en distintas circunstancias.
¿Qué pretenden los patrones?

• Con los patrones se pretende:


• Proporcionar catálogos de elementos reusables en el diseño de sistemas de software.
• Evitar la reiteración en la búsqueda de soluciones a problemas ya conocidos y
solucionados anteriormente.
• Formalizar un vocabulario común entre diseñadores.
• Estandarizar el modo en que se realiza el diseño.
• Facilitar el aprendizaje de las nuevas generaciones de diseñadores condensando
conocimiento existente.
¿QUÉ NO PRETENDEN LOS PATRONES DE
DISEÑO?

Los patrones no pretenden:


• Imponer ciertas alternativas de diseño frente a otras.
• Eliminar la creatividad inherente al proceso de diseño.
PATRÓN DE DISEÑO ABSTRACT FACTORY
PATRÓN DE DISEÑO ABSTRACT FACTORY

Este patrón puede ser utilizado cuando:


• La creación de objetos debe ser independiente del sistema que los utilice.
• Los sistemas deben ser capaces de utilizar múltiples familias de objetos.
• Se usan bibliotecas sin exponer detalles de la implementación.
PATRÓN DE DISEÑO SINGLETON
PATRÓN DE DISEÑO SINGLETON

Tiene las siguientes características:


• El atributo estático instance contien la única instancia de clase.
• El constructor es definido como private de modo que las otras clases no puedan crear
instancias.
• El método estático getSingletonInstance regresa la única instancia de clase.
• La primera vez que este método es llamado crea la única instancia.
PATRÓN DE DISEÑO DECORATOR
PATRÓN DE DISEÑO DECORATOR

Este patrón puede ser utilizado cuando:


• El comportamiento de objetos debe ser dinámicamente modificable.
• Las funcionalidades específicas no deben residir en la parte alta de la jerarquía de
objetos.
PATRÓN DE DISEÑO STRATEGY
PATRÓN DE DISEÑO STRATEGY

Este patrón puede ser utilizado cuando:


• La única diferencia entre muchas clases relacionadas es su comportamiento.
• Se requieren múltiples versiones de un algoritmo.
• El comportamiento de una clase debe ser definido en tiempo de ejecución.
CONCLUSIONES
SPBRE EL USO DE LA ARQUITECTURA MVC

• Favorece al desarrollo pues lo simplifica y especializa, permitiendo la entrega de


resultados en corto tiempo.
• Permite la reutilización del código.
• Facilita la escalabilidad de las soluciones.
• Es muy útil aplicada al desarrollo de las soluciones Web y aplicaciones distribuidas.
Actividad

• Identificar el modelo de N-Capas en la Web de la empresa Cable Video Perú (


www.cableperu.pe)
• Identificar otro ejemplo similar en Internet.
• Brindar ejemplos en los que pueden aplicarse patrones de diseño.
• Compartir y debatir acerca de cuáles son los patrones más adecuados a cada situación
específica.
Bibliografía

• Xhafa, F. y Caballé, S.
Aplicaciones distribuidas en Java con tecnología RMI.
2008
https://elibro-net.eu1.proxy.openathens.net/es/lc/upnorte/titulos/168236
GRACIA
S

También podría gustarte