Serviços Web XML
Os serviços da Web são componentes de aplicativos da Web.
Os serviços da Web podem ser publicados, encontrados e usados na Web.
Este tutorial apresenta WSDL, SOAP, RDF e RSS.
WSDL
- WSDL significa Web Services Description Language
- WSDL é uma linguagem baseada em XML para descrever serviços da Web.
- WSDL é uma recomendação do W3C
SABÃO
- SOAP significa Simple Object Access Protocol
- SOAP é um protocolo baseado em XML para acessar Web Services.
- SOAP é baseado em XML
- SOAP é uma recomendação do W3C
RDF
- RDF significa Resource Description Framework
- RDF é um framework para descrever recursos na web
- RDF é escrito em XML
- RDF é uma recomendação do W3C
RSS
- RSS significa Really Simple Syndication
- RSS permite que você distribua o conteúdo do seu site
- RSS define uma maneira fácil de compartilhar e visualizar manchetes e conteúdo
- Os arquivos RSS podem ser atualizados automaticamente
- RSS permite visualizações personalizadas para diferentes sites
- RSS é escrito em XML
O que você já deve saber
Antes de estudar serviços da Web, você deve ter um entendimento básico de XML e namespaces XML.
Se você quiser estudar esses assuntos primeiro, leia nosso Tutorial de XML .
Serviços web
- Os serviços da Web são componentes de aplicativos
- Os serviços da Web se comunicam usando protocolos abertos
- Os serviços da Web são autocontidos e autodescritivos
- Os serviços da Web podem ser descobertos usando UDDI
- Os serviços da Web podem ser usados por outros aplicativos
- HTTP e XML são a base para serviços da Web
A interoperabilidade tem a maior prioridade
Quando todas as principais plataformas podiam acessar a Web usando navegadores da Web, plataformas diferentes não podiam interagir. Para que essas plataformas funcionem juntas, foram desenvolvidos aplicativos Web.
Os aplicativos da Web são simplesmente aplicativos executados na Web. Eles são construídos em torno dos padrões de navegador da Web e podem ser usados por qualquer navegador em qualquer plataforma.
Os serviços da Web levam os aplicativos da Web para o próximo nível
Usando serviços da Web, seu aplicativo pode publicar sua função ou mensagem para o resto do mundo.
Os serviços da Web usam XML para codificar e decodificar dados e SOAP para transportá-los (usando protocolos abertos).
Com os serviços da Web, o sistema de faturamento do servidor Win 2k do seu departamento de contabilidade pode se conectar ao servidor UNIX do seu fornecedor de TI.
Os serviços da Web têm dois tipos de uso
Componentes de aplicativos reutilizáveis.
Há coisas que os aplicativos precisam com muita frequência. Então, por que fazer isso de novo e de novo?
Os serviços da Web podem oferecer componentes de aplicativos como: conversão de moeda, boletins meteorológicos ou até mesmo tradução de idiomas como serviços.
Conecte o software existente.
Os serviços da Web podem ajudar a resolver o problema de interoperabilidade fornecendo a diferentes aplicativos uma maneira de vincular seus dados.
Com os serviços da Web, você pode trocar dados entre diferentes aplicativos e diferentes plataformas.
Qualquer aplicativo pode ter um componente Web Service.
Web Services podem ser criados independentemente da linguagem de programação.
Um exemplo de serviço da Web
No exemplo a seguir, usaremos ASP.NET para criar um Web Service simples que converte a temperatura de Fahrenheit para Celsius e vice-versa:
<%@ WebService Language="VBScript" Class="TempConvert" %>
Imports System
Imports System.Web.Services
Public Class TempConvert :Inherits WebService
<WebMethod()> Public Function FahrenheitToCelsius(ByVal Fahrenheit As String) As String
dim fahr
fahr=trim(replace(Fahrenheit,",","."))
if fahr="" or IsNumeric(fahr)=false then return "Error"
return ((((fahr) - 32) / 9) * 5)
end function
<WebMethod()> Public Function CelsiusToFahrenheit(ByVal Celsius As String) As String
dim cel
cel=trim(replace(Celsius,",","."))
if cel="" or IsNumeric(cel)=false then return "Error"
return ((((cel) * 9) / 5) + 32)
end function
end class
Este documento é salvo como um arquivo .asmx. Esta é a extensão de arquivo ASP.NET para XML Web Services.
Exemplo explicado
Observação: para executar este exemplo, você precisará de um servidor .NET.
A primeira linha do exemplo informa que este é um Web Service, escrito em VBScript, e tem o nome de classe "TempConvert":
<%@ WebService Language="VBScript" Class="TempConvert" %>
As próximas linhas importam o namespace "System.Web.Services" do .NET framework:
Imports System
Imports System.Web.Services
A próxima linha define que a classe "TempConvert" é um tipo de classe WebService:
Public Class TempConvert :Inherits WebService
Os próximos passos são a programação básica do VB. Este aplicativo tem duas funções. Um para converter de Fahrenheit para Celsius e outro para converter de Celsius para Fahrenheit.
A única diferença de um aplicativo normal é que esta função é definida como um "WebMethod()".
Use "WebMethod()" para converter as funções em seu aplicativo em serviços da web:
<WebMethod()> Public Function FahrenheitToCelsius(ByVal Fahrenheit As String) As String
dim fahr
fahr=trim(replace(Fahrenheit,",","."))
if fahr="" or IsNumeric(fahr)=false then return "Error"
return ((((fahr) - 32) / 9) * 5)
end function
<WebMethod()> Public Function CelsiusToFahrenheit(ByVal Celsius As String) As String
dim cel
cel=trim(replace(Celsius,",","."))
if cel="" or IsNumeric(cel)=false then return "Error"
return ((((cel) * 9) / 5) + 32)
end function
Em seguida, finalize a aula:
end class
Publique o arquivo .asmx em um servidor com suporte .NET e você terá seu primeiro serviço Web funcionando.
Coloque o serviço da Web em seu site
Usando um formulário e o método HTTP POST, você pode colocar o web service em seu site, assim:
Como fazer isso
Aqui está o código para adicionar o Web Service a uma página da web:
<form
action='tempconvert.asmx/FahrenheitToCelsius'
method="post" target="_blank">
<table>
<tr>
<td>Fahrenheit to Celsius:</td>
<td>
<input class="frmInput" type="text"
size="30" name="Fahrenheit">
</td>
</tr>
<tr>
<td></td>
<td align="right">
<input type="submit"
value="Submit" class="button">
</td>
</tr>
</table>
</form>
<form
action='tempconvert.asmx/CelsiusToFahrenheit'
method="post" target="_blank">
<table>
<tr>
<td>Celsius to Fahrenheit:</td>
<td>
<input class="frmInput" type="text"
size="30" name="Celsius">
</td>
</tr>
<tr>
<td></td>
<td align="right">
<input type="submit"
value="Submit" class="button">
</td>
</tr>
</table>
</form>
Substitua o "tempconvert.asmx" pelo endereço do seu serviço da web como:
http://www.example.com/xml/tempconvert.asmx