Contenido
Contenido
1. APC – ABAP Push Channel
La mayoría de las aplicaciones ABAP utilizan técnicas de sondeo para lograr una comunicación basada en eventos. Para enviar un evento desde un backend ABAP a un agente de usuario basado en navegador como SAPUI5, Web Dynpro, Business Server Pages (BSP) o WebGUI, se utiliza con frecuencia un sondeo en intervalos de varios segundos. Esta es una técnica que consume bastantes recursos del sistema. La tecnología ABAP Channels tiene como objetivo reemplazar este evento ineficiente basado en técnicas de sondeo a través de notificaciones push basadas en la infraestructura de publicación-suscripción y WebSockets en ABAP.
Los Web Socket proporcionan un canal de comunicación bidireccional a través de un socket TCP/IP. Está diseñado para ser implementado en navegadores web y servidores web, pero en general puede ser utilizado por cualquier aplicación cliente o servidor.
La implementación del protocolo WebSocket en ABAP se denomina ABAP Push Channel (APC). La comunicación APC conduce cada mensaje webSocket a la creación de una sesión ABAP individual para la ejecución del método respectivo. Después de la terminación del método, la sesión será liberada. A diferencia de los protocolos de comunicación basados en solicitudes y respuestas existentes, por ejemplo, llamada a función remota (RFC) y HTTP (S), APC es un protocolo basado en mensajes, es decir, la ejecución de un mensaje no conduce a una respuesta.
Antes de comenzar con la implementación tenemos que recordar que para la salida de comunicación con el protocolo HTTP o HTTPS debemos tener activos los puertos desde la transacción “SMICM”.
También debemos considerar que para realizar las pruebas del Web Socket necesitaremos la herramienta de prueba APC, por lo que tendremos que activar los siguientes nodos desde la transacción “SICF”.
Existen tres formas de crear una aplicación APC, una de ellas es mediante Eclipse con clic derecho sobre el paquete de desarrollo.
Elegimos el protocolo y damos clic sobre “Class Name” para generar la clase global de implementación.
Al finalizar, observaremos la generación de los objetos en el editor.
Otra forma de crear la aplicación APC es con la ayuda de la transacción “SE80” con clic derecho sobre el paquete de desarrollo y siguiendo la ruta mostrada en el menú contextual.
La segunda opción es mediante la transacción “SAPC”.
Dentro del paquete de desarrollo se ha generado la clase global de implementación con los dos métodos de interface “ON_MESSAGE” y “ON_START”.
- Class Definition.
- Class Implementation.
Ejecutamos la herramienta de pruebas desde Eclipse.
Conectamos el cliente de pruebas.
Enviamos un texto y observamos la respuesta del Web Socket.