Servicios web

Los servicios web son aplicaciones autónomas modulares que se pueden describir, publicar, localizar e invocar a través de una red.

El servidor de aplicaciones da soporte a los servicios web que se desarrollan e implementan basándose en la especificación de servicios web para Java™ Platform, Enterprise Edition (Java EE). El servidor de aplicaciones da soporte al modelo de programación JAX-WS (API de Java para servicios web XML) y al modelo de programación JAX-RPC (API de Java para RPC basado en XML). JAX-WS es un modelo de programación estratégico que simplifica el desarrollo de aplicaciones mediante el soporte de un modelo estándar basado en anotaciones para desarrollar clientes y aplicaciones de servicios web.

Un escenario típico de servicios web es una aplicación de empresa que solicita un servicio de otra aplicación existente. La solicitud se procesa a través de una dirección web determinada utilizando mensajes SOAP a través de un transporte HTTP, Java Message Service (JMS) o se invoca directamente como Enterprise JavaBeans (EJB). El servicio recibe la solicitud, la procesa y devuelve una respuesta. Ejemplos de un servicio web pueden ser los informes meteorológicos o la obtención de información bursátil. La llamada de método es síncrona, esto es, espera a que el resultado esté disponible. Los servicios web de transacciones, que dan soporte a operaciones de cotizaciones, de empresa a empresa (B2B) o de empresa a cliente (B2C), son, por ejemplo, la reserva de vuelos aéreos y los pedidos de compra.

Los servicios web pueden incluir el propio servicio o el cliente que accede al servicio.

Los servicios web son aplicaciones web que permiten aumentar la flexibilidad de los procesos empresariales al integrarse con aplicaciones que de otra forma no se comunicarían. El programa de préstamo de biblioteca interna de la biblioteca local es un buen ejemplo del concepto de los servicios web y su evolución. El concepto del servicio web existía antes incluso que el término; el concepto se aceptó ampliamente con la creación de Internet. Antes de que se creara Internet, los usuarios visitaban las bibliotecas, consultaban los archivos y reservaban los libros. Si no encontraban el libro que querían, el bibliotecario ejecutó una búsqueda por ordenador o por teléfono y localizaba el libro en una biblioteca cercana. El bibliotecario solicitaba el libro y el usuario lo recogía cuando llegaba a su biblioteca local. Al incorporar las aplicaciones de servicios web, puede optimizar su visita a la biblioteca.

Ahora, puede realizar una búsqueda en los archivos de la biblioteca local y en otras bibliotecas locales al mismo tiempo. Cuando una biblioteca ofrece a otra el servicio web de realizar búsquedas en sus archivos (el servicio se puede proporcionar a través de UDDI (Universal Description Discovery and Integration)), los resultados son productivos para ambas bibliotecas. Puede utilizar otra aplicación de servicio web para tomar en préstamo el manual y enviarlo a casa. El uso de las aplicaciones de servicios web ahorra tiempo y es más cómodo para los usuarios, a la vez que permite al bibliotecario realizar otras tareas.

Los servicios web reflejan el enfoque SOA (service-oriented architecture - arquitectura orientada a servicios) en la programación. Este enfoque está basado en la creación de aplicaciones detectando e implementando los servicios de red disponibles o invocando las aplicaciones disponibles para que realicen una tarea. Los servicios web proporcionan interoperatividad, por ejemplo, las aplicaciones de servicios web proporcionan componentes creados en distintos lenguajes de programación para que funcionen juntos como si se hubieran creado utilizando el mismo lenguaje. Los servicios web dependen de las tecnologías de transporte existentes (como HTTP) y las técnicas de codificación de datos estándar (como XML, Extensible Markup Language) para invocar la implementación.

Los componentes clave de los servicios web son:
  • Web Services Description Language (WSDL)

    WSDL es el archivo basado en XML que describe el servicio web. La solicitud de servicio web utiliza este archivo para enlazarse con el servicio.

  • SOAP

    SOAP es el protocolo basado en XML que utiliza la solicitud de servicio web para invocar el servicio.

Para obtener un escenario más detallado, consulte la información de visión general del escenario de servicios web para obtener más información sobre la historia de un minorista ficticio de suministro de jardinería en línea denominado Plants by WebSphere®, y cómo este minorista ha incorporado el concepto de servicios web.

Para obtener una lista completa de los estándares y las especificaciones a los que se da soporte, consulte las especificaciones y la documentación de la API de los servicios web.