Formatos de conexión de servicios Web XML
Los protocolos binarios como DCOM se componen de un nivel de solicitudes de método sobre un protocolo de comunicaciones patentado. Estos protocolos no son convenientes para la creación de servicios Web XML que puedan estar disponibles universalmente. Esto no le impide utilizarlos en un escenario de servicios Web XML, pero el inconveniente que supone es que dependen de las arquitecturas específicas de sus sistemas subyacentes y, por lo tanto, limitan el espectro de posibles clientes.
Como alternativa, puede construir servicios Web XML que trabajen con uno o varios protocolos abiertos, como una combinación de HTTP y SOAP. Lógicamente, la infraestructura necesaria para admitir diferentes protocolos variará.
Los servicios Web XML no se limitan a proporcionar acceso de llamada a procedimientos remotos (RPC). También se pueden crear para intercambiar información estructurada, como órdenes de compra y facturas, y se pueden utilizar para automatizar y conectar procesos comerciales internos y externos.
HTTP-GET y HTTP-POST
HTTP-GET y HTTP-POST son protocolos estándar que utilizan verbos de HTTP (Hypertext Transfer Protocol, Protocolo de transferencia de hipertexto) para la codificación y el análisis de parámetros como pares de nombre y valor, junto con la semántica de solicitudes asociada. Cada uno se compone de una serie de encabezados de solicitud HTTP que, entre otras características, definen lo que el cliente solicita al servidor, el cual responde con una serie de encabezados de respuesta HTTP y los datos solicitados, si procede.
HTTP-GET pasa sus parámetros en forma de texto no codificado mediante el tipo aplicación MIME/x-www-form-urlencoded, que se anexa a la dirección URL del servidor que trata la solicitud. Urlencoding es una forma de codificación de caracteres que garantiza que los parámetros que se pasan consten de texto con un formato compatible; por ejemplo, codificar un espacio como %20. También se hace referencia a los parámetros anexados como cadena de consulta.
Al igual que HTTP-GET, los parámetros HTTP-POST también se codifican con Urlencoding. Sin embargo, en vez de pasarse como parte de la dirección URL, los pares de nombre y valor se pasan dentro del mensaje de solicitud HTTP.
SOAP
SOAP es un protocolo simple y ligero basado en XML para el intercambio en el Web de información estructurada de tipos. El objetivo general del diseño de SOAP consiste en conseguir la mayor simplificación posible y proporciona un mínimo de funcionalidad. El protocolo define un marco para la mensajería que no contiene semántica de aplicaciones ni transporte. Como resultado, el protocolo es modular y muy extensible.
Al viajar sobre protocolos de transporte estándar, SOAP puede aprovechar la arquitectura abierta de Internet existente y obtener fácilmente la aceptación por parte de cualquier sistema arbitrario compatible con los estándares de Internet más básicos. Podría interpretarse que la infraestructura necesaria para un servicio Web XML compatible con SOAP es más bien simple, aunque muy eficaz, ya que agrega relativamente poco a la infraestructura de Internet y aún así facilita el acceso universal a los servicios creados con SOAP.
La especificación del protocolo SOAP se compone de cuatro partes principales. La primera define un sobre extensible y obligatorio para encapsular los datos. El sobre SOAP define un mensaje SOAP y constituye la unidad básica de intercambio ente procesadores de mensajes SOAP. Ésta es la única parte obligatoria de la especificación.
La segunda parte de la especificación del protocolo SOAP define reglas de codificación de datos opcionales para representar tipos de datos definidos por cada aplicación y gráficos dirigidos, así como un modelo uniforme para serializar modelos de datos no sintácticos.
En la tercera parte se define un modelo de intercambio de mensajes (de solicitud y respuesta) del estilo de RPC. Cada mensaje SOAP es una transmisión en un sentido. Aunque las raíces de SOAP se encuentran en RPC, no se limita a un mecanismo de solicitud y respuesta. Los servicios Web XML suelen combinar mensajes SOAP para implementar esos modelos, pero SOAP no impone un modelo de intercambio de mensajes y esta parte de la especificación también es opcional.
En la cuarta parte de la especificación se define un enlace entre SOAP y HTTP. Sin embargo, también es opcional. Se puede utilizar SOAP en combinación con cualquier protocolo de transporte o mecanismo que pueda transportar el sobre SOAP, incluido SMTP, FTP o un disco.
Para obtener información acerca de la especificación SOAP, vea el sitio Web del W3C (World Wide Web Consortium), http://www.w3.org/TR/soap.