Application protocols
In order to be able to communicate with remote devices and cloud servers in a distributed scenario, embedded systems must implement standard protocols that are compatible with the existing infrastructure. In general, two different approaches are taken when designing remote services:
- Web-based services
- Message protocols
The former is mainly the classic, client-server, REST-based communication that is popular in web services accessed through personal computers or portable devices. Web services require no adaptation in particular on the cloud side to support embedded systems, except for the choice of an embedded-friendly cipher set as described in the Securing socket communication section. However, the request-reply communication model introduces some restrictions on the design of distributed applications. The HTTP protocol can be upgraded by common agreement on the two HTTP endpoints, and support WebSocket, which is a protocol providing the abstraction of a symmetric, bidirectional...