WebServices Simples e eficiente

Hoje em dia não podemos falar de uma arquitetura SOA sem falar em WebService, que é a maneira mais simples e comum que encontramos para realizar integração entre sistemas.

O que são WebServices?

Um conjunto de padrões que permitem as aplicações conversarem umas com as outras por meio de trocas de mensagens no formato XML, em cima de uma conexão HTTP que não está presa a nenhuma linguagem ou sistema operacional.

Existem cinco padrões fundamentais de WebServices:

XML

É usado como um formato geral para descrever modelos, formatos e tipos de dados;

HTTP (HTTPS)

É um protocolo de baixo nível usado pela internet, onde é possível transferir os WebServices pelas redes;

WSDL (Linguagem de Definição de WebServices)

É usado para definir as interfaces dos serviços, ou seja, define a sua assinatura (nome dos métodos e parâmetros de entrada e saída) e seus detalhes de ligação e deploy (protocolo e localização);

SOAP (Protocolo Simples de Acesso a Objetos)

É um padrão que define o protocolo de WebServices, enquanto o HTTP é um protocolo de baixo nível, SOAP é o formato específico para trocar dados de WebServices;

UDDI (Descrição Universal, Descoberta e Integração)

É um padrão para o gerenciamento de WebServices, ou seja, registrar e localizar serviços. Desempenha um papel auxiliar que não é exigido.

Por que usar  WebServices?

  • Pela descentralização dos dados. Cada departamento ou órgão pode ter seus próprios dados e disponibilizá-los para os outros usarem;
  • Dados podem estar disponíveis assim que forem atualizados;
  • Realizar integrações de aplicações de diferentes tecnologias onde possam se comunicar e trocar informações;
  • É transparente para o Firewall de uma empresa, pois como é uma string XML, então é interpretada como um arquivo “texto”.

Desempenho de WebServices

  • O protocolo HTTP, comparado com outros protocolos como CORBA, RMI ou COM, é mais lento;
  • O XML aumenta o tamanho das mensagens, assim pode ficar mais lento.

No modelo anterior, precisamos ficar desenvolvendo componentes como DLLs. Assim, quando tinha alguma atualização nesse componente, era uma tortura para atualizar todos os clientes. Com WebServices não precisamos nos preocupar com as atualizações, porque está publicado em único lugar que será acessado via HTTP por todos os clientes.

Sobre Leandro Prado

Leandro Silveira Prado é Premier Field Engineer na Microsoft especializado em Application Lifecycle Management.