¿Qué proceso de desarrollo web se utiliza para mostrar los niveles de inventario en tiempo real en un sitio web (es decir, Walmart, objetivo)?

La respuesta corta es que el sitio web es poco interesante desde el punto de vista del inventario; solo está consultando el sistema de Planificación de Recursos Empresariales (ERP) y quizás almacenando información en caché. La consulta típica sería algo como esto:

  1. El cliente busca un artículo y hace clic en algo.
  2. El sitio web obtiene la información básica sobre el producto de una base de datos del producto (descripción, URL de imágenes, etc.).
  3. Una llamada AJAX a algún servicio de back-end se pone en cola para la información del inventario (se muestra una ruleta al usuario mientras espera).
  4. La llamada vuelve al servidor, que realiza una búsqueda rápida en la memoria caché (en caso de que se haya solicitado recientemente) y, si no, envía otra solicitud al sistema ERP.
  5. El sistema ERP regresa con los datos solicitados, que luego se almacenan en caché y se envían.
  6. El navegador obtiene la respuesta AJAX y la formatea en la pantalla.

Sería raro que un sitio web tenga acceso directo a una base de datos de inventario en cualquier organización de tamaño decente; con seguridad, tales solicitudes se procesan / almacenan en caché. Todos los sistemas ERP tienen una API de consulta para este tipo de cosas, y a veces la consulta irá a una réplica de solo lectura (total o parcial) por razones de rendimiento y / o seguridad.

Esto es una simplificación excesiva (habrá todo tipo de equilibradores de carga, WAF y otros dispositivos y medidas de seguridad allí), pero entiendes la idea, estoy seguro 🙂

Los sockets web se usan para muchas cosas en tiempo real como juegos, chats, etc. y probablemente se usarían para eso. Sin embargo, dudo que las compañías que ha mencionado hagan una implementación web que muestre su inventario en tiempo real. Dado que tienen presencia global, su inventario debe ser MASIVO y los costos generales serían altos.