WSDDS: Pasarela DDS-Web Services
La Pasarela DDS-Web Services (WSDDS) proporciona un mecanismo para integrar sistemas empresariales con sistemas de tiempo real basados en DDS. WSDDS Expone un API accesible mediante protocolo HTTP, que permite a las aplicaciones no sólo subscribirse o publicar información en tópicos de DDS, sino también crear nuevos tópicos y definir los tipos de datos asociados y controlar las calidades de servicio (QoS) asociadas a la parte DDS de la comunicación.

La variedad de protocolos y estándares que se emplean para el desarrollo de servicios Web se ha tenido en cuenta en el diseño de la pasarela y por ello se ofrecen dos formas diferentes de comunicarse con WSDDS:
- SOAP/RPC: SOAP es un protocolo estándar del World Wide Web Consortium (W3C) basado en XML para intercambiar mensajes en sistemas distribuidos orientados a servicios. Los mensajes SOAP se envían como parte del cuerpo de mensajes HTTP y son llamadas a procedimientos remotos (RPC)
- RESTful: Los mensajes DDS constituyen una transferencia de estado de los recursos publicadores hacia los subscriptores. Por su carácter centrado en los datos, los sistemas basados en DDS se ajustan bastante a la definición de sistema REST, excepto en la limitación a protocolo cliente/servidor, naturalmente. o WSDDS ofrece también una interfaz RESTful basada en mensajes HTTP y XML.
Tipos Dinámicos.
Otra característica reseñable de la pasarela es que internamente utiliza tipos de datos dinámicos, que permiten definir tipos de datos en tiempo de ejecución y de esta forma no es necesario que WSDDS conozca a priori los tipos de datos que emplean los sistema DDS. También permite que las aplicaciones que utilicen la pasarela puedan definir sus propios tipos de datos.
QoS
Las aplicaciones que utilicen la pasarela podrán definir la calidad de servicio de la parte DDS, es decir la comunicación entre WSDDS y otras entidades DDS.
Teniendo en cuenta las previsibles diferencias en cuanto a latencia y frecuencia de actualización entre las aplicaciones DDS de tiempo real y las aplicaciones empresariales que utilicen la pasarela, calidades de servicio como los filtros basados en tiempo, en contenido, o el histórico de datos recibidos serán de gran utilidad.
Dos modos de funcionamiento: PUSH y PULL
DDS utiliza un mecanismo de publicación – subscripción, en los que el publicador envía la información a los subscriptores sin necesidad de que estos últimos hagan ninguna petición. Pueden, por tanto considerarse como tecnología PUSH. Los servicios Web, en cambio, son naturalmente tecnología PULL, siendo el cliente el que inicia la comunicación con el proveedor de información (servidor).
WSDDS permite a las aplicaciones funcionar en ambos modos. Bien en modo PULL solicitando al servidor el envío de la información que haya llegado desde la anterior petición (en función de las calidades de servicio definidas) o bien en modo PUSH, en la que la propia pasarela les enviará la información en cuanto la reciba.
Integración
En este momento WSDDS se instala como una aplicación que actúa como servidor web independiente en el puerto que el usuario especifique. No obstante dado su diseño modular sería fácilmente integrable con servidores HTTP estándar como Apache o servidores de aplicaciones.
Desarrollo Propio.
La pasarela DDS-Web Services es fruto del esfuerzo en I+D de eProsima y cuenta con la colaboración de la Universidad Carlos III de Madrid y RTI (Real Time Innovations) fabricante de la implementación de DDS más utilizada en el mundo.
Este proyecto ha sido financiado parcialmente con fondos del Ministerio de Industria, Turismo Y Comercio mediante el plan Avanza (Referencia del proyecto: TSI-020501-2008-159)

