Thomas Erl definisce SOA come segue nel suo sito :
Service-oriented computing represents a new generation distributed computing platform. As such, it encompasses many things, including its own design paradigm and design principles, design pattern catalogs, pattern languages, a distinct architectural model, and related concepts, technologies, and frameworks.
Questo suona sicuramente come una categoria completamente nuova che è parallela all'orientamento agli oggetti. Quasi uno in cui ci si aspetterebbe che esista una lingua completamente nuova. Come C procedurale e C # orientato agli oggetti.
Ecco la mia comprensione: Nella vita reale, non abbiamo un linguaggio completamente nuovo per SOA. E la maggior parte delle applicazioni che hanno un'architettura SOA hanno un design orientato agli oggetti al di sotto di esso. SOA è una "strategia" per rendere l'intera applicazione / servizio distribuito e affidabile. SOA ha bisogno di OOPS al di sotto di esso.
È corretto? Dove si colloca SOA (se non del tutto) con pratiche di programmazione orientate agli oggetti?
Modifica: ho appreso attraverso le risposte che OOA e SOA funzionano tra loro e non possono essere confrontati (in un modo "che è meglio"). Ho cambiato il titolo in "Relazione tra SOA e OOA" piuttosto che "confronto".