AgroLogistics: Arquitectura del Sistema

El proyecto AgroLogistics pretende integrar diferentes tecnologías IoT (Internet of Things) y técnicas de procesamiento de información en tiempo real, para facilitar la gestión de todos los procesos y recursos involucrados en la logística de productos agrícolas. En particular, el proyecto desarrollará diferentes aplicaciones (web y móviles), interconectadas entre sí, que facilitarán a productores, compradores y centros logísticos la planificación y ordenación de su actividad, a fin de evitar colas y largos tiempos de espera en las entregas y recogidas de mercancías.

Por una parte, los principales objetivos y beneficios esperados del proyecto fueron ya descritos en un post anterior. El primer paso hacia la consecución de dichos objetivos fue diseñar el modelo de datos utilizado por los distintos componentes del sistema para guardar e intercambiar la información necesaria. Este modelo de datos, junto con un posible escenario de uso, fueron descritos en el segundo post de esta serie.

Continuando en esta línea, en este tercer post se describe el diseño de la arquitectura de AgroLogistics, incluyendo sus principales componentes (de los que se describe su funcionalidad y las tecnologías utilizadas para su implementación) y las relaciones existentes entre ellos. La siguiente figura muestra, de manera esquemática, la arquitectura del sistema AgroLogistics.

En la figura anterior, el símbolo de la ballena  (Docker) identifica a los componentes implementados como contenedores de Docker. El uso de esta tecnología ha permitido no sólo un mayor desacoplamiento de los componentes de la arquitectura sino, también, que éstos puedan ejecutarse sobre distintas plataformas de manera transparente.

A continuación, se describen brevemente los principales componentes de la arquitectura:

  • BBDD. Base de datos que almacena toda la información utilizada por los distintos componentes del sistema. En este caso, para acceder a dicha información, el resto de los componentes del sistema utilizan la API que se describe justo a continuación. La tecnología utilizada para implementar este componente ha sido MySQL: una base de datos relacional a la que ha resultado sencillo mapear el modelo de datos previamente diseñado.
  • API. Este componente actúa como interfaz entre la base de datos y el resto de los componentes del sistema. Esta API permite realizar operaciones de consulta, actualización, inserción y borrado de la base de datos de forma sencilla. En este caso, se ha optado por utilizar NodeJS para implementar este componente.
  • Aplicaciones móviles. Se han desarrollado dos aplicaciones móviles destinadas a los productores agrícolas y a los consumidores, respectivamente. La funcionalidad que ofrece cada una de ellas se ajusta a los requisitos de cada actor en cuanto a las operaciones de entrega/recogida (venta/compra) y consulta de stock de los diferentes productos agrícolas gestionados por cada almacén logístico. Cabe señalar que estas aplicaciones no se han podido “Dockerizar” ya que deben instalarse directamente en los dispositivos móviles de cada uno de los usuarios. Las tecnologías utilizadas para desarrollar estas aplicaciones han sido Android y Java.
  • Aplicación web. Por último, se ha desarrollado una aplicación web destinada a los centros logísticos, que les permite conocer, en cada momento, el estocaje (real y previsto) de cada producto, así como las operaciones previstas y ya realizadas de entrega y recogida de los productos de su almacén. En este caso, se ha utilizado Python y el microframework de Flask para desarrollar este componente.

Para más información pueden contactar con cualquiera de los miembros del equipo de AgroLogistics:

  • Cristina Vicente Chicote (cristinav@unex.es)
  • José Ramón Lozano Pinilla (jolozanop@alumnos.unex.es)
  • Lorenzo Gabriel Ceballos Bru (lceballoo@alumnos.unex.es)

El proyecto AgroLogistics ha sido seleccionado como uno de los proyectos ganadores de la Convocatoria abierta a Proyectos IoT para el Sector Agroganadero de la Cátedra Telefónica de la UEx para el curso 2021-2022.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.