¿Qué es un diagrama de arquitectura del sistema para aplicaciones web?

Se usaría un diagrama de arquitectura del sistema para mostrar la relación entre los diferentes componentes.

Por lo general, se crean para sistemas que incluyen hardware y software y estos se representan en el diagrama para mostrar la interacción entre ellos. Sin embargo, también se puede crear para aplicaciones web.

Para una aplicación web, el diseño de la arquitectura del sistema incluiría componentes como base de datos, servidor de aplicaciones, servidor web, Internet, navegador, etc. No todos deben incluirse en el diagrama y hay otros componentes que pueden incluirse.

De Wikipedia: no existe una definición universalmente aceptada de qué aspectos constituyen una arquitectura de sistema, y ​​varias organizaciones la definen de diferentes maneras

Esto lo hace un poco más flexible, pero, por supuesto, aún tendrá que seguir un cierto estándar.

También hay muchos diagramas disponibles en Google que me han ayudado en el pasado.

Puede considerar MVC – Model-view-controller ( MVC ) es uno de los marcos de arquitectura de software más utilizados para desarrollar interfaces de usuario que dividen una aplicación en tres partes interconectadas (modelo / vista y controlador). Esto se hace para separar las representaciones internas de la información de las formas en que la información se presenta y se acepta del usuario.

La arquitectura MVC desacopla estos componentes principales permitiendo una reutilización eficiente del código y un desarrollo paralelo utilizando el concepto de separación de preocupaciones que es adecuado tanto para aplicaciones web como de escritorio.

Por ejemplo: JHispter es el marco MVC (junto con la API REST) ​​para aplicaciones web, mientras que el marco más popular Spring también pertenece a MVC para todo tipo de aplicaciones.

En UML, puede usar un diagrama de secuencia para representar su arquitectura de software MVC. (Fuente: Visual Paradigm – MVC Framework – Visual Paradigm Community Circle)

  • Las entidades son objetos que representan datos del sistema: Cliente, Producto, Transacción, Carrito, etc.
  • Los límites son objetos que interactúan con los actores del sistema: UserInterface, DataBaseGateway, ServerProxy, etc.
  • Los controles son objetos que median entre límites y entidades.

Orquestan la ejecución de comandos que provienen del límite al interactuar con objetos de entidad y límite. Los controles a menudo corresponden al escenario de casos de uso y a menudo se representan mediante un diagrama de secuencia.

Puede usar estereotipos para la línea de vida en el diagrama de secuencia de MVC para aclarar visualmente qué tipo de objetos está utilizando en el MVC

Para crear un diagrama de secuencia MVC con la herramienta gratuita UML

  • Herramienta de diseño UML gratuita

Comprender más sobre diagramas UML

  • Herramienta UML fácil de usar

Aprenda más sobre diagramas de secuencia

Aunque lo siguiente no es una representación perfecta de la arquitectura del sistema en cuestión, y a pesar de la existencia de otras arquitecturas, he usado el siguiente diagrama en el pasado para explicar las capas típicas de la arquitectura de una aplicación web.

Esta arquitectura admite MVC, que defino a continuación de acuerdo con una diapositiva anterior de un curso de capacitación en aplicaciones web que solía hacer:

Donde la estratificación de la arquitectura corresponde sustancialmente a MVC de la siguiente manera:

Aunque las diapositivas y el uso de esta respuesta se refieren a aplicaciones web basadas en Java, los conceptos son genéricos.

Una arquitectura más reciente es el uso de microservicios en los que la arquitectura de una aplicación se divide en un conjunto de servicios, de la siguiente manera:

Donde cada servicio tiene un conjunto de responsabilidades estrecho y enfocado, y están expuestos de forma independiente en forma de API accesibles a distancia, por ejemplo, REST, consumidas mediante protocolos como HTTP.

Un servicio de compras en línea podría tener microservicios separados para cuentas de usuario, catálogo de productos, mantenimiento del carrito de compras y procesamiento de pedidos.

El marco Spring Boot está diseñado para este tipo de implementación.

Mira esto Arquitectura de ESPN a escala – Operando a 100,000 Duh Nuh Nuhs por segundo – Alta escalabilidad –