Web Services

WEB SERVICES

Un servicio web es una interfaz de software que describe un conjunto de operaciones a las cuales se puede acceder por la red a través de mensajería XML estandarizada. Aunque actualmente también se está utilizando JSON para el intercambio de datos. Usa protocolos basados en el lenguaje XML con el objetivo de describir una operación para ejecutar o datos para intercambiar con otro servicio web.


XML

El Extensible Markup Language es un Lenguaje de Etiquetado Extensible muy simple, pero estricto que juega un papel fundamental en el intercambio de una gran variedad de datos. Es un lenguaje muy similar a HTML pero su función principal es describir datos y no mostrarlos como es el caso de HTML.


Ventajas
  • Fácilmente procesable tanto por humanos como por software.
  • Separa radicalmente la información o el contenido de su presentación o formato.
  • Diseñado para ser utilizado en cualquier lenguaje o alfabeto.
  • Su análisis sintáctico es fácil debido a las estrictas reglas que rigen la composición de un documento.
  • Estructura Jerárquica
  • El No. De marcas es ilimitado
Desventajas
La posibilidad de construir sistemas acordes a nuestras necesidades para el intercambio de datos podría llevarnos a la proliferación de versiones incompatibles y si esto llegase a suceder, entonces la solución que plantea el XML ante la búsqueda de intercambio universal de información, lo llevaría a su opuesto; en vez de unificar todo un lenguaje, nos encontraríamos con lenguajes muy específicos y cada vez más alejados de la “universalidad”.
JSON
(JavaScript Object Notation - Notación de Objetos de JavaScript) es un formato ligero de intercambio de datos. Leerlo y escribirlo es simple para humanos, mientras que para las máquinas es simple interpretarlo y generarlo. Es una alternativa a XML para el intercambio de datos.

Ventajas:

  • JSON soporta dos tipos de estructuras, una de ellas son objetos que contienen una colección de pares llave-valor y el otro tipo se trata de arrays de valores. Esto proporciona una gran sencillez en las estructuras.
  • JSON no tiene espacios de nombres, cada objeto es un conjunto de claves independientes de cualquier otro objeto.
  • JSON no necesita ser extensible por que es flexible por sí solo. Puede representar cualquier estructura de datos pudiendo añadir nuevos campos con total facilidad.
  • JSON es mucho mas simple que XML, el cual proporciona pesadas tecnologías que le avalan (Scheme, XSLT, XPath).
  • JSON es optimista y no requiere de este tipo de tecnologías, confía en el desarrollador.

Desventajas:

  • JSON  A diferencia de XML, no existen mecanismos para defini el formato exacto de los mensajes.
  • JSON  En caso de que se tuviera diversos clientes (AJAX,Flex, aplicaciones de escritorio) contra un mismo servidor es preferible el uso de XML.

     SOAP

Simple Object Access Protocol  es un protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML. Es uno de los protocolos utilizados en los Web Services, ya que ofrece un framework de mensajería básica en el cual los web services se pueden construir.


Este protocolo está basado en XML y se conforma de tres partes:

  • Sobre (envelope): el cual define qué hay en el mensaje y cómo procesarlo.
  • Conjunto de reglas de codificación para expresar instancias de tipos de datos
  • La Convención para representar llamadas a procedimientos y respuestas.
  • Extensibilidad (seguridad y WS-routing son extensiones aplicadas en el desarrollo).
  • Neutralidad (bajo protocolo de transporte TCP puede ser utilizado sobre cualquier protocolo de aplicación como HTTP, SMTP o JMS).
  • Independencia (permite cualquier modelo de programación).

El protocolo SOAP tiene tres características principales:

  • Extensibilidad (seguridad y WS-routing son extensiones aplicadas en el desarrollo).
  • Neutralidad (bajo protocolo de transporte TCP puede ser utilizado sobre cualquier protocolo de aplicación como HTTP, SMTP o JMS).
  • Independencia (permite cualquier modelo de programación).

XML WSDL

WSDL, las siglas de Web Services Description Language, es un formato del Extensible Markup Language (XML) que se utiliza para describir servicios web (WS).

WSDL describe la interfaz pública a los servicios Web. Está basado en XML y describe la forma de comunicación, es decir, los requisitos del protocolo y los formatos de los mensajes necesarios para interactuar con los servicios listados en su catálogo. Las operaciones y mensajes que soporta se describen en abstracto y se ligan después al protocolo concreto de red y al formato del mensaje.


Así, WSDL se usa a menudo en combinación con SOAP y XML Schema. Un programa cliente que se conecta a un servicio web puede leer el WSDL para determinar qué funciones están disponibles en el servidor. Los tipos de datos especiales se incluyen en el archivo WSDL en forma de XML Schema. El cliente puede usar SOAP para hacer la llamada a una de las funciones listadas en el WSDL.

El WSDL nos permite tener una descripción de un servicio web. Especifica la interfaz abstracta a través de la cual un cliente puede acceder al servicio y los detalles de cómo se debe utilizar.

UDDI

UDDI son las siglas del catálogo de negocios de Internet denominado Universal Description, Discovery and Integration. El registro en el catálogo se hace en XML. UDDI es una iniciativa industrial abierta (sufragada por la OASIS) entroncada en el contexto de los servicios Web. El registro de un negocio en UDDI tiene tres partes:

  • Páginas blancas - dirección, contacto y otros identificadores conocidos.
  • Páginas amarillas - categorización industrial basada en taxonomías.
  • Páginas verdes - información técnica sobre los servicios que aportan las propias empresas.

UDDI es uno de los estándares básicos de los servicios Web cuyo objetivo es ser accedido por los mensajes SOAP y dar paso a documentos WSDL, en los que se describen los requisitos del protocolo y los formatos del mensaje solicitado para interactuar con los servicios Web del catálogo de registros.

WSFL

Web Services Flow Language (Lenguaje de Flujo de Servicios Web) 1.0 era un lenguaje XML propuesto por IBM en 2001 para describir composiciones de Web services. El lenguaje consideraba dos tipos de composición. El primer tipo era para describir un proceso de negocio como un conjunto de servicios web y el segundo describía las interacciones entre los socios. WSFL se propuso como una capa sobre WSDL.

En 2003 IBM y Microsoft combinaron WSFL y Xlang en BPEL4WS y lo enviaron a OASIS para su estandarización. Oasis publicó BPEL4WS como WS-BPEL para adaptarlo a la convención de nombrado de otros estándares WS-*.

Ejemplos





    Comentarios

    Entradas populares