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
   37   38   39   40   41   42   43   44   45   46   47