Le système d’information que requiert un Smart City est complexe, de par l’hétérogénéité des données, la multiplicité des sources ou encore les besoins légitimes de disposer de données en temps réel. De plus, avec le temps, de nouveaux services et cas d’usages vont venir se superposer à l’architecture existante.
La proposition technique d’Ozwillo est flexible pour accommoder différents canaux de transit des données. L’architecture proposée consiste en la création d’un “système nerveux central”, générique et agnostique en termes de langage de programmation permettant à tout moment de venir greffer une nouvelle source de données ou un nouveau consommateur (consumer) sur le système.
Les données collectées sont projetées et stockées de manière liée (linked data) selon un modèle de données sémantique (RDF) utilisant les modèles et langages standard (FOAF, OWL, …). Ce modèle général présente la caractéristique d’être évolutif dans toutes ses composantes : évolution d’un modèle (gestion des versions et de l’historique), ajout d’un nouveau modèle concurrent (modèles différents pour un même jeu de données), gestion des langues des données. Cette modularité permet d’intégrer facilement tous nouveaux jeux de données d’applications intégrant le catalogue de la plateforme, et le suivi de l’utilisation des données.
Le coeur de données présente une interface dédiée aux développeurs. Elle se compose d’un “bac à sable” permettant aux fournisseurs d’applications de modéliser leurs données, de tester l’intégration de ces modèles avec le modèle général, de cibler les données présentes à réutiliser, et d’obtenir l’API nécessaire aux échanges préalablement établis. L’API est construite automatiquement et le code fourni aux fournisseurs.