Comunicación presentada al IV Congreso Ciudades Inteligentes:
Autores
- Jáser Abdel-Kader, CTO, Secmotic Innovation
- José Luis Benítez, CEO, Secmotic Innovation
- Carlos Corrales, COO, Secmotic Innovation
- Miguel Fernández, CEO, Bosonit
- Manuel Giménez, Director de Innovación, Emergya Ingeniería
- Ignacio Gurría, Director General, J.I.G. Internet Consulting
- Daniel Lozano, Project Manager, Emergya Ingeniería
- Sara Madariaga, Responsable de PMO, Bosonit
- Daniel Menchaca, Director Oficina Técnica y Smart Cities, J.I.G. Internet Consulting
- Luis Romero, Director General, Emergya Ingeniería
Resumen
FIWOO es una plataforma basada en FIWARE y otras tecnologías de código abierto siguiendo los últimos estándares de plataformas de Smart Cities en términos de protocolos de comunicación, gestión de datos, control de acceso, seguridad, robustez e interoperabilidad. FIWOO ha sido desarrollado por el consorcio de empresas españolas formado por Bosonit, Emergya, J.I.G y Secmotic como respuesta a la convocatoria del proyecto europeo de compra pública innovadora SELECT for Cities, lo que permite la validación de los resultados en Helsinki, Copenhague y Amberes, tres de las ciudades más avanzadas pertenecientes a la OASC (The Open & Agile Smart Cities initiative). FIWOO es una forma innovadora de descubrir, controlar y gestionar ciudades integrando diferentes fuentes de datos en cuadros de mando personalizables con datos históricos y pronósticos generados automáticamente con técnicas de machine learning.
Palabras clave
Internet-of-everything, Código Abierto, FIWARE, Integración Datos, Interoperabilidad, Escalabilidad
Antecedentes
Las ciudades y territorios inteligentes son una combinación de datos horizontales y plataformas de servicios en diversos sectores verticales. Para que una administración pública tenga éxito en el desarrollo y puesta en marcha de servicios para ciudades y territorios inteligentes debe ser capaz de involucrar agentes externos que sean capaces de proporcionar soluciones innovadoras para las necesidades y retos que se plantean. Actualmente, la mayor parte de los desarrollos que se realizan de forma interna en los distintos departamentos, lo hacen sin seguir un plan estratégico global, lo que conlleva los siguientes problemas:
- Pilotaje de soluciones en distintos departamentos, basados en intereses particulares de los mismos o de sus responsables, creando o fortaleciendo silos organizacionales.
- Los pilotos se realizan de manera aislada, sin comprobar previamente que otros departamentos o áreas tengan una solución ya implantada o necesidades similares a cubrir, lo que deriva en rivalidades entre departamentos, una pléyade de servicios no compatibles entre sí y gasto innocesario de recursos.
- Los resultados de los distintos proyectos piloto no son capturados y analizados sistemáticamenete, por lo que los que resultan satisfactorios no se replican y se corre el riesgo de cometer los mismos errores que en los no exitosos.
- Los pilotos no son adecuadamente evaluados desde un punto de vista de madurez tecnológica, lo que hace que en unas ocasiones se implanten sistemas obsoletos (o cercanos a serlo) y en otras el entusiasmo por introducir prometedoras novedades se transforma en desilusión porque o bien no pueden ser correctamente integradas, no son aceptadas por los usuarios o no están listas para su explotación en entorno real.
El proyecto Select for Cities se concibe para resolver esta situación de fragmentación, en la que cada administración/departamento construye sus propias soluciones, sin contar con las experiencias de otras organizaciones. Para ello, las ciudades de Amberes, Copenhague y Helsinki unen recursos y plantean el diseño y el desarrollo de una plataforma común que dé soporte a la visión de una red de ciudades conectadas entre sí actuando como un único laboratorio de co-creación de soluciones destinadas a proporcionar a los ciudadanos los servicios que demandan.
Fiwoo nace como respuesta a esta convocatoria: es una plataforma de código abierto, basada en los últimos estándares creados para la gestión de ciudades inteligentes (por citar algunos de ellos, la ISO 37120:2014 para el desarrollo sostenible en las ciudades e indicadores para los servicios urbanos y la calidad de vida o los promovidos por la EIP SCC – Asociación Europea para la Innovación en Ciudades y Comunidades Inteligentes), una plataforma basada en datos, orientada al servicio y centrada en el usuario para que las ciudades y territorios europeos permitan la co-creación, prueba y validación a gran escala de aplicaciones y servicios de IoE urbana. Este enfoque fomenta el objetivo a más largo plazo de la innovación basada en evidencias de ciudades y territorios inteligentes utilizando la participación e implicación ciudadana a gran escala, cadenas de valor distribuidas, creación rápida de prototipos y creación de servicios a través de la experimentación.
Descripción del Proyecto
Para la puesta en servicio de esta plataforma para Ciudades y Territorios Inteligentes, se escogió la utilización de la tecnología FIWARE (www.fiware.org) como núcleo principal, junto con otra serie de tecnologías complementarias conformando una arquitectura lógica por niveles, según las especificaciones del de norma PNE 178104 de AENOR, que tiene como objeto la normalización de los Sistemas Integrales de Gestión de una Ciudad Inteligente.
FIWARE es una iniciativa open source, apoyada por la Comisión Europea, que provee de una arquitectura robusta y abierta, así como de un conjunto de herramientas software, especificaciones y conectores para el desarrollo de aplicaciones inteligentes en diferentes ámbitos. Se trata de una iniciativa de software libre alrededor de la que se ha creado un ecosistema de innovación en el que tanto desarrolladores como proveedores de tecnología pueden implementar aplicaciones y servicios inteligentes en la nube de forma rápida, segura y sencilla. Desde la Comunidad FIWARE no sólo se impulsa el desarrollo y evolución de éstas herramientas de software de código abierto, sino que además se proponen como estándar universal para el desarrollo de soluciones Smart. El conjunto de herramientas y bibliotecas de valor agregado que ofrece FIWARE para el desarrollo de servicios inteligentes, se denominan Generic Enablers (GEs). Estos GEs pueden ser desplegados como micro-servicios que proporcionan interfaces estándares y abiertos (APIs), facilitando tareas tales como la integración de sensores, actuadores y otros dispositivos Internet de Cosas (IoT), el análisis y procesamiento de grandes cantidades de datos (Big Data) o la implementación de interfaces avanzados para interactuar con los usuarios. La combinación de diferentes GEs de FIWARE permite el despliegue de una arquitectura que resuelve las necesidades de un Territorio o una Ciudad Inteligente.
El elemento central de la arquitectura es el GE llamado Orion Context Broker. El Orion Context Broker gestiona la recopilación de datos de servicios externos (dispositivos IoT, flujos de redes sociales, etc.) poniéndolos a disposición de los módulos de gestión de eventos complejos (CEP) para el análisis en tiempo real de la información, la consulta de históricos o el análisis de históricos (Big Data), al tiempo que pueden también ser publicados como datos abiertos, puesto que FIWARE soporta el estándar de facto para la publicación de datos abiertos CKAN.
Finalmente, la tecnología FIWARE promueve un estándar que describe cómo recolectar, administrar y publicar información de contexto o, lo que es lo mismo, información relevante sobre lo que está pasando en un momento dado en el entorno de la Ciudad o el Territorio Inteligente, proporcionando elementos que permiten explotar estos datos en tiempo real o a posteriori, una vez recopilados y almacenados, independientemente de su origen. El estándar propuesto por FIWARE para ello es el FIWARE NGSI, basado en la especificación NGSI 9/10 de la Open Mobile Alliance (OMA). FIWARE NGSI resuelve fácilmente cómo capturar información de redes de sensores, aunque se comuniquen utilizando diferentes protocolos y lenguajes IoT. De esta manera, es capaz de resolver la complejidad de tratar con la información recopilada por los sensores y traducirla a un lenguaje común y normalizado. En los últimos años, FIWARE NGSI se ha convertido en el estándar de facto de iniciativas que impulsan el desarrollo de las Smart Cities, como es el caso de la Open & Agile Smart Cities (OASC), con más de 120 ciudades adheridas. Además de la tecnología FIWARE, FIWOO integra y hace uso de otras tecnologías de código abierto, por ejemplo, Angular 2 para potenciar el diseño gráfico y el desarrollo de paneles de control. El resultado es una arquitectura modular, abierta y heterogénea que permite la integración de múltiples tecnologías en una sola plataforma, aprovechando lo mejor de cada una de ellas y dando lugar a una solución robusta, escalable e interoperable.
Metodología
La metodologia propuesta por la iniciativa SELECT for Cities dividió el proyecto en tres fases, cada una de ellas con diferentes iteraciones e hitos. Tras la concepción de la idea y el diseño de la arquitectura, se procedió a la implementación de la herramienta. En cada una de las fases e iteraciones se contó con el feedback de las ciudades de Helsinki, Amberes y Copenhague (y sus asesores tecnológicos), que aportaron su visión y necesidades heterogéneas para conseguir que la plataforma se adaptara a cualquier casuística (actual o futura) de ciudad o território inteligente. El proyecto, tras la creación de la plataforma, concluirá (entre 2018 y 2019) con la puesta en marcha de living labs en las tres ciudades durante un período de 9 meses.
Resultados y datos obtenidos
El resultado del desarrollo es una paltaforma que presenta todas las características indicadas en la norma PNE178104 de AENOR, particularizadas a un sistema de Territorios y Ciudades Inteligentes, cumpliendo con cada una de ellas. A continuación se describe cómo se ha implementado cada una de ellas y las ventajas que suponen.
Multientidad: FIWOO permite el acceso concurrente de múltiples usuarios con diferentes perfiles. Es posible definir distintos roles en función de las responsabilidades y funcionalidades a las que tendrá permiso de acceso cada tipo de usuario y grupos a los que se asignan diferentes recursos. De esta forma se permite dar de alta perfiles funcionales variados diferenciando, por ejemplo, usuarios de entidades locales, ayuntamientos, diputaciones, mancomunidades, consejerías, centros directivos u otros (incluyendo ciudadanos), así como entre diferentes niveles técnicos: usuario final, administrador de servicio, superadministrador, etc.
Multiservicio: FIWOO permite integrar aplicaciones (ya existentes o a desarrollar) para la gestión de servicios de distintas verticales que pueden ejecutarse de forma simultánea sobre la misma infraestructura: tráfico, residuos urbanos, alumbrado público, riego y bombeo, abastecimiento, saneamiento y reutilización del agua, servicio de información y atención al ciudadano, gestión de eventos y espacios públicos, telecontrol médico, etc.
Transversalidad: El enfoque holístico de la plataforma permite que los datos obtenidos de diferentes sensores o como resultado del análisis y procesamiento realizado por un determinado servicio pueda ser reaprovechado por un servicio diferente de la plataforma o incluso por servicios externos conectados a ella. Así, la conexión con datos abiertos de un servicio de predicción meteorológica sería de utilidad, por ejemplo, para reducir el riego de jardines en caso de lluvia y al mismo tiempo para mandar la orden de incrementar la luminosidad del alumbrado público ante las condiciones de menor visibilidad.
Interoperabilidad: FIWOO resulta altamente interoperable gracias al uso de la tecnología FIWARE y de estándares abiertos. En particular, gracias al uso de los IoT Agents de FIWARE, permite la conexión de dispositivos mediante diferentes protocolos de IoT (Ultralight 2.0, MQTT, OMA LWM2M / CoAP sobre redes M2M, etc.) a través de WiFi, 3G, Wimax o cualquier red de datos conectada a Internet. Además, se han desarrollado IoT Agents específicos para integrar dispositivos que usan redes y protocolos de comunicación propietarios, como Sigfox y LoRA, y un módulo para Bluetooth Low Energy (BLE) utilizando una pasarela con conexión a la API de FIWOO (por ejemplo, un smartphone o una tablet con una aplicación móvil que conecta con la plataforma). Esto permite a FIWOO ser independiente de los fabricantes de hardware e interconectarse con diferentes dispositivos a través de sus APIs. El uso de APIs y estándares abiertos hace que FIWOO pueda comunicarse también con otras plataformas y servicios de terceros (incluyendo infraestructura y verticales ya existentes en las ciudades), directamente si éstos útimos utilizan los mismos estándares o, en caso contrario, mediante el desarrollo de conectores específicos.
Rendimiento: FIWOO cuenta con una arquitectura modular, distribuida y desacoplada, lo que permite maximizar su rendimiento. Esto es así porque en su diseño está concebido como un conjunto de servicios (funcionalidades de alto nivel, por ejemplo, gestión del riego) compuestos por micro-servicios (que proporcionan funcionalidades de bajo nivel, por ejemplo, autenticación en la plataforma) desplegados en una infraestructura en la nube en la que se comparten recursos hardware y software. De esta forma, los servicios y micro-servicios pueden ser fácilmente desplegados, desacoplados y actualizados sin que afecte al funcionamiento del sistema global. Esto es posible gracias a que la plataforma se despliega utilizando contenedores virtuales de software mediante la tecnología Docker, lo que le permite no sólo agilizar el proceso de despliegue sino ser independiente de la infraestructura cloud comercial a utilizar, así como del sistema operativo de la instancia en la que se implementan los micro-servicios
Robustez, alta disponibilidad y resiliencia: La arquitectura basada en servicios y clústers de micro-servicios confiere además una gran robustez al sistema, dotándolo de una alta disponibilidad. El sistema se implementa sobre instancias software y ubicaciones físicas (hardware) diferentes. De esta forma, se maximiza la disponibilidad de la plataforma. Por un lado, en caso de mal funcionamiento del hardware que aloja un grupo de micro-servicios, estos pueden seguir funcionando en otras máquinas de la infraestructura cloud. Por otro lado, en caso de que sea una instancia de un micro-servicio la que deje de estar operativa, el servicio que soporta no se ve afectado porque otra instancia le dará soporte. Esto se consigue por medio de un sistema de balanceo de carga con monitorización y redirección de peticiones en tiempo real. La monitorización permite detectar si se está produciendo un aumento de la demanda de un servicio específico (o la caída de una instancia), en cuyo caso la plataforma despliega automáticamente nuevas instancias aumentando los recursos disponibles y ayudando así a enfrentar el aumento de la demanda detectado. De la misma manera, en el caso en que haya baja demanda de un servicio, el sistema optimizará los recursos por sí mismo, evitando consumos innecesarios. FIWOO, por tanto, cumple con el criterio de resiliencia, siendo capaz de adaptarse automáticamente a las condiciones cambiantes de la demanda.
Escalabilidad: La propia arquitectura modular de la plataforma, basada en micro-servicios, facilita que ésta sea altamente escalable. FIWOO ofrece la posibilidad de desplegar diferentes servicios con capacidades adaptadas a las necesidades de cada ciudad o territorio, además de permitir integrar de forma sencilla nuevos servicios una vez esté operativo. El despliegue de micro-servicios mediante contenedores virtuales de software en una infraestructura cloud permite escalar y desplegar automáticamente las distintas instancias que se necesiten configurar en función de los que se requiera en cada momento. Desde la capa de soporte se pueden configurar reglas de escalado automático para que, por ejemplo, aumenten las capacidades de las máquinas que soportan la conexión de dispositivos IoT ante un alta masiva de nuevos sensores, evitando así que baje el rendimiento del sistema.
Abierta: FIWOO está íntegramente basado y desarrollado utilizando tecnologías open source y estándares abiertos, lo que significa que puede ser operada, mantenida y evolucionada con total libertad y sin restricciones, ya que se distribuirá bajo licencia EUPL. La API de la plataforma facilita la integración de sistemas existentes, así como el desarrollo de aplicaciones de proveedores externos.
Evolucionable: La posibilidad de evolución de FIWOO se garantiza gracias al uso de especificaciones y protocolos abiertos y estandarizados, lo que permite dar soporte a funcionalidades futuras independientemente del proveedor del servicio. Dispone de una API REST abierta completamente documentada siguiendo las especificaciones de Swagger, permitiendo a otras organizaciones y empresas crear nuevos servicios y aplicaciones, aumentando así las funcionalidades disponibles y evolucionando la plataforma. La plataforma posibilita trabajar con formatos de datos estandarizados: permite importar conjuntos de datos en formato CSV o a través de la API REST en formatos JSON y/o XML. Igualmente, las diferentes aplicaciones y servicios externos conectados a la API pueden recuperar los datos utilizando diferentes formatos estándar: FIWARE NGSI JSON (formato propuesto por el ETSI como estándar para la gestión de información de contexto), JSON-LD y XML. La adopción de las normas OGC (Open Geospatial Consortium) habilita la interoperabilidad de los datos y servicios geoespaciales, garantizando así su evolución futura.
Seguridad: FIWOO implementa diferentes medidas de seguridad dependiendo de la capa en la que se esté trabajando. En las capas inferiores (captación y adquisición), las comunicaciones entre los dispositivos IoT y la plataforma se realizan mediante el uso de protocolos estándar y a través de los IoT Agents, haciendo uso de un cifrado extremo a extremo entre los dispositivos y la infraestructura cloud, prestando especial atención al control de versiones de los IoT Agents, implementando siempre la última versión disponible para garantizar la actualización de las medidas de seguridad. Adicionalmente, debido a que no todos los protocolos IoT admiten comunicaciones cifradas, se crean VPNs (redes privadas virtuales) para cada dispositivo que se conecta a la plataforma, agregando así una capa de seguridad basada en la autenticación de pares de claves público-privadas. La plataforma incluye un servicio específico basado en el proyecto Vault (github.com/hashicorp/vault) para el almacenamiento seguro de estas claves. En los casos en los que los dispositivos IoT se conecten por BLE (Bluetooth Low Energy) a través de un dispositivo móvil, la transmisión de datos tiene lugar a través de la API REST de FIWOO, bajo HTTPS, garantizando el envío seguro de datos mediante cifrado basado en SSL/TLS. En las capas superiores, la autenticación de los usuarios se realiza a través de correo electrónico y contraseña (que se almacena como hash + sal). En caso de que sean correctas, devuelve al usuario un token de acceso que es utilizado en la cabecera de cada solicitud enviada a la plataforma. Este token permite obtener el identificador y el rol del usuario, habilitándole o denegándole el acceso a las diferentes funcionalidades. FIWOO ofrece también la posibilidad de acceso usando cuentas de Google, Facebook y Twitter, mediante autenticación OAuth2. La información de seguridad clave, como la dirección IP del usuario, el identificador de usuario, marca de tiempo y acciones realizadas se almacenan de forma privada para poder rastrear el comportamiento del usuario y detectar posibles irregularidades o mal uso.
Por otra parte, el acceso de servicios de terceros a través de navegadores web o mediante API REST se realiza bajo el protocolo HTTPS para cifrar todos los mensajes intercambiados entre la plataforma y los servicios externos a ella. Es importante destacar que la arquitectura modular basada micro-servicios ayuda a reforzar la seguridad de la plataforma debido a que se pueden aislar los diferentes módulos, evitando que las vulnerabilidades de uno de ellos afecten al resto. Todos los micro-servicios son monitorizados en tiempo real y almacenan registros, lo que permite realizar análisis que ayuden a detectar y prevenir posibles fallos de seguridad que puedan producirse. Finalmente, las diferentes bases de datos están configuradas para encriptar los datos, evitándose así que, aun llegando a producir un acceso no autorizado, se pueda hacer un uso indebido de la información almacenada.
Privacidad de los datos: Durante los trabajos de puesta en marcha de FIWOO en cada ciudad o territorio se elabora un Plan de Gestión de Datos (DMP) que describe el ciclo de vida de la gestión de la información para todos los conjuntos de datos recogidos, procesados o generados por la plataforma. Describe los datos que se van a recolectar, procesar o generar, la metodología y los estándares para ello, junto con instrucciones sobre cómo se compartirán, cómo se asegurarán y cómo se conservarán, siguiendo siempre las normas de protección de datos personales en la UE y el nuevo Reglamento General de Protección de Datos de la Unión Europea (GDPR), que entra en vigor el 25 de mayo de 2018. En cualquier caso, la confidencialidad de los datos personales está garantizada: los datos personales recopilados se anonimizan automáticamente y se almacenan en una base de datos independiente, tras el consentimiento del usuario. Asimismo se articulan los mecanismos necesarios para que los usuarios puedan revocar su consentimiento para almacenar y procesar sus datos personales, si así lo requirieran.
Flexibilidad: Para conseguir la máxima flexibilidad del sistema, los diferentes módulos y micro-servicios que conforman FIWOO se despliegan haciendo uso de la tecnología Docker. Docker es una tecnología open source que permite crear contenedores virtuales de software, es decir, paquetes ligeros y portables de código que contienen una aplicación y todos los recursos que ésta necesita para ser ejecutada. Estos contenedores virtuales permiten que la aplicación que contienen pueda ser migrada y ejecutada en cualquier máquina que tenga instalado Docker, independientemente de su sistema operativo y de los recursos software que tuviera previamente instalados. Esto facilita el despliegue de la plataforma, totalmente independiente de la infraestructura cloud, y la dota de una gran adaptabilidad a diferentes escenarios, permitiendo por ejemplo su implementación en un escenario de servidores propios (on premise), de servidores en una infraestructura cloud comercial o incluso en un escenario mixto en el que ciertos servicios se despliegan en máquinas propias y otros en una cloud comercial.
Modularidad: La arquitectura planteada para FIWOO sigue un modelo modular. Siguiendo las recomendaciones de la norma PNE178104 publicada por AENOR, la plataforma presenta una arquitectura de capas en la que, a su vez, cada nivel está conformado por módulos que agrupan una serie de funcionalidades y que pueden ser desplegados según se requiera. Cada módulo, a su vez, puede estar compuesto de uno o más micro-servicios, aumentando la granularidad del sistema para potenciar su escalabilidad, flexibilidad, robustez y seguridad.
Operable y gestionable: FIWO puede ser gestionado, operado y mantenido de forma sencilla por los administradores gracias a las facilidades contempladas en la capa de soporte:
- Un repositorio de configuración centralizado que permite llevar a cabo funciones de administración de la plataforma: gestión de usuarios, accesos y permisos a través de un servicio centralizado de autenticación y seguridad (LDAP), configuración de nuevos paneles de control (dashboards), posibilidad de realizar cargas masivas de datos, dar de alta nuevos dispositivos y sensores, etc.
- Un entorno web de gestión de la configuración, así como interfaces REST de gestión para la interconexión con herramientas externas.
- Un sistema de monitorización automático que permite registrar el estado de los diferentes componentes de la plataforma (logs) y realizar seguimiento mediante la impresión de reportes, con el fin de evaluar su funcionamiento, identificar posibles errores y anticiparse a situaciones que puedan afectar a su rendimiento.
- Un sistema de gestión de ticketing basado en la herrameinta libre OsTicket, que permite la gestión de incidencias y peticiones de servicios de una manera organizada y automatizada.
Usabilidad: Los cuadros de mando y control de la plataforma están diseñados como interfaces con un enfoque centrado en el usuario, lo que facilita la interacción y mejora la experiencia de usuario. Los paneles de control pueden operarse desde cualquier dispositivo con navegador web y acceso a internet. Se permite tanto mostrar datos en línea, como históricos, permitiendo ordenar y filtrar conjuntos de datos de forma dinámica, así como su exploración y búsqueda. Los paneles de control permiten no sólo la exploración visual de los datos sino la posibilidad de realizar acciones de “drill-down”. La plataforma está preparada para la visualización y gestión de grandes cantidades de datos, de forma rápida sin retardos ni latencias que dificulten las tareas de los operadores de la plataforma. Se pueden representar los datos en diferentes formatos, mediante tablas dinámicas, gráficos y sobre mapas. Los paneles de control permiten definir acciones y programar eventos en función de la información recopilada por la plataforma siendo configurables por los usuarios con los permisos adecuados, permitiendo la personalización de los mismos para adaptarlos a las necesidades de información y control de cada operador.
Capacidades de Big Data: La plataforma incorpora un módulo Big Data con funcionalidades complementarias para el tratamiento, almacenamiento, procesamiento y análisis de grandes cantidades de datos.
Conclusiones
FIWOO incorpora las últimas innovaciones tecnológicas y cumple con los estándares de calidad y seguridad establecidos para ciudades inteligentes, resolviendo el problema actual de la segmentación de aplicaciones. Su gran fortaleza radica en el uso de tecnologías abiertas y en el hecho de haber sido diseñada específicamente para cubrir las necesidades reales de los usuarios, expresadas por tres de las ciudades europeas más avanzadas tras un profundo análisis y una consulta de mercado. El resultado es una plataforma validada por varias ciudades a través de casos de uso diversos, de código abierto y con enormes capacidades de integración, fácil de implantar, mantener y utilizar.
Agradecimientos
Los autores agradecen los recursos aportados al consorcio por el proyecto europeo de compra pública innovadora Select for Cities, financiado por el programa H2020 con referencia 688196, así como al equipo de desarrollo de las cuatro empresas que han llevado a cabo con éxito el desarrollo de FIWOO.