Ir al contenido principal

Servicios Web


¿QUÉ SON LOS SERVICIOS WEB?

Los servicios web son aplicaciones autónomas modulares que se pueden describir, publicar, localizar e invocar a través de una red.
Dicho de otra forma, los Servicios Web pueden definirse como entidades programables que actúan como cajas negras para proporcionar una determinada funcionalidad, tal y como la de una aplicación o una funcionalidad de sistema.

CARACTERÍSTICAS

Las características principales de los servicios Web son las siguientes:

  • Utilización de estándares de Internet. La única forma para que los servicios Web sean utilizados por la cantidad de sistemas heterogéneos existentes en Internet es el empleo del protocolo de transferencia de datos HTTP utilizado por todos los navegadores Web y XML.
  • Basados en tecnologías de paso de mensajes. La interacción entre el cliente y el proveedor del servicio es empaquetada en unidades autodesciptivas denominadas mensajes. Dicha interacción se describe en función de los mensajes intercambiados.
  • Combinan lo mejor de la tecnología de componentes y de la tecnología Web. Los servicios Web presentan una funcionalidad de caja negra que puede ser reutilizada sin preocuparse de cómo es implementada y ello proporciona interfaces bien definidas.

TIPOS DE SERVICIOS WEB

SERVICIO WEB XML

Los servicios Web XML son bloques de código ejecutable expuestos a través de protocolos estándar para su uso en la Web. El bloque de código que compone un servicio Web XML parece más a un programa de consola sin interfaz; se trata de una clase pública que define, principalmente, métodos. Estos son llamados métodos de servicio Web XML, mismos que podrán ser invocados por aquellos programas que consuman el servicio.
CARACTERÍSTICAS:
  • Están basados en protocolos estándar para la Web.
  • Comunicación de aplicación a aplicación basada en Internet.
  • Independencia del lenguaje.
  • Independencia de la plataforma.
EJEMPLO:
El ejemplo siguiente es un documento de ejemplo XML, desde un servidor ficticio de cotizaciones, representa una lista de stocks. Como podemos ver, hay un elemento raíz (portfolio), y cada elemento tiene una etiqueta de inicio y una etiqueta de cierre.
<?xml version="1.0" encoding="UTF-8"?>
<portfolio>
  <stock>
    <symbol>SUNW</symbol>
    <name>Sun Microsystems</name>
    <price>17.1</price>
  </stock>
  <stock>
    <symbol>AOL</symbol>
    <name>America Online</name>
    <price>51.05</price>
  </stock>
  <stock>
    <symbol>IBM</symbol>
    <name>International Business Machines</name>
    <price>116.10</price>
  </stock>
  <stock>
    <symbol>MOT</symbol>
    <name>MOTOROLA</name>
    <price>15.20</price>
  </stock>
</portfolio>

SERVICIOS WEB SOAP

La primera introducción de los web services en el mundo de Internet vino de la mano de SOAP. SOAP es un protocolo que define cómo deben de realizarse las comunicaciones entre máquinas. SOAP usa XML como lenguaje de intercambio de datos con una estructura compleja que es capaz de albergar todo tipo de datos sobre la solicitud o respuesta generada.
Normalmente utilizaremos SOAP para conectarnos a un servicio e invocar métodos remotos, aunque puede ser utilizado de forma más genérica para enviar cualquier tipo de contenido. Podemos distinguir dos tipos de mensajes según su contenido:

  • Mensajes orientados al documento: Contienen cualquier tipo de contenido que queramos enviar entre aplicaciones.
  • Mensajes orientados a RPC: Este tipo de mensajes servirá para invocar procedimientos de forma remota (Remote Procedure Calls). Podemos verlo como un tipo más concreto dentro del tipo anterior, ya que en este caso como contenido del mensaje especificaremos el método que queremos invocar junto a los parámetros que le pasamos, y el servidor nos deberá devolver como respuesta un mensaje SOAP con el resultado de invocar el método.

SERVICIOS WEB WSDL

WSDL (Web Services Description Language) es un lenguaje basado en XML utilizado para describir la funcionalidad que proporciona un servicio Web. Una descripción WSDL de un servicio web proporciona una descripción entendible por la máquina de la interfaz del servicio Web, indicando cómo se debe llamar al servicio, qué parámetros espera, y qué estructuras de datos devuelve.
Los documentos WSDL deben estar disponibles en el servidor web que ofrece los servicios. Como su creación resulta compleja, las distintas implementaciones de SOAP permiten generar estos archivos de forma sencilla, sin necesidad de conocer los elementos y la estructura del esquema XML en el que se basan. 

SERVICIOS WEB REST

REST usa el propio protocolo HTTP para la comunicación entre máquinas. HTTP es ampliamente soportado por todos los sistemas y de hecho para la transferencia de datos en la web se usa HTTP.

REST se caracteriza por no tener estado. Es decir, el servidor no es capaz de recordar el estado de la anterior solicitud REST que pudo, o no, hacer un cliente. Por ello, el cliente tiene que enviar en cada solicitud todo el estado de su sesión, lo que se suele hacer mediante un token que le "ayude a recordar" al servidor.
REST tiene a simplificar las cosas y en esa misma línea se suele usar un lenguaje diferente para representación de los datos, el lenguaje JSON. Hoy REST y JSON se han convertido en la opción más sencilla y por tanto más recomendable para implementar un servicio web.


REFERENCIAS

Comentarios

Entradas populares de este blog

Servicios Web Rest

API REST Y SU DEFINICIÓN REST  (REpresentational State Transfer) es un tipo de arquitectura de desarrollo web que se apoya totalmente en el estándar HTTP. Fue definida en el 2000 por Roy Fielding, uno de los padres de la especificación HTTP y un referente en la arquitectura de redes. Hoy por hoy la mayoría de las aplicaciones que se desarrollan para servicios profesionales, tales como Twitter, YouTube, los sistemas de identificación con Facebook, etc, disponen de una API REST para el intercambio de información entre el front y el back. Así como también hay cientos de empresas que generan negocio gracias a REST y las APIs REST. Sin ellas, todo el crecimiento en horizontal sería prácticamente imposible. Esto es así porque REST es el estándar más lógico, eficiente y habitual en la creación de APIs para servicios de Internet. ¿CÓMO SE USA UNA API REST? Una API REST define un conjunto de funciones que los desarrolladores pueden realizar solicitudes y recibir respuestas...