EJB, SOA, OOP, WebServices

Bom dia pessoal.

           Ja faz um tempo que não posto aqui no GUJ mas ainda nao deixei de ler os posts de vcs... porem eu li alguns posts meio que complicados

Alguem poderia me dar uma ajuda sobre: [b]Em quais ocasiões eu devo usar essas tecnologias (EJB, SOA, OOP, WebServices).[/b]

Eu tava lendo o topico abaixo sobre SOA x OOP e fiquei bem confuso... muitas das coisas eu nao entendi.
            Ja vi em outros topicos discutirem sobre SOA x EJB e tb fiquei confuso.

Como o assunto é bem abramgente... sei que nao da pra explicar as tecnologias com alguns posts... entao se vcs tiverem algum material ou link sobre os assuntos seria otimo.

Desde já… muito obrigado.

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 :slight_smile:

Dá uma olhada no Wikipedia…