Me peguei nessa dúvida, estou estudando algumas arquiteturas e não encontrei algo mais sensato na web sobre a diferença dessas suas siglas.
Não, SOA é um tipo de Arquitetura voltada ao foco de ter seu sistemas Orientados a serviços.
SOAP por outro lado é um protocolo de comunicação muito utilizado para comunicação de Sistemas através de Web Service. Na prática, quando você vai dispor um serviço para integração com outros sistemas, você pode utilizar alguns protocolos para isso. Os mais conhecidos e usados atualmente são SOAP e REST.
Então para resumir tudo, SOAP e REST são opções de protocolos a serem usados quando você decide usar SOA na arquitetura de seu negócio . Tem muita coisa a ser discutida aqui nesse tópico, mas sendo bem resumido, é isso.
Para detalhes de ambas, use o Google, tem muito, mas muito material que já detalha isso em um nível bem mais granular e pode lhe dar vários caminhos.
Bons estudos
O seu exemplo foi perfeito, eu li algumas coisas mas parece que fica sempre um ponto de dúvida para ser questionado.
Eu já fiz na faculdade alguns exemplos de SOAP, usando o WSDL, mas me peguei nisso agora, sobre SOA etc… Agora tudo faz sentido…
Se formos usar uma analogia bem fraca e sem sentido, seria como se SOA fosse a especificação e SOAP/REST a implementação, correto?
basicamente sim… SOA é um modelo arquitetural, SOAP é literalmente um dos protocolos para você implementar a arquitetura.
SOAP (Simple Object Access Protocol)
Podemos dizer que SOA é como construimos nosso sistema, ou seja SISTEMA ORIENTADO A SERVIÇOS é igual á WEB SERVICES?
Em sua grande e esmagadora maioria, serviços são dispnibilizados em Web Services, mas o conceito de SOA é mais abrangente que isso e você deve desacoplar o conceito da implementação. Se amanhã aparecer uma nova forma de dipor serviços que não por Web Services (esse conceito também é bem abrangente ) ainda será SOA.
SOA é uma arquitetura, é você construir seus sistemas orientado a serviços, sejam eles WEB ou não.
Ou seja, SOA é a forma de construirmos nosso sistema orientada a serviços, porém pode ser Web ou Desktop, porém ao utilizar o termo Web Services, estamos colocando especificamente o nosso sistema orientado a serviços porém WEB, seria isso?
O conceito de service oriented architecture - soa é muito mais abrangente que, apenas, definir qual o protocolo será utilizado REST, SOAP ou o que seja.
Você precisa definir como cada serviço será construído e de que maneira esses serviços serão utilizados (e, principalmente, reutilizados).
Um punhado de serviços não significa que você tenha uma arquitetura orientada a serviços. Significa que você terá que criar algo para consumir aquilo, mas, não que você possui esta arquitetura.
Conceitos como granularidade e reuso são fundamentais nisso: quanto eu consigo “quebrar” os meus serviços para que eles atendam única e exclusivamente ao que se propõem a fazer e quanto desses serviços serão reutilizados em diversas frentes distintas.
Depois disso, ainda é preciso determinar uma série de outras coisas que vão afetar diretamente o modo como os serviços se comportam e como são consumidos ou consomem APIs para enriquecer a informação solicitada e devolver os dados adequados, com agilidade e robustez.
hm, entendi, obg pela resposta.
Ainda há muito mais sobre arquitetura SOA, porém, com isso, você já tem uma dimensão da profundidade da coisa.
Por exemplo, essa arquitetura está diretamente ligada a governança de serviços. Esse governança é que é responsável, dentre outras coisas, por definir serviços candidatos para uma nova implementação, o versionamento de serviços e indicar quais serviços oferecem quais informações.
É a partir do que se consolidou como arquitetura SOA que se definiu o que hoje é chamado de arquitetura de micro serviços.
Hmmm, entendi, interessante né.