ABAP Push Messaging Channels for Real-Time Event Signaling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional message exchange mechanisms between client sessions, such as polling, lead to busy-waiting phases and resource wastage due to unnecessary requests, delaying user access and increasing server load.
Innovation Solution
Establishing advanced business application programming push and messaging channels using WebSocket protocol for bi-directional communication between clients and servers, enabling efficient message exchange through publish/subscribe infrastructure and channel attributes like channel group identification, access scope, and message type identification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If polling mechanism is used for message exchange between sessions, then client can check for new data, but client experiences busy-waiting phases and delayed access to resources
Solution Approach 1:
Instead of the client actively polling the server for messages (client-initiated), the server pushes messages to the client when they become available (server-initiated). This inversion of the communication initiative eliminates busy-waiting phases and immediately notifies clients of new data, resolving the contradiction between access delay and processing efficiency
Solution Approach 2:
The server implements a feedback mechanism where it actively notifies clients via push channels when messages are available. This feedback loop allows clients to be immediately informed of new data without continuously checking, eliminating wasted processing time while maintaining real-time message delivery
2Loss of energy
If polling mechanism is used for message exchange, then client can request data, but server experiences resource wastage due to unnecessary requests
Solution Approach 1:
The communication model is inverted from client-polling to server-pushing. The server takes the initiative to send messages only when data is available, eliminating unnecessary requests and resource consumption while maintaining the simplicity of message exchange through the push channel infrastructure
Solution Approach 2:
The server serves itself by automatically pushing messages to clients when they become available, without requiring clients to continuously poll. This self-service approach eliminates wasteful server processing of unnecessary requests while keeping the message exchange mechanism simple and automated
3Loss of energy
If polling mechanism is used, then client can check for messages, but server experiences increased access load to database
Solution Approach 1:
The server initiates communication by pushing messages to clients rather than clients polling the server. This inversion eliminates repeated database access loads from polling requests while maintaining reliable message delivery through the server-managed push channel infrastructure that tracks message availability
4Loss of time
If polling mechanism is used, then client can request data, but processing time is extended due to busy-waiting phases
Solution Approach 1:
The communication initiative is inverted from client-polling to server-pushing. This eliminates busy-waiting phases and extends processing time while the underlying push channel mechanism, though technically sophisticated, presents a simple interface to clients who only need to subscribe and receive messages
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A system, a method and a computer-program product for exchanging communications between user sessions are provided. A first push channel and a first messaging channel on a first application server for connecting a first client to the first application server are established. The first messaging channel communicates with the first push channel, where both channels form a first session corresponding to the first client. A second push channel and a second messaging channel on a second application server for connecting a second client to the second application server are established. The second messaging channel communicates with the second push channel, where both channels form a second session corresponding to the second client. The first and second application servers communicate on a communication network. Messages are exchanged between the first and second messaging channels to form a connection between the first and second clients.