Bästa svaret
Först och viktigast av allt SOA utan styrning är inte SOA. SOAP kräver ingen styrning utanför det begränsade handskakningen.
SOA använder någon form av gränssnittsvänligt handskakning, vanligtvis RESTful men inte nödvändigtvis SOAP. SOAP har ett mycket specifikt sätt att skaka hand.
Eftersom SOA bryr sig så mycket om styrning har det funktioner som serviceupptäckt, registrering, loggar vem som använder vilka tjänster, när och hur lång tid det tar att köra och andra typer av saker. SOAP kräver inget sådant.
SOA tar bort löst kopplade funktioner till publicerade tjänster. Det är teoretiskt möjligt att skapa en ny tjänst bara genom att kombinera befintliga funktioner som den känner till på nya sätt.
Alla borde vilja skriva SOAP-förfrågningar bra men det är inte samma typ av abstraktioner. Man kan inte ta befintliga SOAP-samtal och göra nya tjänster av dem.
Svar
SOA är ett arkitektoniskt mönster för företag som betonar återanvändning av komponenter och tjänster och kräver lös koppling av tjänster. SOA är inte nödvändigtvis XML-meddelandebaserat, men är ofta, och SOAP och WSDL är specifika XML-standarder som används för att skicka information på ett väl styrt sätt och definiera webbtjänstgränssnitt, respektive. Det är ungefär som Java och JavaScript, de ser lika ut, de är inte.