service-oriented architecture definition software, architecture
(SOA) Systems built from loosely-coupled software
modules deployed as services
, typically communicating via a network
. This allows different modules to be implemented and deployed in different ways, e.g. owned by different organisations, developed by different teams, written in different programming languages
, running on different hardware
and operating systems
. The key to making it work is interoperability
so that modules can exchange data.
SOAs often support service discovery, allowing a service to be changed without having to explicitly reconnect all its clients.
Many different frameworks have been developed for SOA, including SOAP
, web services