chamado apenas de web service, ou simplesmente service. Este tipo de servico possui dois requisitos fundamentais:comunica-se via protocolos internet (normalmente HTTP);envia e recebe dados formatados como documentos XML.A ampla aceitacao do web service resultou no surgimento de um conjunto de tecnologias suplementares que se tornaram um padrao de fato. Assim ao desenvolver nossos web services devemos considerar o uso de tecnologias que:forneca uma descricao de servico que, no minimo, consista de um documento WSDL;seja capaz de transportar documentos XML utilizando SOAP sobre HTTP.Estas tecnologias nao modificam a funcionalidade do nucleo de um servico web, tanto como o faz sua habilidade para se representar e comunicar num modo padrao. Muitas das convencoes de arquitetura expressadas neste artigo assumem que SOAP e WSDL fazem parte da estrutura de web services descrita.Alem disto, e normal que um Web service seja:capaz de agir como o solicitante e o provedor de um servico;registrado com um discovery agent atraves do qual possam ser localizados.Numa conversacao tipica com um web service, o cliente iniciador do pedido e um web service tambem. Como mostrado na Figura 2, qualquer interface exposta por este client service tambem o qualifica como um servico a partir do qual outros servicos podem solicitar informacao. Posto isto, web services nao se encaixam no modelo classico de cliente-servidor. Na verdade, eles tendem a estabelecer um sistema ponto-a-ponto, onde cada servico pode atuar como cliente ou servidor.Figura 2: Troca de papeis do Web services durante uma conversacaoNow I m like a client: agora sou um cliente;Now I m like a server: agora sou um servidor;Service: servicos;Could you do this for me: poderia fazer isso por mim?;Ok, i ll get right on it: Ok;Now I ve got to ask you to do something: agora eu gostaria de lhe pedir algo;Yeah, alright. I ll take care of if: Tudo bem, e so falar.Service-oriented architecture (SOA)Como mencionado anteriormente, adicionar uma aplicacao com uns poucos web services nao e nenhum problema. Esta integracao limitada pode ser apropriada para uma experiencia de aprendizado, ou para complementar a arquitetura de uma aplicacao existente com uma peca de funcionalidade baseada em servicos que atende a um requisito especifico do projeto. No entanto, isto nao estabelece uma arquitetura orientada a servico. Existe uma clara diferenca entre:uma aplicacao que usa web service;uma aplicacao baseada numa arquitetura orientada a servicos.Uma SOA e um modelo de projeto com um conceito profundamente amarrado a questao do encapsulamento de aplicacao. A arquitetura resultante estabelece essencialmente um paradigma de projeto, no qual web services sao os blocos de construcao chave. Isto quer dizer que ao migrar a arquitetura da sua aplicacao para uma SOA, estabelece-se um compromisso com os principios de projeto de web services e a tecnologia correspondente, como partes fundamentais do seu ambiente tecnico.Uma SOA baseada em XML web service e construida sobre camadas de tecnologia XML estabelecidas, focada em expor a logica de aplicacao existente como um servico fracamente acoplado. Para apoiar este modelo, uma SOA promove o uso de um mecanismo de discovery por servicos via um service broker ou discovery agent.A Figura 3 mostra como uma SOA