Diferença entre SOA e serviços da Web
SOA vs Web Services
Os serviços da Web são usados para criar aplicativos que podem enviar / receber mensagens usando SOAP por HTTP. Um serviço web é um pacote divulgado de funcionalidades oferecidas na web. SOA é um conjunto de conceitos arquitetônicos utilizados para o desenvolvimento e integração de serviços. Os serviços da Web podem ser usados para implementar SOA. Mas é apenas um método único de realização de aplicativos baseados em SOA.
O que são serviços da Web?
Um serviço da Web é um método de comunicação através da rede. De acordo com o W3C, um serviço da Web é um sistema dedicado a suportar transações de máquina a máquina em uma rede. É uma API da Web descrita no WSDL (Web Service Description Language), e os serviços da Web geralmente são autônomos e autodescritivos. Os serviços da Web podem ser descobertos utilizando o protocolo UDDI (Universal Description, Discovery and Integration). Ao trocar mensagens SOAP (protocolo de acesso de objeto simples) tipicamente em HTTP (com XML), outros sistemas podem interagir com os serviços da Web.
Os serviços da Web são usados em várias maneiras, como RPC (Chamadas de procedimento remoto), SOA (Arquitetura Orientada a Serviços) e REST (Representational State Transfer). Existem duas metodologias de design automatizadas para o desenvolvimento de serviços da Web. A abordagem de baixo para cima aborda a primeira criação das classes e depois a utilização de ferramentas de geração do WSDL para compor essas classes como serviços da Web. A abordagem de cima para baixo aborda a definição das especificações WSDL e, em seguida, a utilização de ferramentas de geração de código para gerar as classes correspondentes. Os serviços da Web têm dois principais usos. Eles podem ser usados como componentes de aplicativos reutilizáveis e / ou para conectar aplicativos da web em execução em diferentes plataformas.
O que é SOA?
SOA (Arquitetura orientada a serviços) é um conjunto de conceitos arquitetônicos utilizados para o desenvolvimento e integração de serviços. A SOA trata da computação distribuída, na qual os consumidores consomem um conjunto de serviços interoperáveis. Os consumidores múltiplos podem consumir um único serviço e vice-versa. Portanto, o SOA é freqüentemente usado para integrar várias aplicações que usam plataformas diferentes. Para a SOA operar adequadamente, os serviços devem ser ligeiramente acoplados aos sistemas operacionais e às tecnologias das aplicações subjacentes. Os desenvolvedores de SOA criam serviços usando unidades de funcionalidade e as disponibilizam pela internet. Os serviços da Web podem ser usados para implementar a arquitetura SOA. Nesse caso, os serviços da Web tornam-se as unidades de funcionalidade da SOA acessíveis pela internet. Os serviços da Web podem ser utilizados por qualquer pessoa sem preocupar-se com as plataformas ou as linguagens de programação utilizadas para desenvolvê-las. A SOA é diretamente construída com base no princípio da orientação ao serviço, que fala sobre serviços com interface simples que podem ser acessados de forma independente pelos usuários, sem se preocupar com a implementação real da plataforma do serviço.
Qual a diferença entre SOA e Web Services?
Existem algumas diferenças importantes entre serviços da Web e SOA. Os serviços da Web definem uma tecnologia web que pode ser usada para criar aplicativos que podem enviar / receber mensagens usando SOPA por HTTP. No entanto, a SOA é um modelo arquitetônico para implementar aplicativos baseados em serviços ligeiramente acoplados. Os serviços da Web podem ser usados para implementar aplicativos SOA. Mesmo que a abordagem de serviços web para SOA tenha se tornado muito popular, é apenas um método único de implementação de SOA. O SOA pode ser implementado usando qualquer outra tecnologia baseada em serviços (por exemplo, CORBA e REST).