Module 3 Prototyping
Module 3 Prototyping
• Figures 1.3 to 1.5 showed that in order to develop the IoT software five levels are
needed:
(i) Gather + Consolidate, (ii) Connect, (iii) Collect + Assemble, (iv) Manage and
Analyse and (v) Applications and Services.
• The methods of developing software, which are used at levels of IoT devices, gateways,
Internet connectivity and web and cloud applications.
The understanding of these terms will enable the reader ease in learning the
development processes for software including the APIs:
• The connected devices in IoT/M2M use the CoAP and LWM2M web-
communication protocols and messaging-protocols, such as message-cache,
Message Queue Telemetry Transport (MQTT), and Extensible Messaging and
Presence (XMPP).
• MQTT is a publish/subscribe (Pub/Sub) protocol. The devices connect, network
and communicate over the web. They use the communication gateway, SOAP,
REST, RESTful HTTP and WebSockets.
• Figure 3.1 showed the connected devices, protocols and usages of the Internet in
IoT/M2M applications and services.
• Figure 9.1 shows five levels for software development for applications and
services in the IoT or M2M. The software needs are for the devices, local network,
gateway, cloud/ web connectivity and web/cloud APIs.
• Open Services Gateway Initiative (OSGi) provides and maintains open standard
specifications.
• OSGi describes the specification of management of Java packages/classes in a modular
system, which enables the implementation of a complete and dynamic component
model.
• A component means software which can reuse a core set of frameworks and services
for provisioning the solutions.
• The components and applications deploy in the form of bundles and can be remotely
installed, started, stopped, updated, and uninstalled without requiring system reboot.
• OSGi in addition gives specifications for service platforms in Java language.
• The component or application life-cycle management uses a set of APIs. When a
service registers, then service bundles detect the deletion or addition of new services
and get adapted.
Privacy
• Message privacy means that the message should not reach into the hands of the
unrelated entities.
• When data or messages communicate from the things (device platforms), those
are meant only for the applications or services and for targeted goals only.
• Privacy also means no interference or disturbance from other. Consider an
example of messages from embedded devices in an automobile using the Internet
to an automobile service centre (Example 5.2).
• Privacy means the messages reach only the centre and used only by the services of
the centre. Another automobile company on whose hands the data falls may face
serious business consequences.