Page 42 - Redefining smart city platforms: Setting the stage for Minimal Interoperability Mechanisms - A U4SSC deliverable on city platforms
P. 42
new components can easily access information already available. This also means that the APIs
should be discovered and understood so that new application integrators can use them easily. In
addition, the usability seen from the software engineer or developer’s perspective should be high
– having relevant specifications in theory is not enough, they should also be felt by the developers
as appropriate, interoperable and conforming to best practice.
5.2.3 Scalability
The system can be expanded when we foresee more users of “things” and/or streams of data
scaling horizontally and vertically. In horizontal scaling, other nodes could be added, where copies
of the software will run on, ideally in a dynamic fashion so that nodes are added automatically when
the need arises. In vertical scaling, the system can store more data or have more memory to perform
advanced computing. In addition, core components should be as lean as possible, meaning that
even communities or organizations with limited technical, human and/or financial resource should
have access to provision basic functionalities.
5.2.4 Legacy compatibility and heterogeneous landscape
In order to cope with the dynamic technological change, the architecture must be able to support
new and legacy components, while handling different versions of the components. Cities and
communities need to maximize the use of legacy wired/wireless infrastructures; thus, the system has
to support IoT-based services by efficiently (re-)using already available assets. Clearly, understanding
the protocols used by the different RZs is a necessity, and the impact of adding new protocols needs
to be minimized. The system needs to facilitate accessing and managing heterogeneous devices
through a single common framework. It must offer a uniform and extensible way to access the
different devices accessible on the marketplace in order to overcome interoperability problems
and reduce the friction in dealing with heterogeneous technologies.
5.2.5 Resilience
The architecture must be resilient to failure. Considering that components could fail and
communications could be affected, it should provide a self-healing system, including redundant
links that cover breakdowns. We should consider that most of the IoT technologies have not yet
reached a maturity level free from issues. Moreover, the interaction among many different types of
components (e.g., sensors, network, wireless technology, data store, servers) from different actors
could generate problems.
5.2.6 Performance
The system should guarantee a real-time user experience. Users should be able to interact
responsively with the system, discovering new available assets at runtime. The system should
32 Redefining smart city platforms: Setting the stage for Minimal Interoperability Mechanisms