As it is happening in other contexts, the middleware
architectures proposed in the last years for the IoT often
follow the Service Oriented Architecture (SOA) approach.
The adoption of the SOA principles allows for decomposing
complex and monolithic systems into applications
consisting of an ecosystem of simpler and well-defined
components. The use of common interfaces and standard
protocols gives a horizontal view of an enterprise system.
Thus, the development of business processes enabled by
the SOA is the result of the process of designing workflows
of coordinated services, which eventually are associated
with objects actions. This facilitates the
interaction among the parts of an enterprise and allows
for reducing the time necessary to adapt itself to the
changes imposed by the market evolution [27]. A SOA approach
also allows for software and hardware reusing, because it does not impose a specific technology for the service
implementation [28].