Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UNIDAD TEMÁTICA II
PROFESORA ROCÍO LETICIA SALAS CRUZ
ARQUITECTURA DE
SOFTWARE
¿QUÉ ES?
Soluciones
Facilitan la
Son universales fiables Agilizan el
mantenibilidad y
y estandarizados totalmente desarrollo
legibilidad
comprobadas
MVC
M O D E L O V I S TA C O N T R O L A D O R
Es una de las arquitecturas más
utilizadas en la actualidad desde
hace muchos años.
Su característica principal es la de
abstraer en 3 capas especializadas
todo lo concerniente a una
aplicación.
COMPONENTES
Modelo
• Tiene como objetivo englobar todos los datos e información con la cuál interactúe el sistema. Es
decir, bases de datos, archivos de información o recursos.
Vista
Controlador
• Se encuentra la lógica de negocio de nuestra aplicación y donde se llevan a cabo todos los
procesos.
MVVW
MODEL VIEW VIEWMODEL
Esta arquitectura nació como una
alternativa a aplicarse en la
construcción de la parte de la UI en
las aplicaciones web, pero pronto
fue adoptada para el desarrollo de
aplicaciones móviles donde
actualmente es la arquitectura más
popular.
COMPONENTES
Model
• Al igual que en el MVC, la capa Model contiene todo lo relacionado a la información y datos que
maneje la aplicación principalmente JSON y clases simples.
View
• Tenemos que hace referencia a la interfaz de usuario, principalmente haciendo uso de XML.
ViewModel
• Es una capa que se encarga de responder a los eventos que se disparen en la interfaz de usuario ya sea
modificando directamente de algún modo la UI o bien, accediendo a la información de la capa Model.
MICROSERVICIOS
A L T E R N A T I VA A A R Q U I T E C T U R A S
MONOLÍTICAS
Nace para obtener más flexibilidad
y reducir los costos de implementar
cambios en aplicaciones de gran
envergadura.
• Permite distribuir de mejor manera los recursos sólo a aquellos módulos –microservicios- que así lo requieran
y no gastar poder de cómputo en otros que no lo requieran
Libertad tecnológica
• Implementaciones usando distintos lenguajes o bases de datos pueden coexistir y así aprovechar las fortalezas
específicas que cada lenguaje posee con respecto a los demás en problemas específicos.
Facilidad de despliegue
• Los microservicios son autónomos esto quiere decir que cada módulo se ejecuta como una única aplicación
ligera por lo que para introducir cambios no se tiene que interrumpir la ejecución de todo el sistema sino sólo
del microservicio en cuestión.
DESVENTAJAS
Complejidad
• El bajo acoplamiento que caracteriza a los microservicios suele dar problemas porque es más complicado abstraer un
servicio para que sea totalmente autónomo si este maneja procesos de negocio muy grandes
• Suele ser difícil respetar la filosofía de los microservicios en un contexto de bases de datos, principalmente
relacionales, pues idealmente cada microservicio debería tener su propia base de datos, pero es difícil fragmentar los
esquemas de bases de datos de este modo porque generalmente toda la información está fuertemente relacionada entre
sí
• La ventaja de los microservicios se sustenta mucho en la libertad tecnológica y esto implica tener capacidad de
costear personal altamente especializado en diversas tecnologías lo cual puede resultar costoso
ILUSTRACIONES
• Todas las ilustraciones usadas en esta diapositiva han sido tomadas de los íconos disponibles
dentro de power point.