SOA vs Serviços da Web
Os serviços da Web são usados para criar aplicativos que podem enviar / receber mensagens usando SOAP sobre HTTP. Um serviço da web é um pacote divulgado de funcionalidades oferecidas pela web. SOA é um conjunto de conceitos de arquitetura usados para o desenvolvimento e integração de serviços. Serviços da Web podem ser usados para implementar SOA. Mas é apenas um método único de realizar aplicativos baseados em SOA.
O que são serviços da Web?
Um serviço da Web é um método de comunicação pela rede. De acordo com o W3C, um serviço da Web é um sistema dedicado ao suporte de transações máquina a máquina através de uma rede. É uma API da Web descrita em WSDL (Web Service Description Language), e os serviços da Web são geralmente independentes e autoexplicativos. Os serviços da Web podem ser descobertos usando o protocolo UDDI (Universal Description, Discovery and Integration). Ao trocar mensagens SOAP (Simple Object Access Protocol), geralmente por HTTP (com XML), outros sistemas podem interagir com serviços da Web.
Os serviços da Web são usados de várias maneiras, como RPC (Remote Procedure Calls), SOA (Service Oriented Architecture) 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 lida com a criação das classes e o uso de ferramentas de geração WSDL para compor essas classes como serviços da Web. A abordagem descendente trata da definição das especificações WSDL e do uso de ferramentas de geração de código para gerar as classes correspondentes. Os serviços da Web têm dois usos principais. 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 de arquitetura usados para o desenvolvimento e integração de serviços. A SOA lida com a computação distribuída, na qual os consumidores consomem um conjunto de serviços interoperáveis. Vários consumidores podem consumir um único serviço e vice-versa. Portanto, a SOA é frequentemente usada para integrar vários aplicativos que usam plataformas diferentes. Para que a SOA opere adequadamente, os serviços devem ser fracamente acoplados aos sistemas operacionais e às tecnologias dos aplicativos subjacentes. Os desenvolvedores de SOA criam serviços usando unidades de funcionalidade e os disponibilizam pela Internet. Os serviços da Web podem ser usados para implementar a arquitetura SOA. Nesse caso, os serviços da Web se tornam as unidades de funcionalidade da SOA acessíveis pela Internet. Os serviços da Web podem ser usados por qualquer pessoa sem se preocupar com as plataformas ou as linguagens de programação usadas para desenvolvê-los. A SOA é construída diretamente sobre o princípio da orientação a serviços, que fala sobre serviços com interface simples que pode ser acessada 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 da Web que pode ser usada para criar aplicativos que podem enviar / receber mensagens usando SOPA sobre HTTP. No entanto, SOA é um modelo de arquitetura para a implementação de aplicativos baseados em serviços de acoplamento fraco. Os serviços da Web podem ser usados para implementar aplicativos SOA. Embora a abordagem de serviço da Web para SOA tenha se tornado muito popular, é apenas um método único de implementação de SOA. A SOA pode ser implementada usando qualquer outra tecnologia baseada em serviço (por exemplo, CORBA e REST).