La arquitectura monolítica contiene toda la funcionalidad dentro de un único código
base, por lo que toda la aplicación debe escalarse a medida que cambien los
requisitos. consiste en crear una aplicación autosuficiente que contenga
absolutamente toda la funcionalidad necesaria para realizar la tarea para la cual fue
diseñada, sin contar con dependencias externas que complementen su
funcionalidad. En este sentido, sus componentes trabajan juntos, compartiendo los
mismos recursos y memoria. En pocas palabras, una aplicación monolítica es una
unidad cohesiva de código.
Cliente-Servidor es uno de los estilos arquitectónicos distribuidos más conocidos, el
cual está compuesto por dos componentes, el proveedor y el consumidor. El
proveedor es un servidor que brinda una serie de servicios o recursos los cuales son
consumido por el Cliente.
En una arquitectura Cliente-Servidor existe un servidor y múltiples clientes que se
conectan al servidor para recuperar todos los recursos necesarios para funcionar, en
este sentido, el cliente solo es una capa para representar los datos y se detonan
acciones para modificar el estado del servidor, mientras que el servidor es el que
hace todo el trabajo pesado.
la arquitectura de componentes es un enfoque para diseñar y construir sistemas de
software que se centra en la creación de componentes reutilizables e
independientes.
Estos componentes representan unidades lógicas y funcionales del sistema, cada
uno con su propia responsabilidad y funcionalidad específica.
El objetivo principal de la arquitectura basada en componentes es garantizar la
reutilización de los componentes. Un componente encapsula la funcionalidad y el
comportamiento de un elemento de software en una unidad binaria reutilizable y
autoimplementable.
Orientada a servicios: es un método de desarrollo de software que utiliza
componentes de software llamados servicios para crear aplicaciones empresariales.
Cada uno de estos servicios brinda una capacidad empresarial y, además, pueden
comunicarse también con el resto de servicios mediante diferentes plataformas y
lenguajes.
La arquitectura centrada en datos es un enfoque comercial que coloca los datos en
el centro de la infraestructura de una empresa, mientras que la tecnología se
construye a su alrededor.
De esta forma, se entiende que las herramientas, aplicaciones, software y otras
tecnologías de infraestructura pueden ir y venir. Sin embargo, los datos permanecen
en el mismo lugar, porque es el principal activo de las organizaciones.
La arquitectura basada en eventos es un modelo y una arquitectura de software que
sirve para diseñar aplicaciones. Se creó para registrar, comunicar y procesar eventos
entre servicios desacoplados, es decir, para mantener el asincronismo de los
sistemas y, al mismo tiempo, permitir que continúen compartiendo información y
completando tareas.
Las arquitecturas impulsadas por eventos tienen tres componentes clave:
procedimientos de eventos, enrutadores de eventos y consumidores de eventos.
Estos son sistemas basados en reglas que trabajan mediante un seguimiento optimo,
comparación de resultados y aplicación de las nuevas reglas basadas en situación
modificada. También pueden trabajar por inferencia lógica dirigida, bien empezando
con una evidencia inicial en una determinada situación y dirigiéndose hacia la
obtención de una solución, o bien con hipótesis sobre las posibles soluciones y
volviendo hacia atrás para encontrar una evidencia existente (o una deducción de una
evidencia existente) que apoye una hipótesis en particular.
Se define como sistema distribuido a un conjunto o grupo de equipos que son
independientes entre sí y que actúan como un único equipo de forma transparente y
que tienen como objetivo la descentralización del procesamiento o el
almacenamiento de información.
La distribución distribuida permite obtener grandes prestaciones con un coste
razonablemente bajo. En la actualidad, la mayoría de sistemas informáticos son
distribuidos y no dependen de un único nodo o equipo para funcionar.
este tipo de sistema es una combinación de los sistemas centralizados,
descentralizados y distribuida. Es decir, se puede disponer de un controlador central,
asi como de varios controladores descentralizados.