Más allá de una tecnología, XML mejora el negocio

Los web services, explicados con sencillez

Internet y el lenguaje XML han hecho cambiar nuestra perspectiva sobre lo que pueden hacer los datos. En lugar de considerarlos como algo que hay que almacenar en una base de datos para ser transferidos después a través de redes ya existentes por sistemas estrechamente unidos entre sí, la familia de estándares XML permite que éstos se muevan libremente a través de la Web y crear así nuevas oportunidades de negocio.

XML es un metalenguaje definido por el consorcio W3C (World Wide Web Consortium), que es una de las principales organizaciones que promueven estándares Web abiertos. XML es un conjunto de reglas y directivas para describir datos estructurados en texto corriente en lugar de describirlos en forma de representaciones binarias propietarias. Sin embargo, como fenómeno, XML va más allá de su especificación técnica. Desde que fue convertido en un estándar en 1998 por el W3C, XML ha sido la fuerza impulsora de muchos otros estándares y vocabulario que están produciendo un cambio fundamental en el mundo del software.
En la corta historia de XML, su influencia se ha hecho sentir en tres oleadas, desde conceptos para sectores específicos, pasando por aplicaciones de sectores verticales, hasta protocolos que describen cómo las empresas pueden intercambiar datos a través de la Web. Uno de los desarrollos clave ha sido SOAP (Simple Object Access Protocol), el protocolo que ha abierto el Web a las comunicaciones de programa-a-programa y que es la base de los servicios Web.

La ventaja de XML
XML ha impactado sobre una amplia variedad de áreas. ¿Cuál es el motivo? En primer lugar debido a que los ficheros XML pueden ser leídos por las personas. XML ha sido diseñado como texto, de forma que en el peor de los casos cualquiera puede leerlo y determinar su contenido. Eso no es así en los formatos de datos binarios. Además, existe un amplio apoyo en el sector a XML. Se están suministrando numerosas herramientas y programas utilitarios con navegadores, bases de datos y sistemas operativos Web, haciendo más fácil y económico para las pequeñas y medianas empresas importar y exportar datos en formato XML.
Incluso las principales bases de datos relacionales poseen ahora la capacidad nativa de leer y generar datos y está disponible una gran familia de tecnologías de soporte XML para la interpretación y transformación de datos XML para visualización de páginas Web y generación de informes. La capacidad de XML para trabajar con otras tecnologías ha abierto nuevas posibilidades de intercambiar nueva información comercial en el Web, creando lo que en esencia puede considerarse como una empresa extendida. Uno de los aspectos de ésta ha sido la aparición de los Servicios Web o Web Services. Éstos representan el nuevo paso evolutivo para la Web, ampliándolo de una red que ofrece servicios a las personas a convertirse en una red que ofrece servicios a software que intenta conectarse con otro software. Los Web Services son una iniciativa ambiciosa que está llevando al Web a nuevos niveles de interacción software-a-software e intenta al mismo tiempo cumplir con la promesa de la tecnología orientada a objetos de obtener componentes reutilizables.

Web Services
Los Web Services se basan en varias tecnologías clave subyacentes, en particular las conocidas como UDDI (Universal Description Discovery and Integration), WSDL (Web Services Description Language) y el citado SOAP. UDDI es un protocolo para describir componentes de Web Services que permiten a las empresas registrarse en un directorio Internet para poder anunciar sus servicios de manera que las compañías puedan encontrarse y comunicarse entre sí y realizar transacciones a través del Web. Por su parte, WSDL es un formato XML para describir cómo un sistema de software puede conectarse y utilizar los servicios de otro sistema de software a través de la Internet. Soporta servicios de proceso basados en el Web dirigidos más a programas de ordenador que a usuarios humanos.
SOAP es el nexo XML que permite a los clientes y proveedores comunicarse entre sí e intercambiar datos XML. Y SOAP está creado en base a XML y protocolos Web corrientes (HTTP, File Transfer Protocol y Simple Mail Transfer Protocol) para permitir la comunicación a través del Web. SOAP aporta un conjunto de reglas para mover datos, bien directamente punto-a-punto o enviando los datos a través de un intermediario de cola de mensajes.
Una de las principales implicaciones de SOAP es un cambio en la forma en que pensamos sobre el proceso distribuido. Antes de SOAP, había tres opciones básicas para realizar proceso distribuido: Distributed Component Object Model de Microsoft, Remote Method Invocation de Java, o Common Object Request Broker Architecture (CORBA) de Object Management Group. Estas tecnologías son aún ampliamente utilizadas. Su inconveniente es que limitan el alcance potencial de la empresa a servidores que compartan la misma arquitectura de objetos. Por el contrario, con SOAP, el espacio potencial de interconexión es la totalidad de la Web, y es por ello que existe tanto interés en tecnologías capaces de aprovechar la potencia de SOAP. Web Services es uno de estos esfuerzos tecnológicos.
El marco de Servicios Web es tanto un proceso como un conjunto de protocolos para encontrar y conectarse con software que está presentado como servicios a través del Web. Adoptando SOAP como base, los Web Services pueden concentrarse en qué datos hay que intercambiar en lugar de preocuparse de cómo llevarlos del Punto A al Punto B, que es el trabajo de SOAP. Facilitando aún más las cosas, SOAP define también una envoltura para transportar XML y una norma para realizar llamadas remotas de procedimientos (RPCs) de forma que un servicio pueda decir “llámeme aquí” y un programa pueda hacerlo sin preocuparse del lenguaje ni de la plataforma.
Un Web Service puede ser cualquier prestación, desde un servicio de críticas de películas, pasando por informes del tiempo en tiempo real, hasta un paquete completo de reserva de hoteles y viajes aéreos. La estructura de los Servicios Web garantiza que incluso los servicios de diferentes empresas vendedoras puedan interactuar para crear un proceso comercial completo. Estos servicios llevan a un nuevo nivel la visión de orientación a objetos del ensamblaje de software a partir de componentes modulares. Con los Web Services, el énfasis está, por el contrario, en el ensamblaje de servicios, que pueden estar basados o no en tecnología de objetos.
Los Web Services representan una respuesta de todo el sector a la necesidad de un entorno de colaboración comercial flexible y eficiente. Técnicamente, es una forma de conectar sistemas sin unirlos a un lenguaje de programación, modelo de componentes o plataforma específico.
En la práctica, constituye un proceso comercial discreto con protocolos de soporte que funciona describiéndose y exponiéndose a los usuarios del Web, siendo invocado por un usuario remoto y devolviendo una respuesta. Incluye las funciones siguientes: describir, ya que una aplicación Web Services describe su funcionalidad y atributos de forma que otras aplicaciones puedan determinar cómo utilizarlo; examinar, el hecho de que los Web Services se registren en un repositorio que contiene unas “páginas blancas” en las que hay información básica de proveedores de servicios, unas “páginas amarillas” que listan los servicios por categorías, y unas “p

Whitepaper emc-cio-it-as-a-service-wp Whitepapers