Aprenda de uma forma simples , objetiva e direta os ... - Macoratti.net
Aprenda de uma forma simples , objetiva e direta os ... - Macoratti.net
Aprenda de uma forma simples , objetiva e direta os ... - Macoratti.net
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Curso <strong>de</strong> Introdução a Plata<strong>forma</strong> .Net FrameWork SDK<br />
Capítulo 10 - Web Services<br />
Um Web Service é <strong>uma</strong> maneira uniforme pela qual <strong>os</strong> objet<strong>os</strong> em um servidor<br />
aceitam solicitações que chegam <strong>de</strong> clientes que estão usando o mínimo<br />
<strong>de</strong>nominador comum do HTTP/XML. Para criar um Web Service você não tem <strong>de</strong><br />
apren<strong>de</strong>r <strong>uma</strong> nova maneira <strong>de</strong> programar. Você <strong>simples</strong>mente escreve um objeto<br />
.NET como se ele estivesse sendo acessado <strong>direta</strong>mente por clientes locais, marcao<br />
com um atributo que diz que você quer que ele esteja disponível para <strong>os</strong> clientes<br />
Web, e o ASP.NET faz o resto. O ASP.NET automaticamente monta <strong>uma</strong> infraestrutura<br />
pré-fabricada que aceita as solicitações que chegam por meio do HTTP e<br />
as mapeia para chamadas no seu objeto. Quando você coloca seus objet<strong>os</strong> em um<br />
Web Service, eles po<strong>de</strong>m funcionar com qualquer outro na Web que fale HTTP e<br />
XML, que será o caso <strong>de</strong> tod<strong>os</strong> no universo, in<strong>de</strong>pen<strong>de</strong>ntemente do tipo <strong>de</strong> sistema<br />
operacional e ambiente <strong>de</strong> processamento em que estiverem funcionando. Você não<br />
precisa escrever a infra-estrutura que lida com a comunicação Web; o .NET<br />
Framework provi<strong>de</strong>ncia isso para você.<br />
No lado cliente, o .NET proporciona classes proxies que permitem acesso fácil<br />
e baseado em função a<strong>os</strong> Web Services fornecid<strong>os</strong> por qualquer servidor que aceite<br />
solicitações HTTP. Uma ferramenta <strong>de</strong> <strong>de</strong>senvolvedor lê a <strong>de</strong>scrição do Web Service<br />
e gera <strong>uma</strong> classe Proxy contendo funções na linguagem que você usa para<br />
<strong>de</strong>senvolver o cliente. Quando o seu cliente chama <strong>uma</strong> <strong>de</strong>ssas funções, a classe<br />
Proxy cria <strong>uma</strong> solicitação HTTP e a envia para o servidor. Quando a resp<strong>os</strong>ta volta<br />
do servidor, a classe Proxy analisa <strong>os</strong> resultad<strong>os</strong> e <strong>os</strong> retorna da função. Isso<br />
permite que o seu cliente baseado em função p<strong>os</strong>sa interagir <strong>de</strong> <strong>forma</strong> uniforme com<br />
qualquer servidor Web que fale HTTP e XML, que é a linguagem que <strong>de</strong>verá ser<br />
falada por tod<strong>os</strong>.<br />
Exemplo <strong>de</strong> um Web Service básico:<br />
<br />
' A linha do cabeçalho acima diz ao ASP.NET que este arquivo contém<br />
' um Web Service escrito na linguagem Visual Basic e que o<br />
' nome da classe que fornece aquele serviço é TimeService<br />
' Importe <strong>os</strong> namespaces (pense neles como referências)<br />
' necessári<strong>os</strong> para um Web Service.<br />
Imports System<br />
Imports System.Web.Services<br />
' Declare <strong>uma</strong> nova classe para n<strong>os</strong>so novo serviço.<br />
' Ela <strong>de</strong>ve herdar da classe-base fornecida pelo sistema, WebService.<br />
Public Class TimeService : Inherits WebService<br />
' Coloque as funções na classe<br />
' Marque-as como WebMethods<br />
Public Function GetTime (ShowSeconds as Boolean) As String<br />
' Execute a regra <strong>de</strong> negócio <strong>de</strong> n<strong>os</strong>sa função.<br />
' Determine a hora atual, <strong>forma</strong>te conforme solicitado e retorne a string.<br />
Dim dt As DateTime<br />
If (ShowSeconds = True) Then<br />
GetTime = dt.Now.ToLongTimeString<br />
Else<br />
GetTime = dt.Now.ToShortTimeString<br />
End If<br />
End Function<br />
End Class<br />
133