In a distributed system, the lack of a single address space and the need for independent reusable services are addressed by having a service-based architecture