Eu também estou perdido nessa de sopa de letrinhas. Tentando te ajudar e a me ajudar vou responder aqui, alguém com maior conhecimento que me corrija.
Acho que SOA x OOP não faz muito sentido, porque uma define um arquitetura do software(SOA) e a outra é um paradigma de programação(OO). Nada lhe impede de fazer um sistema SOA usando uma linguagem OO.
Aqui já fico na dúvida, porque o que te limita de disponibilizar um EJB como um serviço? A meu ver EJB também é SOA.
Mas acho que você pode pensar aqui dessas duas tecnologias como estratégias para programação distribuída.
Agora WebServices seria uma padronização de uma “arquitetura SOA” baseada em XML e nos protocolos da Internet. Eu faria uma analogia que WebServices é o java da programação distribuída, só que oferecendo independência de linguagem de programação.
Digamos que uma discussão Webservices x EJB faria sentido, sendo que os dois tentam resolvar o problema de programação distribuída, mas acho também que os dois podem viver juntos porque existe recursos que tem em um que não existe no outro, sendo que EJB oferece recursos avançados para quem pretende adotar Java como sua única linguagem de programação. E Webservies oferece a tão querida independência de linguagem.
Fazendo outra analogia tosca, EJB seria o C++ e Webservices o Java :shock: , só que aqui invés da luta entre recursos da maquina e sistema operacional, é a luta entre recursos existentes nas linguagens de programação atualmente.
Mas como dito, vamos esperar alguma confirmação 