Solución funcional cubana para monitorizar el transporte en tiempo real

Temas a tratar:

  1. Veremos lo que se ha hablado de este tema a nivel de país en los medios de prensa.
  2. Se verá una arquitectura de alto nivel de una posible solución arquitectónica a nivel de país o ministerio de transporte.
  3. Se mostrará la solución que actualmente tengo implementada y desplegada en una laptop usando un servidor de mapas local.

Empecemos!!!!!

En una entrada anterior comentaba sobre la posibilidad de monitorizar el transporte en la ciudad en tiempo real, no todo el transporte, pero si aquellos medios que tuvieran GPS y que fueran de servicio público, dígase el transporte de las empresas estatales, tanto interno como para el público.

Las ventajas serían varias, una que se me viene a la cabeza ahora es la del ahorro de combustible y otra sería la de mejorar el servicio de recogida en las paradas cumpliendo con horarios establecidos. Pensando un poco más en los que toman decisiones, cada empresa que tuviera una flotilla de vehículos podría monitorizar en todo momento su uso.

En cubadebate publicaron una entrada con un sistema que están desarrollando los JCC de las Tunas, y que fue publicada primeramente en su periódico provincial. Luego la publicaron en el Granma. La idea es la misma, pero no se dan detalles técnicos.

Como comentaba en la entrada anterior, hacer esta solución no es complicado, su arquitectura a muy muy alto nivel a nivel de ministerio o de país podría ser la siguiente:

Donde en dependencia del dimensionamiento de la cantidad de vehículos a seguir será la infraestructura a necesitar, tal vez para una empresa pequeña no se requiera clusterización y con 1 servidor para BD y 1 servidor para el WSO2 CEP o SP baste.

Continuar leyendo “Solución funcional cubana para monitorizar el transporte en tiempo real”

Monitorización del transporte en la ciudad. ¿En tiempo real?

Te has imaginado estar alguna vez parado/a en una parada, consultar tu teléfono y saber que el ómnibus que esperas llega en 5 minutos? 

Más allá del sueño, o la pesadilla, y de que te lo puedas imaginar en un futuro muy pero muy lejano la realidad es que complicado de implementar no es y explico:

  1. Se necesita tener GPS en cada ómnibus. Ya esto se está logrando al día de hoy en nuestro país, al menos en la capital. Lo que no funcionan en tiempo real pues no tienen como mandar su ubicación. Los datos son descargados al llegar a sus bases quizás con horas de retraso.
  2. Se necesita poder mandar la ubicación en tiempo real. Esto se puede lograr con dispositivos conectados a la red de datos, 2G o 3G, de ETECSA que cada cierto tiempo manden la ubicación obtenida del dispositivo GPS.
  3. Se necesita de un sistema capaz de recopilar todos los eventos generados por los dispositivos de los puntos 1 y 2, procesarlos, almacenarlos en BD relacional o no relacional, y tener facilidades para:
  • Permitir la subscripción a determinados eventos predefinidos, como puede ser que te notifiquen 5 minutos antes de que llegue el bus a la parada X.
  • Permitir la visualización en un mapa de la ubicación de determinado transporte.
  • Generar eventos complejos, como pueden ser notificaciones de accidentes, de retrasos, embotellamientos, detenciones no autorizadas de los bus, no detenerse en las paradas establecidas, etc, etc, etc…

El sistema capaz de permitir todo lo del punto 3 y más, también existe y es gratis bajo licencia Apache v2, se llama WSO2 Stream Processor.

Haciendo copy/paste a lo que dicen en el sitio:

“WSO2  Stream Processor  is a  Streaming SQL based, high performant, lightweight, open source stream processing platform, facilitating the creation of real-time, intelligent, actionable business insights, and data products for digital businesses. It allows you to collects events,  analyzes them in real-time, identify patterns, map their impacts, and react within milliseconds.”

En la práctica su funcionamiento es como sigue:

  1. Se tienen componentes que generan eventos, estos serían los dispositivos GPS en los ómnibus.
  2. Estos eventos son lanzados para cualquiera de las variadas vías de conexión que ofrece la herramienta: HTTP, Kafka,TCP,In-memory,WSO2 Event,Email,JMS,File,RabbitMQ,MQTT.
  3. Una vez que el evento llega usando Shiddi podemos manipularlo, no solo a el si no a todos lo que se hayan definido en una ventana de tiempo,  hasta que sea lanzado a un mecanismo de respuesta, tipo alerta, notificación o lo que sea.
  4. Lo interesante es que al tener almacenada la información en BD esta puede visualizarse en dashboards para generar reportes en tiempo real

Con una solución así los responsables del transporte podrían saber en cualquier momento del día cualquier información que necesiten.

Si alguien tiene dudas de la factibilidad de esta solución, solo tiene que ver este enlace donde se describe una especie de licitación o concurso público para resolver algunos problemas de transportación en Londres, Reino Unido, y WSO2 ganó con un demo de la solución. Y bueno una solución ya pulida la comentan en este otro enlace.

Nada que si de verdad nuestros directivos de la informática quieren informatizar el país no tienen excusa para no hacerlo. Solo voluntad y ganas de trabajar con la comunidad de desarrolladores que existe en nuestro país.

¿Nos pagan por hacer colas?

Tal pareciera que al cubano le pagan por hacer colas.

Cuando vas a cualquier lugar ves a lo largo del día un desfile de personas interminables, haciendo colas para cualquier cosa. A veces uno puede preguntarse: ¿Esta gente no trabaja, cómo salen de sus trabajo, quien paga por ese día dejado de trabajar? Y es que literalmente es el día sin trabajar pues si cuentas el tiempo de transportación para algún lugar donde tienes que hacer el trámite, las horas de colas, las horas de trámites, y luego las horas de regreso, bien bien se llegan a las 5 o 6 horas invertidas en lo que ibas a hacer. Sin tener claro si vas a tener éxito o no. OJO: porque eso es importante, te mandas una cola y puede ser que al entrar al local no resuelvas, o la información que te dieron esté desactualizada, o la persona encargada del trámite no esté ese día (puede que haciendo la cola en algún otro lugar para algún otro trámite) en fin..

Dígamos que en colas al día tenemos en todo el país a unas 50 000 personas, si multiplicamos eso por 8h de trabajo da la suma de 400 000h/h de trabajo que se pierden diariamente. Si ese número lo múltiplicamos digamos por 5 CUP la hora, nos da 2000000, o sea que se pierden por concepto de colas 2 millones de pesos diariamente, y creo que estoy siendo conservador en la cantidad de personas que tienen que ausentarse de su trabajo un día. Incluso aunque la pérdida fuera de 20 000 pesos es algo que veo realmente lamentable.

Continuar leyendo “¿Nos pagan por hacer colas?”