Service-oriented architecture (SOA) is an architectural style that defines how components should be loosely coupled, modular, and have well-defined interfaces so that they can be reused across multiple applications and systems. A service is a reusable component that can be used as a building block to form larger, more complex business applications. SOA aims to allow services to be accessed without knowledge of their underlying platform implementation by defining standard protocols for services to communicate with each other.