Thomas Erl defines SOA as follows in his site:
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.
This definitely sounds like a whole new category which is parallel to object orientation. Almost one in which you would expect an entirely new language to exist for. Like procedural C and object oriented C#.
Here is my understanding: In real life, we don't have entirely new language for SOA. And most application which have SOA architecture have an object oriented design underneath it. SOA is a "strategy" to make the entire application/service distributed and reliable. SOA needs OOPS working underneath it.
Is this correct? Where does SOA (if at all it does) fit in with object oriented programming practices?
Edit: I have learnt through answers that OOA and SOA work with each other and cannot be compared (in a "which is better" way). I have changed the title to "Relationship between SOA and OOA" rather than "comparison".