Complex embedded systems are rarely composed of a single application. Having all the logic in the same application is brittle, error-prone, and sometimes hardly feasible because different functions of the system may be developed by different teams and even different vendors. That is why isolating the logic of the functions in standalone applications and communicating with each other using a well-defined protocol is a common approach used to scale embedded software. In addition, this kind of isolation can be used with minimal modifications to communicate with applications hosted on remote systems, making it even more scalable. We will learn how to build robust and scalable applications by splitting their logic into independent components that communicate with each other.Â
In this chapter, we will cover the following topics:
- Using inter...