Para terminar este primer capítulo, abordaremos las ideas de seguridad, calidad y estandarización de los servicios web; y como colofón, unos ejemplos reales de empresas que han acogido estas tecnologías para ofrecer otros servicios...
Para terminar este primer capítulo, abordaremos las ideas de seguridad, calidad y estandarización de los servicios web; y como colofón, unos ejemplos reales de empresas que han acogido estas tecnologías para ofrecer otros servicios suplementarios.
SeguridadActualmente, los web services están siendo ampliamente aceptados por las empresas para el desarrollo de software de uso interno. De este modo, los servicios pueden implementar toda su funcionalidad y permanecer seguros tras el Cortafuegos de la compañía. Los desarrollos actuales no ayudan a la cooperación entre las empresas ya que no hay ningún estándar establecido sobre las técnicas de seguridad. Debido a la tecnología que es usada por los web services, y en concreto al uso de SOAP, las técnicas de seguridad convencionales que se han venido usando en Internet, ya no son suficientes. Con SOAP, cada mensaje simple que se intercambia realiza múltiples saltos y es rutado a través de numerosos puntos antes de que alcance su destino final. Es por ello que los web services necesitan tecnologías que protejan los mensajes desde el principio hasta el final. Existen un conjunto de técnicas que se pueden usar para garantizar la seguridad a nivel de mensaje. Estas son:
- Encriptación XML: Evita que los datos se vean expuestos a lo largo de su recorrido.
- Firma Digital XML: Asocia los datos del mensaje al usuario que emite la firma, de modo que este usuario es el único que puede modificar dichos datos.
- XKMS y los Certificados: XKMS (XML Key Management Specification) define web services que se pueden usar para chequear la confianza de un certificado de usuario.
- SAML y la Autorización: SAML (Security Assertion Mark-up Language) hace posible que los web services intercambien información de autentificación y autorización entre ellos, de modo que un web service confíe en un usuario autentificado por otro web service.
- Validación de datos: Permite que los web services reciban datos dentro de los rangos esperados.
Calidad
Actualmente ya existen en el mercado algunas herramientas específicamente diseñadas para medir la calidad de los web services, pero sigue siendo necesaria una estandarización sobre este tema. Los resultados sobre la calidad de diferentes web services, servirán como parámetro de comparación y ayudarán al consumidor a decantarse por un servicio u otro. Para que un web service se ejecute con corrección y satisfaga las expectativas creadas, a parte del precio, habrá que tener en cuenta una serie de parámetros como por ejemplo, que los resultados obtenidos del mismo sean los esperados o que el entorno de uso sea amigable. Otro elemento a tener en cuenta es la integración. Aunque teóricamente los web services proporcionan conectividad con cualquier software de un modo transparente, cada proveedor de servicios puede adoptar soluciones diferentes que resultan más o menos adecuadas para el consumidor. Analizando la escalabilidad se comprobará el grado de modularidad y flexibilidad del servicio. Por último, también sería interesante analizar las características que ofrece el proveedor de web services. Actualmente no hay definidos estándares sobre este tema, pero la mayoría de las empresas ya está demandando algún tipo de acuerdo o contrato con los proveedores, de modo que se pueda garantizar la calidad y la fiabilidad de los servicios por los que se paga.
Estandarización
Los web services están basados en el estándar XML, que ha sido universalmente aceptado. Pero la situación para el resto de protocolos es bien distinta. La mayor parte de ellos se encuentran todavía en desarrollo y pueden ser objeto de cambios. Esa es la razón por la que la mayoría de las empresas están esperando a que estos protocolos sean más universales antes de profundizar en esta tecnología. Actualmente, ni SOAP, ni WSDL, ni UDDI han sido oficialmente reconocidos por ningún organismo de estandarización. SOAP es el único que en este momento está en consideración por el World Wide Web Consortium y se encuentra cercano a la estandarización. SOAP y WSDL están siendo ampliamente usados, pero de momento UDDI no ha tenido el mismo éxito. El principal motivo es que las técnicas de seguridad son todavía muy inmaduras y las compañías prefieren hacer uso de registros privados para dar soporte a intercambios privados de web services. En febrero de este año, algunas de las empresas más importantes en el desarrollo de Negocio Electrónico como IBM, Intel, Microsoft u Oracle, han creado el WS-I: organización para la Interoperabilidad de los Web Services. El objetivo de dicha organización es la promoción de la estandarización de los web services de modo que se fomente la cooperación e interoperabilidad entre las compañías y mercados.
Algunos ejemplos
Las principales compañías del mundo han empezado a desarrollar soluciones mediante la tecnología de los web services. Algunos ejemplos son:
- Microsoft: Recientemente ha anunciado la disponibilidad de su primer web service, llamado MapPoint .Net. Mediante este servicio, el usuario podrá conocer su localización exacta y otros datos adicionales relacionados con su posición actual, como información de tráfico, rutas posibles o puntos comerciales cercanos.
- IBM: Ha implementado una solución basada en los web services llamada e-Business on Demand. Esta solución permite la construcción de Extranets que ayuden a las empresas a ver los catálogos de productos, realizar y localizar pedidos o chequear el estado del inventario en tiempo real.
- Líneas Aéreas Escandinavas: Estas líneas aéreas han desarrollado un servicio web que permite a los usuarios comprar billetes y chequear el estado de los vuelos, mediante el uso del teléfono móvil.
"Los web services son componentes software que permiten a los usuarios usar aplicaciones de negocio que comparten datos con otros programas modulares, vía Internet. Son aplicaciones independientes de la plataforma que pueden ser fácilmente publicadas, localizadas e invocadas mediante protocolos web estándar, como XML, SOAP, UDDI o WSDL. El objetivo final es la creación de un directorio de online de web services, que pueda ser localizado de un modo sencillo y que tenga una alta fiabilidad."
"Los servicios web son la revolución informática de la nueva generación de aplicaciones que trabajan colaborativamente en las cuales el software esta distribuido en diferentes servidores."
"Los servicios XML Web son los bloques de construcción de la computación distribuida en el Internet. Usted puede crear soluciones al usar los múltiples servicios de XML Web desde varias fuentes que trabajan en conjunto-independientemente de dónde residan o cómo fueron implementadas."
Benjamín González C.
Ingeniero de Sistemas