La fecha límite de entrega del proyecto es el 19 de marzo de 2022 a las 11:59 PM Hora Colombia (GMT-5).

Siga las instrucciones a continuación para crear los entregables que serán calificados en el proceso de evaluación.

Objetivos

El marketplace ha decidido expandirse a múltiples regiones dado el éxito que han tenido sus servicios en la región de latinoamérica. Para lograrlo, ha establecido un plan de expansión que incluye la importación de productos fabricados en Europa hacia Latino América.

Luego de analizar el potencial de mercado, se ha decidido ofrecer el servicio de importación de muebles fabricados bajo demanda en Europa. Para lograrlo, se abrirá una sección especial en la tienda que se dedicará exclusivamente a productos importados y donde los usuarios podrán hacer encargos de sus productos a estos comercios.

Los planes de expansión de la compañía incluyen abrir este nuevo mercado en dos pasos.

  1. Permitir que estos comercios realicen ventas hacia Latino América a través del portal, de manera que se puedan traer productos manufacturados en Europa hacia Latam.
  2. Una vez este tipo comercio representa el 2% del volumen total de ventas en Latam, iniciar una campaña de expansión del portal de clientes hacia Europa. Luego de este paso se permitirán las siguientes interacciones entre clientes-vendedores:
  1. Vendedores y compradores de Latam pueden comerciar entre ellos.
  2. Vendedores y compradores de Europa pueden comerciar entre ellos.
  3. Compradores de Latam podrán utilizar el envío internacional de productos desde Europa.

En esta entrega, su objetivo será diseñar la arquitectura de la aplicación que permita sostener el crecimiento de la compañía, lograr los objetivos de negocio y mantener la calidad a un término proyectado de 3 años.

Para ello usted se enfocará en unos requerimientos y escenarios de calidad en específico, en donde determinará cuál es la estrategia de datos correcta para cumplir con los objetivos de la compañía.

El equipo de arquitectos y gerentes de producto recabaron los siguientes datos que deben ser supuestos como datos duros en el diseño de la solución.

Calidad de la red

La siguiente tabla muestra el resultado de experimentos que se han hecho para medir la calidad de los canales de comunicación entre los centros de datos del proveedor de nube que utiliza la aplicación:

Origen

Destino

Throughput min

Throughput max

Throughput avg

Latam

Europe

1.4 TB/s

1.9 TB/s

1.7 TB/s

Europe

Latam

1.3 TB/s

2.1 TB/s

1.6 TB/s

Origen

Destino

Latencia min

Latencia max

Latencia avg

Latam

Europe

132 ms

2867 ms

1183 ms

Europe

Latam

111 ms

3012 ms

1452 ms

Tiempos de respuesta de la aplicación

El equipo de ingeniería ha recolectado métricas de los tiempos de respuesta del sistema. Para evitar errores debidos a red, los tiempos se miden directamente en el gateway y corresponde a los tiempos de respuesta desde que entra la solicitud al gateway hasta que esta es completamente respondida.

Centro de datos

Response time min

Response time max

Response time avg

Latam

32 ms

779 ms

128 ms

Europe

25 ms

638 ms

112 ms

Los requerimientos que deben tenerse en cuenta para el diseño de la aplicación son los siguientes:

Creación de productos

El usuario vendedor debe poder crear productos en la región en la que se encuentre registrado. Los productos deben crearse y en un tiempo no mayor a 10 minutos estar disponibles en los distintos portales para ser consultados por los usuarios compradores.

Historia

Como vendedor quiero crear productos para que otros usuarios puedan comprarlos.

Criterios de aceptación

  • El usuario debe estar autenticado
  • El usuario almacena nombre, descripción, precio, detalles del producto, imagen y categorías del producto.
  • La imagen se almacena en tres diferentes calidades dependiendo del dispositivo donde se mostrará.

Escenarios de calidad

Fuente

Vendedor

Origen

En cualquier región

Estímulo

Crear un producto con todos sus atributos

Artefacto

El sistema

Respuesta

Se almacena el producto con toda su información, incluido las imágenes.

Medida de la respuesta

En no más de 800 ms más el tiempo de carga de las imágenes (el cual dependerá del tamaño de las mismas).

Ambiente

En operación normal del sistema

---

Fuente

Vendedor

Origen

En cualquier región

Estímulo

Crear un producto con todos sus atributos

Artefacto

El sistema

Respuesta

El producto con toda su información está disponible para consulta de otras regiones.

Medida de la respuesta

En no más de 10 minutos posterior a su creación

Ambiente

En operación normal del sistema

Búsquedas de productos

Los usuarios compradores deben estar en capacidad de buscar productos locales e importados (en el caso de los usuarios de latam). La búsqueda de productos importados se hace a través de una sección especial dentro del portal. Actualmente se cuenta con 50 millones de productos publicados en Latam y se espera crecer a 150 millones de productos en los próximos 3 años.

Historia

Como usuario visitante de la aplicación quiero realizar búsquedas complejas por palabras en el catálogo de productos (importados y no importados), para seleccionar el producto de mi interés.

Criterios de aceptación

  • No se requiere autenticación para ver los productos
  • Se busca por una palabra o conjunto de palabras
  • La respuesta se presenta en grupos de 50 productos a medida que el scroll de la página web desciende.
  • Los productos presentan una imagen, nombre, calificación promedio, y precio.
  • Los productos están ordenados por fecha de creación de manera descendente.

Escenarios de calidad

Fuente

Usuario visitante

Origen

Latam

Estímulo

Filtrar productos importados por una palabra o conjunto de palabras.

Artefacto

El sistema

Respuesta

Se responden los productos importados que en su título, descripción o categorías, contienen las palabras de búsqueda.

Medida de la respuesta

En no más de 300 ms

Ambiente

En operación normal del sistema

---

Fuente

Usuario visitante

Origen

En cualquier región

Estímulo

Filtrar productos locales por una palabra o conjunto de palabras.

Artefacto

El sistema

Respuesta

Se responden los productos locales que en su título, descripción o categorías, contienen las palabras de búsqueda.

Medida de la respuesta

En no más de 300 ms (actualmente el servicio ya cumple con estos tiempos solo en latam)

Ambiente

En operación normal del sistema

Consulta de sesión

Los usuarios de la plataforma en todas las regiones deben poder navegar haciendo uso de sus sesiones de usuario. El tráfico inter regiones no debe estar habilitado. En este sentido, un usuario de una región solo podrá navegar haciendo uso de su sesión en el portal de su región, el cual se accede a través del dominio correspondiente.

Historia

Como sistema quiero validar la sesión de un usuario en cada solicitud externa para asegurarme que solo usuarios válidos pueden acceder.

Criterios de aceptación

  • El usuario se identifica por medio de un token en el head de las solicitudes.
  • Se valida que el token no haya expirado y que sea de un usuario válido.

Escenarios de calidad

Fuente

Clientes externos

Origen

En cualquier región

Estímulo

Solicitud http externa a un servicio del sistema.

Artefacto

El sistema

Respuesta

Se consulta si la sesión existe

Medida de la respuesta

En no más de 50 ms en incrementos de 100 mil solicitudes por minuto durante 1 hora.

Ambiente

En operación normal del sistema

Consulta de productos en promoción

La compañía cuenta con un sistema de advertising en el cual se incluyen la difusión de campañas publicitarias con productos en promoción para fechas especiales y eventos importantes. Las campañas cuentan con una lista de productos en promoción, los cuales pueden ser accedidos directamente en la plataforma, o a través de vínculos que son enviados con el material publicitario.

Las campañas publicitarias tienen resultados que dependen del evento, la fecha y el tipo de campaña. Sin embargo, el éxito suele estar entre las decenas de miles, hasta las centenas de miles de solicitudes de la lista de productos en campaña durante las horas siguientes al lanzamiento de las mismas.

Historia

Como usuario quiero consultar productos asociados a una campaña publicitaria para conocer los detalles de los productos en oferta.

Criterios de aceptación

  • No se requiere autenticación para ver los productos
  • Se presentan máximo 50 productos asociados a cada campaña.
  • Los productos presentan una imagen, nombre, calificación promedio, y precio.

Escenarios de calidad

Fuente

Usuarios visitantes

Origen

En cualquier región

Estímulo

Consulta de los productos de una campaña

Artefacto

El sistema

Respuesta

Se responden los productos asociados a una campaña

Medida de la respuesta

En no más de 50ms

Ambiente

En operación normal del sistema

Reporte de ventas del vendedor

La compañía ofrecerá un sistema de reportes para el vendedor, por el cual podrá conocer el detalle de su histórico de ventas. El usuario puede consultar en una sola vista la información de pedidos que ha tenido en la plataforma, cruzado con la información de los productos, los pagos, los usuarios que realizan los pagos y los orígenes de las compras (europa o latam).

Nota: para este punto considere que cada entidad (producto, pedido, pago, usuario, origen de compra o ubicación), se debe almacenar en un medio de almacenamiento diferente, siguiendo los principios vistos en el curso, y es posible relacionarlos. El detalle de los campos de cada entidad no es relevante para este punto.

Historia

Como vendedor quiero consultar el reporte de ventas de mis productos del último mes para llevar un control del estado de mis pedidos y los pagos relacionados.

Criterios de aceptación

  • El usuario debe estar autenticado y autorizado para consultar la información.
  • La información se presenta en una sola tabla, no hay vista de detalle.
  • La información se presenta de a 50 registros de venta y se incrementa en 50 a medida que el scroll de la página web desciende.
  • Cada registro de ventas presenta: el nombre e identificador del producto con su precio; el número de pedido, su estado, y el valor final del pedido; el estado del pago y tipo de método de pago; el nombre de usuario y nivel en la plataforma; y por último la ubicación desde donde se hace la compra.
  • Los registros se presentan ordenados por fecha de creación de manera descendente.

Escenarios de calidad

Fuente

Vendedor

Origen

En cualquier región

Estímulo

Consulta el reporte de ventas más reciente que incluye el mes en curso.

Artefacto

El sistema

Respuesta

Se responden 50 registros del histórico de ventas con toda su información relacionada.

Medida de la respuesta

En no más de 300 ms

Ambiente

En operación normal del sistema

Para el cumplimiento de estos requerimientos, tenga en cuenta las siguientes consideraciones.

100 puntos

Dado que ahora la aplicación va a tener clientes consultando y escribiendo información en un área geográfica más extensa, se requiere plantear un diseño en el que se tengan en cuenta esta distribución para ofrecerle el mejor servicio a los usuarios. En particular, su trabajo para esta entrega consistirá en plantear los cambios necesarios en los servicios y componentes utilizados en las etapas anteriores del proyecto persiguiendo los objetivos del entregable.

Como parte de la solución, debe realizar un documento de arquitectura y diseño en el que haga un levantamiento de la información del problema, proponga una solución y explique los racionales detrás de las decisiones de diseño tomadas.

Vista funcional (35 puntos)

Por medio de la vista funcional describa los componentes de ejecución y de almacenamiento necesarios para lograr cada uno de los requerimientos descritos anteriormente. En esta vista usted debe entregar:

  1. Un modelo de componentes donde se evidencian todos los componentes necesarios para cumplir con cada requerimiento así como sus conectores. Tenga en cuenta que este modelo debe tener convenciones.
  2. Describir los componentes por medio de tablas que contengan la siguiente información:

Requerimiento

Nombre del componente

Código/Id del componente

Debe aparecer en el diagrama

Tipo

Tipo de componente: base de datos, servicio, almacenamiento, función, etc

Tecnología

El servicio del proveedor que se utiliza para desplegar este componente

Responsabilidad

Responsabilidad del componente dentro del sistema/aplicación

  1. Describa el patrón o patrones de datos seleccionados para cumplir con cada requerimiento.

Requerimiento

Componentes

Nombre de los componentes involucrados en el patrón

Patrón utilizado

Nombre del patrón utilizado

Justificación

Justificación de por qué este patrón puede ser utilizado y para qué se debe usar

AC favorecidos

Lista de atributos de calidad que se favorecen al utilizar este patrón en este contexto

AC desfavorecidos

Lista de atributos de calidad que se desfavorecen al utilizar este patrón en este contexto

Vista de información (35 puntos)

Por medio de la vista de información describa los mecanismos de almacenamiento y su comportamiento para cumplir con cada requerimiento. En esta vista usted debe entregar:

  1. Una tabla con la información de los mecanismos de almacenamiento necesarios para resolver los retos planteados. Los mecanismos descritos en este punto deben estar relacionados en el modelo de componentes de la vista funcional.

Requerimiento

Nombre del componente

Código/Id del componente

Debe aparecer en el diagrama

Razón de su uso

Beneficios y descripción de su uso para cumplir con el requerimiento deseado.

Consideraciones de diseño a tener en cuenta

Consideraciones de posibles tradeoffs que se tendrían al hacer uso de este mecanismo de almacenamiento.

  1. Por medio de un diagrama dinámico (de su preferencia) describa como es el flujo de la información para cada uno de los requerimientos. Tenga presente que este diagrama debe contener convenciones para la comprensión por parte de terceros.

Vista de despliegue (30 puntos)

Por medio de la vista de despliegue describa cómo los componentes de la solución se desplegarán en ambiente productivo. En esta vista usted debe entregar:

  1. Un modelo de despliegue donde se presenten TODOS los componentes funcionales (vista funcional) estarán desplegados para cumplir con cada uno de los requerimientos planteados. Para este diagrama tenga presente describir a detalle las regiones, conectores y mecanismos de comunicación de los componentes.
  2. Una tabla en donde se indique los servicios del proveedor de nube que usará en su solución y la razón de su uso. Para una mayor comprensión, haga uso de los íconos de los servicios directamente en su diagrama de despliegue.

Código/Id del componente

Debe aparecer en el diagrama

Servicio del proveedor de nube

Nombre del servicio

Documentación del servicio

Enlace del servicio del proveedor de nube

Razón de uso del servicio

Beneficios y descripción de su uso para cumplir con el requerimiento deseado.

Evaluación

Los siguientes criterios se tendrán en cuenta en el proceso de evaluación y validación de este entregable:

Forma de Entrega:

Esta sección contiene la información de los cambios que se han realizado a este enunciado desde su publicación.

Fecha

Cambio

24/01/2022

Publicación definitiva