Nuevo Gateway Websocket en sofia2.com

Otra de las funcionalidades incluidas en la Release 2.10 de Sofia2 es el Gateway WebSocket.

El protocolo WebSocket (https://www.websocket.org/) es parte de la especificación HTML5. Ofrece conectividad full-duplex vía http entre el cliente y el servidor, permitiendo el envío de mensajes tanto desde el cliente hacia el servidor, como desde servidor hacia cliente por iniciativa del propio servidor.

El Gateway WebSocket de Sofia2 aprovecha la conectividad bidireccional para ofrecer el juego completo de operaciones SSAP incluyendo la suscripción. Por lo que puede ser utilizado por cualquier KP cuyo lenguaje de programación permita conexiones de este tipo.

El endpoint del Gateway WebSocket de Sofia2 es público en la dirección: ws://sofia2.com/sib/api_websocket, respondiendo a cualquier mensaje SSAP enviado por método GET. Por lo que cualquiera que abra una conexión, registre un listener para recibir respuestas desde servidor, y envíe mensajes SSAP, estará construyendo un KP, comunicando con el SIB de Sofia2 por este protocolo.

Por ejemplo, desde un navegador con soporte para HTML5, el código javascript seria:


//Abrir conexión al Gateway

ws = new WebSocket("ws://sofia2.com/sib/api_websocket");

//Registrar un listener para recibir respuestas SSAP y notificaciones

ws.onmessage = function (evt) {

var received_msg = evt.data;

if(received_msg!=''){

console.log(received_msg);

}

};

//Enviar mensajes SSAP al SIB

ws.send(‘{"{ ···········}"’);

No obstante, para facilitar la creación de KPs así como permitir a otros ya existentes la utilización de este protocolo, se han incluido conectores WebSocket en las APIs de programación de KPs para los lenguajes Java y Javascript.

Como se puede consultar en la Guia de APIs de Sofia2 (http://sofia2.com/docs/SOFIA2-APIs%20SOFIA2.pdf) en la sección Desarrollador, en ambos casos, se ha mantenido la interfaz de operaciones existente para comunicar mensajes con el SIB y tan solo hay que modificar los detalles de la conexión.

En concreto, en el API Java, hay que instanciar la interfaz Kp con un objeto de la clase KpWebSocketClient, que recibe su configuración mediante una instancia de la clase WebSocketConnectionConfig, donde se informa:

· endPointUri: URL donde escucha el Gateway Websocket del SIB.

· method: Metodo HTTP utilizado por el Gateway Websocket del SIB (por defecto en sofia2.com GET).

· timeOutConnectionSIB: Timeout para recibir la respuesta desde el SIB.

Una vez instanciada la interfaz Kp, su utilización es como hasta ahora, de manera independiente del protocolo.


WebSocketConnectionConfig config=new WebSocketConnectionConfig();

config.setEndpointUri("http://sofia2.com/sib/api_websocket");

config.setMethod(METHOD.GET);

config.setTimeOutConnectionSIB(5000);

KpWebSocketClient kp=new KpWebSocketClient(config);

Para el API Javascript, basta con declarar la variable pathToWebsocketServer con el endpoint del Gateway de sofia2.com, en vez de la variable pathToDwrServlet como hasta ahora, y que es válida para utilizar el Gateway Ajax Push. Una vez declarada, todas las operaciones del API utilizarán el Gateway indicado:

<script type="text/javascript">var pathToWebsocketServer="ws://sofia2.com/sib/api_websocket";</script>

Es posible obtener ejemplos de código funcional, descargando las APIs Java y Javascript disponibles en la sección Desarrollador de sofia2.com.

Nuevo Gateway Websocket en sofia2.com

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s