Servicios web XML
Los servicios web son componentes de aplicaciones web.
Los servicios web se pueden publicar, encontrar y utilizar en la Web.
Este tutorial presenta WSDL, SOAP, RDF y RSS.
WSDL
- WSDL significa Lenguaje de descripción de servicios web
- WSDL es un lenguaje basado en XML para describir servicios web.
- WSDL es una recomendación del W3C
JABÓN
- SOAP significa Protocolo simple de acceso a objetos
- SOAP es un protocolo basado en XML para acceder a servicios web.
- SOAP se basa en XML
- SOAP es una recomendación del W3C
CDR
- RDF significa Marco de Descripción de Recursos
- RDF es un marco para describir recursos en la web
- RDF está escrito en XML
- RDF es una recomendación del W3C
RSS
- RSS significa sindicación realmente simple
- RSS le permite sindicar el contenido de su sitio
- RSS define una manera fácil de compartir y ver titulares y contenido
- Los archivos RSS se pueden actualizar automáticamente
- RSS permite vistas personalizadas para diferentes sitios
- RSS está escrito en XML
Lo que ya deberías saber
Antes de estudiar los servicios web, debe tener una comprensión básica de XML y los espacios de nombres XML.
Si desea estudiar estos temas primero, lea nuestro Tutorial XML .
Servicios web
- Los servicios web son componentes de aplicaciones
- Los servicios web se comunican mediante protocolos abiertos
- Los servicios web son autónomos y autodescriptivos.
- Los servicios web se pueden descubrir usando UDDI
- Los servicios web pueden ser utilizados por otras aplicaciones
- HTTP y XML son la base de los servicios web
La interoperabilidad tiene la máxima prioridad
Cuando todas las plataformas principales podían acceder a la web mediante navegadores web, las diferentes plataformas no podían interactuar. Para que estas plataformas funcionen juntas, se desarrollaron aplicaciones web.
Las aplicaciones web son simplemente aplicaciones que se ejecutan en la web. Estos están construidos alrededor de los estándares del navegador web y pueden ser utilizados por cualquier navegador en cualquier plataforma.
Los servicios web llevan las aplicaciones web al siguiente nivel
Mediante el uso de servicios web, su aplicación puede publicar su función o mensaje en el resto del mundo.
Los servicios web usan XML para codificar y decodificar datos, y SOAP para transportarlos (usando protocolos abiertos).
Con los servicios web, el sistema de facturación del servidor Win 2k de su departamento de contabilidad puede conectarse con el servidor UNIX de su proveedor de TI.
Los servicios web tienen dos tipos de usos
Componentes de aplicación reutilizables.
Hay cosas que las aplicaciones necesitan con mucha frecuencia. Entonces, ¿por qué hacer esto una y otra vez?
Los servicios web pueden ofrecer componentes de aplicaciones como: conversión de divisas, informes meteorológicos o incluso traducción de idiomas como servicios.
Conecte el software existente.
Los servicios web pueden ayudar a resolver el problema de la interoperabilidad al brindar a diferentes aplicaciones una forma de vincular sus datos.
Con los servicios web puede intercambiar datos entre diferentes aplicaciones y diferentes plataformas.
Cualquier aplicación puede tener un componente de servicio web.
Los servicios web se pueden crear independientemente del lenguaje de programación.
Un ejemplo de servicio web
En el siguiente ejemplo, usaremos ASP.NET para crear un servicio web simple que convierta la temperatura de Fahrenheit a Celsius y viceversa:
<%@ 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 se guarda como un archivo .asmx. Esta es la extensión de archivo ASP.NET para servicios web XML.
Ejemplo explicado
Nota: Para ejecutar este ejemplo, necesitará un servidor .NET.
La primera línea del ejemplo indica que se trata de un servicio web, escrito en VBScript y tiene el nombre de clase "TempConvert":
<%@ WebService Language="VBScript" Class="TempConvert" %>
Las siguientes líneas importan el espacio de nombres "System.Web.Services" del marco .NET:
Imports System
Imports System.Web.Services
La siguiente línea define que la clase "TempConvert" es un tipo de clase WebService:
Public Class TempConvert :Inherits WebService
Los siguientes pasos son la programación básica de VB. Esta aplicación tiene dos funciones. Uno para convertir de Fahrenheit a Celsius y otro para convertir de Celsius a Fahrenheit.
La única diferencia con una aplicación normal es que esta función se define como "WebMethod()".
Utilice "WebMethod()" para convertir las funciones de su aplicación en servicios 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
Luego, termina la clase:
end class
Publique el archivo .asmx en un servidor compatible con .NET y tendrá su primer servicio web en funcionamiento.
Coloque el servicio web en su sitio web
Usando un formulario y el método HTTP POST, puede poner el servicio web en su sitio, así:
Cómo hacerlo
Aquí está el código para agregar el servicio web a una página 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>
Sustituya el "tempconvert.asmx" con la dirección de su servicio web como:
http://www.ejemplo.com/xml/tempconvert.asmx