What do you understand by the term "service-oriented architecture"?

Service-oriented architecture (SOA) is a design approach where an application is built from independent services that communicate over a network, each encapsulating a specific business capability.

Key Points: • Services expose functionality through well-defined interfaces, typically over protocols like SOAP or HTTP. • Services are loosely coupled, meaning one service can change internally without breaking others as long as its interface stays stable. • SOA commonly relies on an Enterprise Service Bus (ESB) to handle routing, transformation, and communication between services. • It emphasizes reuse — the same service can be consumed by multiple applications. • Microservices architecture evolved from SOA principles but favors smaller, independently deployable services and lightweight protocols like REST over a shared ESB.

Example: A retail company might expose a "Customer Lookup" service that both its website and its call-center application consume, avoiding duplicate implementations of the same logic.

Interview Tip: A concise interview answer is:

"SOA structures an application as a set of network-accessible services, each handling a distinct business function and communicating through defined interfaces, often via an ESB. It promotes reuse and loose coupling, and is the architectural predecessor to today's microservices, which take those ideas further with smaller, independently deployable units."