El documento describe los sistemas distribuidos y los patrones arquitectónicos aplicables, como proxy, MVC y microservicios. Analiza el sitio AliExpress e identifica que usa el patrón de microservicios, descomponiendo el sistema en múltiples servicios modulares como búsqueda, pagos, recomendaciones, etc., los cuales se comunican a través de una puerta de enlace y bus.
1. Sistemas distribuidos
Iván Fernando Rivas Quezada
Universidad Abierta y a Distancia de México
Diseño y Arquitectura de Software
Alfredo Orozco Escobar
octubre de 2021
Actividad 1 unidad 3
2. Introducción
En la siguiente actividad se revisa el concepto de sistemas distribuidos, de
identifican las ventajas y los patrones arquitectónicos aplicables a este tipo de
sistemas. Se revisa la pagina WEB AliExpress para identificar el tipo de patrón
arquitectónico implementado e identificar sus elementos
4. DEFINICIÓN
• Es un conjunto de componentes hardware
interrelacionados mediante una interfaz definida,
que juntos conforman un equipo tecnológico para
resolver un conjunto de servicios específicos para
una empresa cliente
5. CARACTERÍSTICAS
Conjunto de procesadores de información
independientes conectados entre sí
Comunicación entre los nodos
Cooperación.
Fallos independientes de los componentes
7. Patrón arquitectónico que crea soluciones diversas mediante entidades informáticas
intermediarias, estas entidades informáticas pueden cumplir funciones de protección,
de interfaz inteligente, virtualización, etc.
Cliente usa Proxy Objeto
Proxy
Componente intermediario que
puede cumplir varias funciones
8. Patrón arquitectónico que organiza el sistema en tres componentes principales con
funciones definidas y diferenciadas, el modelo que contiene la lógica del negocio o del
servicio, la vista que se desempeña como la interfaz de interacción, puede ser interfaz
para que el usuario interactúe con el sistema o para que otro servicio pueda
interactuar con el sistema y, el controlador que hace el papel de coordinador entre las
vistas y la lógica del programa
MVC
Vista
Controladores
Modelo
9. Patrón arquitectónico que descompone el sistema en unidades desacopladas,
distribuidas y reutilizables con interfaz propia y con capacidad de realizar alguna tarea,
llamados servicios, una vez identificados los servicios busca una solución al propósito
del negocio
Patrón arquitectónico orientado a servicios
11. Patrón arquitectónico microservicios
Desde que exploras la página es fácil darse cuenta de la gran cantidad de servicios que está ofrece,
empezando por el registro de usuarios, menús, recomendaciones, etc. Cada servicio que ofrece tiene su
propia lógica, sus propias reglas y restricciones. La empresa maneja gran cantidad de productos,
proveedores y clientes de muchos diferentes países, es razonable pensar que procesa gran cantidad de
operaciones que varían siempre, lo que hace necesario una gran capacidad de procesamiento. La
combinación de muchos servicios con diversas lógicas y gran cantidad de tráfico de llamadas y donde
puede haber implicada muchas tecnologías haría muy difícil la implementación en un solo sistema, y
sería poco viable para repartir el trabajo en un equipo de desarrollo. Es importante que los diferentes
servicios se puedan actualizar con facilidad cuando sea necesario sin la necesidad de afectar la totalidad
del sistema. El patrón de microservicios va permitir que el sistema siga funcionando si algún servicio
falla, como ejemplo si falla el servicio de recomendaciones no repercutirá en el servicio de rastreo de
algún envío o el servicio de búsqueda de artículos.
13. SERVICIOS
• Servicio de búsqueda por palabras clave
• Servicio de carrito de compras
• Servicio de pago
• Servicio de recomendaciones
• Servicio de atención al cliente
• Servicio de catalogo de productos
• Servicio de reclamos
• Servicio de devoluciones
• Servicio de historial de compras
14. INTERFACES
DE USUARIO
• Interfaz para usuarios desde la WEB
• Interfaz de usuarios desde una aplicación Android
• Interfaz para vendedores
16. BUS
• Elemento necesario que se encarga de el flujo de información entre
diferente servicios, sirve como un cable interconector de los diferentes
nodos o servicios
19. Fuentes:
¿Qué es el patrón MVC en programación y por qué es útil? | campusMVP.es. (s/f). Recuperado el 12 de noviembre de 2021, de https://www.campusmvp.es/recursos/post/que-es-el-patron-
mvc-en-programacion-y-por-que-es-util.aspx
¿Qué son los microservicios? | AWS. (s/f). Recuperado el 14 de noviembre de 2021, de https://aws.amazon.com/es/microservices/
Arquitectura comercio electrónicoArquitectura de comercio electrónico. (s/f). Recuperado el 13 de noviembre de 2021, de
https://comunidad.iebschool.com/arqecommerce/2017/04/28/vista-previa/
Design patterns : elements of reusable object-oriented software : Gamma, Erich : Free Download, Borrow, and Streaming. (s/f). Internet Archive. Recuperado el 11 de noviembre de 2021,
de https://archive.org/details/designpatternsel00gamm
Estilos de arquitectura - Azure Application Architecture Guide | Microsoft Docs. (s/f). Recuperado el 14 de noviembre de 2021, de https://docs.microsoft.com/es-
es/azure/architecture/guide/architecture-styles/
Patrones de Diseño (XIII): Patrones Estructurales - Proxy. Programación en Castellano. (s/f). Recuperado el 11 de noviembre de 2021, de
https://programacion.net/articulo/patrones_de_diseno_xiii_patrones_estructurales_proxy_1016
Proxy. (s/f). Recuperado el 12 de noviembre de 2021, de https://refactoring.guru/es/design-patterns/proxy
Proxy (patrón de diseño) - Wikipedia, la enciclopedia libre. (s/f). Recuperado el 11 de noviembre de 2021, de https://es.wikipedia.org/wiki/Proxy_(patrón_de_diseño)
Qué es un proxy y cómo puedes utilizarlo para navegar de forma más anónima. (s/f). Recuperado el 11 de noviembre de 2021, de https://www.xataka.com/basics/que-es-un-proxy-y-como-
puedes-utilizarlo-para-navegar-de-forma-mas-anonima
Sistemas distribuidos: caracterización, diseño, mensajes y tiempo (I) | by Edu Salguero | Medium. (s/f). Recuperado el 11 de noviembre de 2021, de
https://medium.com/@edusalguero/sistemas-distribuidos-caracterizacion-modelado-comunicacion-tiempo-2c1f85f4e67a