Quem atua por trás disso tudo sabe os problemas e a dor de cabeça que é atuar num mundo distribuído onde protocolos diferentes tem que se entender e onde cada vez mais as empresas se cercam por firewalls para segurança de suas informações, neste cenário a integração de sistemas realmente é um desafio.
É justamente neste caso que surgem os WebServices, imagine um componente cujo seus recursos possam ser acessados na Internet via TCP/IP, independente do Sistema Operacional e de qualquer lugar como se o componente estivesse instalado na sua máquina. Um componente que não sofresse as restrições dos Firewalls e que fosse totalmente integrado ao seu ambiente.
A estratégia da Microsoft com a plataforma .NET esta focada na integração dos sistemas distribuídos na Web, na plataforma .NET ela oferece ferramentas para que a criação de serviços e sua distribuição na Web possa ser feita de forma rápida e simples.
Protocolo SOAP
É aqui que entra o protocolo SOAP(Simple Object Access Protocol). Ele é o responsável pela comunicação entre o cliente os sistemas e os serviços, pois permite que diferentes aplicações troquem dados de forma semelhante ao protocolo HTTP com GET e POST.
Introdução ao WebServices
Um WebService é armazenado em um arquivo texto com extensão .ASMX que não necessita ser compilado, você pode usar o ambiente do Visual Studio ou até mesmo o velho e bom bloco de notas para gerar este arquivo. Após gerado basta disponibilizá-lo na Web e acessá-lo via URL como acessamos um arquivo .ASPX.
O arquivo ASMX deve possuir algumas diretivas próprias
<%@ WebService Language="VB" Class="Teste" %>
- indica ao .NET Framework para processar o arquivo como um WebService
- indica a linguagem a ser usada e o nome da classe declarada no arquivo
<%@ WebService Language="VB" Class="Teste" %>
Imports System.Web.Services
- É preciso importar este namespace
<%@ WebService Language="VB" Class="Teste" %>
Class consulta : Inherits WebService
- Declara a classe que implementa o WebService e seus métodos
<%@ WebService Language="VB" Class="Teste" %>
Public Function consulta() As String HelloWorld = "Ola Pessoal" End Function
- O método é exposto e acessado via Web graças à declaração
- Perceba que não temos tags