SOA в простых терминах отделяет компоненты, связанные с презентацией, от механизма, который извлекает контент.
Это звучит очень тривиально, но идея заключается в том, что компоненты представления должны быть не только независимыми от программы, которая извлекает данные, но и не должны от нее зависеть.
Для этого создается уровень абстракции «Сервис», который содержит знаменитую «Enterprise Service Bus» (ESB). ESB - это программа, которая знает, где находятся службы и как их вызывать для передачи данных запрашивающей стороне.
В наши дни SOA стал больше стандартом в системах уровня предприятия, чем просто выбором, по той простой причине, что данные (а не «могут быть») получены из разных источников. Например. Служба входа / аутентификации может быть централизованной на основе LDAP; Детали заказа могут быть получены с использованием соединения JDBC с размещенным механизмом БД; Для авторизации кредитной карты может использоваться вызов веб-служб Payment Gateway; и так далее ...
Самым большим преимуществом использования этой архитектуры является то, что на разработку базового приложения не будет никакого минимального или минимального влияния, если завтра такая же служба будет доступна из другого ресурса.