Эти две вещи часто используются вместе, но они имеют в виду различные части архитектуры.
SPA относится к архитектуре пользовательского интерфейса, в частности, к веб-интерфейсу.
SOA относится к архитектуре внутреннего бизнес-уровня, архитектуре для повторного использования сервиса.
У вас может быть SPA без архитектуры SOA (он уродлив, но вы можете создавать фрагменты HTML на внутреннем интерфейсе и отправлять их на передний план, так выглядели предыдущие ООПТ).
Вы можете иметь архитектуру SOA и не иметь SPA, если вы отделите свою бизнес-логику от уровня презентации (например, с помощью веб-сервисов на страницах JSP или ASP.net).
Они действительно хорошо сочетаются друг с другом, поэтому было бы легко объединить две проблемы.
Простыми словами, они не яблоки для яблок. – techuser