Está en la página 1de 6

Universidad Abierta Para Adultos (UAPA)

ESCUELA

Ingeniería y Tecnología

ASIGNATURA

Software II

FACILITADOR

Joan Tejada Caba

PARTICIPANTE

Victor Manuel Campusano Sosa

MATRICULA

100034497

TEMA

Tarea 1

FECHA

22/01/2022
Elabora un diario de doble entrada donde explique la diferencia entre arquitecturas
de software existente.

¿Qué es la arquitectura de software?


El propósito de un software a nivel general es solucionar un problema y/o satisfacer las
necesidades de quienes lo requieren, o por lo menos, contribuir de manera positiva. Al
avanzar los tiempos y las tecnologías estas necesidades y problemas a tratar son cada
vez más complejos, por lo que la elección de una estructura o método de desarrollo
donde se pueden unir todos los componentes es vital para la creación de softwares que
den solución a problemas específicos.

La arquitectura de software no es más que eso, un método que se utiliza de base para
las diferentes funcionalidades a las cuales deberá de estar sometido el software.

Patrones de arquitectura de software


Arquitectura de Microkernel Opinión

“El estilo arquitectónico de Microkernel o también conocido En materias anteriores habíamos estudiado sobre patrones de
como arquitectura de Plug-in, permite crear aplicaciones diseño, uno de ellos siendo el “open-closed”, el cual especifica
extensibles, mediante la cual es posible agregar nueva que el código, independientemente del programa debe de estar
funcionalidad mediante la adición de pequeños plugins que abierto para extender la funcionalidad, pero cerrado para
extienden la funcionalidad inicial del sistema.” modificar su funcionalidad principal.

Esta arquitectura hace uso de dicho patrón de diseño, se divide


en dos partes fundamentales: Sistema central y Plugins, donde
solo puede existir un sistema central el cual contiene los
componentes necesarios para hacer que la aplicación funcione
correctamente, mientras que los plugins (los podemos ver como
periféricos) son extensiones o funcionalidades extras que son
agregadas al sistema central, un sistema central puede contener
varios plugins.

Arquitectura de Microservicios Opinión

“El estilo de Microservicios consiste en crear pequeños La idea principal detrás de esta arquitectura es la división de los
componentes de software que solo hacen una tarea, la hace bien sistemas, de modo que se puedan tratar y abordar los problemas
y son totalmente autosuficientes, lo que les permite evolucionar de manera independiente sin afectar al resto.
de forma totalmente independiente del resto de componentes”
Esta funciona con un conjunto de pequeños servicios que se
ejecutan de manera autónoma e independiente, formando un
sistema completo.

Ya que cada microservicio es independiente del otro, estos


pueden estar programados en diferentes lenguajes de
programación, del mismo modo, cada uno posee su sistema de
almacenamiento e implementan una API para comunicarse entre
sí.
Patrón de arquitectura en capas Opinión

“La arquitectura en capas consta en dividir la aplicación en Creo que esta es una de las arquitecturas más utilizadas, sobre
capas, con la intención de que cada capa tenga un rol muy todo cuando no se está seguro de cual arquitectura implementar,
definido, como podría ser, una capa de presentación (UI), una como se explicó, esta consiste en dividir el software en diversas
capa de reglas de negocio (servicios) y una capa de acceso a capas independientes a tal punto la una de la otra, concernientes
datos (DAO). solo a sus responsabilidades, es decir, a la capa “UI” no le
interesa como la capa “reglas de negocios” obtiene la
información, su única preocupación y responsabilidad es
presentar la información al usuario.

Esta arquitectura hace uso del patrón de diseño “Separación de


responsabilidades” donde cada clase es responsable de una
tarea muy definida.

Mencionar que dichas capas están en orden, es decir, una capa


solo pude comunicarse con la primera capa que este por debajo
de ella.
Arquitectura orientada por eventos Opinión
“Una arquitectura orientada por eventos es un patrón de diseño Según he investigado este tipo de arquitectura da como
el cual permite a un conjunto de sistemas comunicarse entre sí resultado sistemas altamente escalables. No entiendo mucho
de forma reactiva mediante la publicación y el consumo de esta arquitectura, pero su idea base es que se espera que las
eventos, los cuales se pueden interpretar como cambios de aplicaciones lancen diversos “eventos” para que otros
estado de objetos”. componentes puedan reaccionar a ellos, procesarlos y
posiblemente generar nuevos eventos para que otros
componentes continúen con el trabajo.
Existen muchos otros tipos de arquitecturas de software, pero estas me han parecido de las más interesantes.
Ventajas y desventajas:

Arquitectura Ventajas Desventajas


• Gran flexibilidad y extensibilidad • Generalmente baja escalabilidad
Microkernel • Buena portabilidad • Alta complejidad:
• Facilidad de despliegue
• Alto rendimiento

• Puedes escribir, mantener y • Performance.


desplegar cada microservicio cada comunicación entre
Microservicios por separado.

Microservicios tiene una
• Fácil de escalar. posibilidad de fallar.
• Componentes menos acoplados • Suele ser más complejo de
a otras partes del código. desarrollar.
• Altamente mantenible y
comprobable

• Alta comprobabilidad • Pérdida de eficiencia


Alta facilidad de desarrollo
En capas •
• Mantenible
• Fácil de actualizar y mejorar las
capas por separado.

Escala fácilmente Mas difícil de testear


Orientada por eventos •
• Son fácilmente ampliables

• El desarrollo del código suele ser
cuando aparecen nuevos tipos más complejo.
de eventos
Webgrafía

Arquitectura de Microkernel
https://reactiveprogramming.io/blog/es/estilos-arquitectonicos/microkernel

Arquitectura de Microservicios
https://decidesoluciones.es/arquitectura-de-microservicios/

Arquitectura de software
https://apiumhub.com/es/tech-blog-barcelona/principales-patrones-arquitectura-software/

También podría gustarte