Tutorial XML

INICIO XML Introducción XML XML Cómo utilizar Árbol XML Sintaxis XML Elementos XML Atributos XML Espacios de nombres XML Pantalla XML Solicitud Http XML Analizador XML DOM XML XPath XML XML XSLT XQuery XML Enlace X XML Validador XML DTD XML Esquema XML Servidor XML Ejemplos XML Cuestionario XML Certificado XML

XML-AJAX

AJAX Introducción AJAX XMLHttp Solicitud AJAX Respuesta AJAX Archivo XML AJAX AJAXPHP Ajax ASP Base de datos AJAX Aplicaciones AJAX Ejemplos de AJAX

DOM XML

DOM Introducción Nodos DOM Acceso DOM Información del nodo DOM Lista de nodos DOM Atravesando DOM Navegación DOM DOM obtener valores Nodos de cambio de DOM Eliminar nodos DOM Nodos de reemplazo de DOM DOM Crear nodos Agregar nodos DOM Nodos de clonación de DOM Ejemplos de DOM

Tutorial XPath

Introducción a XPath Nodos XPath Sintaxis XPath Ejes XPath Operadores XPath Ejemplos de XPath

Tutorial XSLT

XSLT Introducción Idiomas XSL Transformación XSLT XSLT <plantilla> XSLT <valor-de> XSLT <para-cada> XSLT <ordenar> XSLT <si> XSLT <elegir> Aplicar XSLT XSLT en el cliente XSLT en el servidor XSLT Editar XML Ejemplos de XSLT

Tutorial de XQuery

Introducción a XQuery Ejemplo de XQuery XQuery FLWOR XQuery HTML Términos de XQuery Sintaxis XQuery XQuery Agregar Seleccionar XQuery Funciones XQuery

DTD XML

Introducción a DTD Bloques de construcción DTD Elementos DTD Atributos DTD Elementos DTD vs Attr Entidades DTD Ejemplos de DTD

Esquema XSD

XSD Introducción XSD Cómo XSD <esquema> Elementos XSD Atributos XSD Restricciones XSD

Complejo XSD

Elementos XSD XSD vacío Solo elementos XSD Solo texto XSD XSD mixto Indicadores XSD XSD <cualquiera> XSD <cualquieratributo> Sustitución XSD Ejemplo XSD

Datos XSD

Cadena XSD Fecha XSD XSD Numérico Miscelánea XSD Referencia XSD

Servicios web

Servicios XML XML WSDL JABÓN XML XML RDF RSS XML

Referencias

Tipos de nodos DOM Nodo DOM Lista de nodos DOM DOM NamedNodeMap Documento DOM Elemento DOM Atributo DOM Texto DOM DOM CDATA Comentario DOM DOM XMLHttpSolicitud Analizador DOM Elementos XSLT Funciones XSLT/XPath

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í:

Fahrenheit a Celsius:

Celsius a Fahrenheit:

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