Escenario de venta de accesorios de jardinería en línea de servicios web: Consulta dinámica en el proveedor
Este documento describe un ejemplo en el que un vendedor de accesorios de jardinería en línea utiliza servicios web para realizar una búsqueda de inventario de varios proveedores.
En el escenario de consulta estática sobre proveedores de los servicios Web de Plants by WebSphere, el personal de IT de WebSphere establece conexiones con cada proveedor de manera independiente y realiza cambios a medida que cambian los proveedores. Sería interesante poder consultar a varios proveedores al mismo tiempo sin proporcionar una lista de los proveedores de la consulta. Asimismo, a los directores de Plants by WebSphere les gustaría comprar rápidamente según criterios como, por ejemplo, el precio más bajo o la disponibilidad más rápida.
En este ejemplo, varios proveedores de plantas y accesorios de jardinería han publicado servicios web en un registro UDDI (Universal Description, Discovery and Integration). Los proveedores crean servicios web de inventario que utilizan una interfaz estándar. Publican sus servicios web en el registro centralizado. El registro puede que haya sido establecido por la asociación Plant Wholesalers Association. O quizás es una pequeña empresa de Internet que ha establecido el sitio para compradores-vendedores después de descubrir que los proveedores y los comerciantes estaría dispuestos a pagar una pequeña cuota mensual por la comodidad del servicio.

Plants by WebSphere también da soporte a puntos finales de JavaBeans del contenedor web y puntos finales de enterprise beans aprovechando el soporte del modelo de programación JAX-WS (Java™ API for XML Web Services). El modelo de programación JAX-WS facilita la configuración y la reutilización de configuraciones, para que pueda incorporar sin interrupciones nuevos perfiles de servicios web. Los estándares JAX-WS dan soporte a aplicaciones de servicios web fiables e interoperativas. El vendedor en línea puede enviar mensajes de forma asíncrona, lo que significa que los mensajes pueden comunicarse de forma fiable aunque una de las partes esté ocupada, no disponible o fuera de línea temporalmente. Gracias al uso de estas nuevas tecnologías, el vendedor en línea puede estar seguro de que su comunicación es fiable y alcanza su destino mientras interactúa con otros proveedores.
¿Cómo se manejan los artículos que no están en existencias?
- Previamente, los proveedores publican sus servicios web en un registro UDDI para una ocasión como ésta.
De esta forma, notifican a los comerciantes interesados, como Plants by WebSphere, que sus inventarios se pueden consultar.
- Plants by WebSphere consulta su propio inventario.
La aplicación que utiliza el sitio web consulta la base de datos de inventario de Plants by WebSphere. Descubre que el artículo no está en existencias.
- Plants by WebSphere utiliza un cliente UDDI4J para consultar el registro UDDI y buscar los proveedores cuyos inventarios pueda consultar.
Plants by WebSphere puede invocar un servicio web que realice consultas en el registro UDDI para buscar proveedores y entonces se invoca el servicio web en el sitio de cada proveedor. El administrador recibe una lista de proveedores en los que está disponible el artículo solicitado, que incluye el precio y los datos de disponibilidad.
- Plants by WebSphere utiliza los servicios web para consultar los
inventarios del proveedor.
La aplicación invoca un cliente de servicios web para Java EE (Java Platform, Enterprise Edition) o un cliente JAX-RPC que se comunica con un servidor SOAP en el sitio del proveedor para determinar si éste tiene el artículo en existencias. Los datos del proveedor se envían a Plants by WebSphere.
La aplicación invoca un cliente JAX-RPC o puede invocarse un cliente de aplicación JAX-WS, que se comunica con un servidor SOAP en el sitio del proveedor para determinar si éste tiene el artículo en existencias. Los datos del proveedor se envían a Plants by WebSphere.
- Plants by WebSphere puede obtener o no el artículo que no está en existencias.
Si el proveedor indica que el artículo está en existencias, la aplicación que utiliza Plants by WebSphere determina si debe solicitar el artículo en nombre del cliente. El intercambio de datos puede incluir la comprobación del umbral de precios a partir del cual Plants by WebSphere no solicita el artículo. También puede incluir información de toma de decisiones como, por ejemplo, cuánto tiempo necesita el proveedor para suministrar el artículo, o la fecha en la que el fabricante tiene previsto dejar de mantener el artículo.
- Plants by WebSphere notifica la salida al cliente lo antes posible.
Si se puede consultar rápidamente al proveedor, Plants by WebSphere no tiene que molestar al cliente con cuestiones de disponibilidad. Confirma que el artículo está disponible, como si estuviera en existencias en Plants by WebSphere. Si el artículo falta temporalmente en el inventario del proveedor, o si Plants by WebSphere ha optado por no solicitarlo al proveedor, Plants by WebSphere emite la respuesta correspondiente al cliente.
Tecnologías de servicios web utilizadas en este ejemplo
Este ejemplo utiliza las siguientes tecnologías de servicios web.- XML (Extensible Markup Language)
- XML se utiliza para estandarizar el intercambio de datos entre Plants by WebSphere y el proveedor.
- Servicios web para Java EE (Java Platform, Enterprise Edition)
- Servicios web para Java EE (Java Platform, Enterprise Edition), también conocido como JSR-109, define cómo las aplicaciones Java EE crean los servicios web y acceden a ellos.
- JAX-RPC (Java API for XML-based Remote Procedure Call)
- JAX-RPC, también denominada JSR-101, define cómo las aplicaciones Java acceden a los servicios web.
- JAX-WS
- El modelo de programación JAX-WS simplifica el desarrollo de aplicaciones mediante el soporte de un modelo basado en anotaciones estándar para desarrollar clientes y aplicaciones de servicios web. El modelo de programación JAX-WS es el sucesor del modelo de programación JAX-RPC 1.1. El servidor de aplicaciones da soporte a los modelos de programación JAX-WS y JAX-RPC.
- WSDL (Web Services Description Language)
- WSDL se utiliza para convertir una aplicación en un servicio web, actuando como interfaz entre la aplicación subyacente y otras aplicaciones habilitadas para web.
- SOAP
- SOAP es el protocolo mediante el que el servicio web se comunica con el proveedor a través de Internet.
- Registro UDDI
Al publicar sus servicios web en UDDI, los proveedores los ponen a disposición de Plants by WebSphere y otros comerciantes para que los consulten y reutilicen. Esto ahorra tiempo de desarrollo, esfuerzo y coste, y ayuda a minimizar la necesidad de mantener varias implementaciones diferentes de la misma aplicación en Plants by WebSphere y otros comerciantes que necesiten ponerse en contacto con los proveedores para consultar datos de inventario.
Algunas ediciones particulares de WebSphere Application Server proporcionan un registro UDDI privado que se puede utilizar en un entorno de intranet.