Understand SAP and Solace event broker connection
I would like to gain a better understanding of the connectivity details between SAP and Solace Event Broker. Specifically, I've observed that in the screenshot provided, the SAP system is connected to the Event Broker service as a producer.
Could someone please clarify how this connectivity is established on the SAP side? Either with ASAPIO or RAP Events. The connection name contains certain characters for example-
, and the other details like Client User name and IP address are visible in the screenshot. My primary focus is to understand the SAP processes or functions that are involved in establishing these connections. Additionally, when we refer to a single connection from SAP to the Event Broker service, could you elaborate on how this connection is structured? Given that the standard broker has a 100-connection limit, I am particularly interested in whether these connections are dynamically created by processes or if they are established through specific SAP configurations.
Comments
-
Hi @swapnil_mahajan,
The connectivity used depends very much on the solution used to connect your SAP system to the broker.
From the screenshot that you posted, I can infer the following:- SAP = SAP S/4HANA (but which edition?)
- broker = SAP Integration Suite, advanced event mesh broker
- connection = S/4HANA native events are being used (with or without RAP extension)
The S/4HANA native eventing uses AMQP(s) as a protocol to connect to SAP AEM brokers (it does not work with non-SAP Solace brokers). The behaviour of that connection is dependent on the configuration in S/4HANA. - I'm not an S/4HANA expert, but I believe the number of connections may depend on how many daemons are assigned to the channel in S/4HANA.
Most people use the native eventing in S/4HANA to SEND events to AEM, this would result in publisher connections on the broker side.
But you can also configure S/4HANA to receive events, which should result in consumer connections.
Here's a blog post by SAP that explains the setup on the S/4HANA side in more detail (for S/4HANA 2023 edition):
1 -
Thanks @ChristianHoltfurth
I came across below statement in provided article
The ‘number of publish connections’ refers to the number of concurrent connections that SAP S/4HANA can establish with the broker.
This define the connections we see in Event Broker?
1 -
@swapnil_mahajan That looks about right! :)
1 -
In my case I see below setup at SAP system which is publishing the event to event broker
Publish connection set as 1
And as mentioned in event broker screen I can see connection present.
Can you explain how the 4+ 1 (may be default one) Solace client connections were established with only 1 publish connection? Is it that multiple processes or functions are utilizing a single publish connection to send different events to the event broker, leading to 4 distinct Solace client connections on the broker side? Understanding this will help in determining the total number of connections needed between the SAP system and Solace for the use cases.
It's important for me to provide the customer with clear insights into the SAP-Solace connection architecture, so they can make an informed decision on the exact number of connections needed for their system.
Is there only one publishing connection with single channel required for single SAP System. Or there can be multiple channels for single SAP system. (I dont think only one channel) Feel free to clear my incorrect thoughts 😉
0 -
I know enough about S/4HANA eventing to be dangerous…
But I'm afraid that this is probably a question better asked in the SAP forums or via SAP support ticket.
1 -
@Markus: As per details got from SAP team, now I received more details from SAP team as below and your question is valid 😊
In SAP system, only standard SAP event mesh is configured. There are 3 Channels, and only 2 are active which are connected to the event broker.
And there 3 distinct RFC destinations (AEM_CONNECTION, AEM_CONNECTION_2, and AEM_CONNECTION_WHT).
AEM_CONNECTION tcps://mr-connection-XXXXXXXXXXX.messaging.solace.cloud:5671 FPS
AEM_CONNECTION_2 tcps://mr-connection-XXXXXXXXXXX.messaging.solace.cloud:5671 Playground
AEM_CONNECTION_WHT tcps://mr-connection-XXXXXXXX.messaging.solace.cloud:5671 FPS
I believe the #amqp* connections are linked to the Channels in the SAP standard event mesh. I just couldn’t tell easily which channels it is connected to.
So still its unclear with 1 channel with 1 Push notification settings how many client connections gets created at event broker side. Is it 1 or more with concurrent calls. Can we map , identify client connections at Event Broker side to SAP Channel.
0 -
Yes I raised the Case at me.sap.com. Hopefully will get more insights.
1 -
@swapnil_mahajan , perfect!
Please let us know what you learn.I'm sure others reading this post later can benefit and will appreciate it.
1 -
I received reply from SAP case as below.
The connection from S/4HANA to the AEM is established via TCP using the SM59 destination containing the URL to the AEM AMQP endpoint. The number of connections for one Enterprise Event Enablement channel in S/4HANA to the AEM can be specified by the channel parameter "Number of publish daemons".
Number of publish daemons: Maximum number of connections allowed for the channel. You can select a number between 1 and 10 connections. A higher number of connections increases the possible number of events your system can simultaneously send to the Advanced Event Mesh. Note that each additional connection consumes system resources depending on the current workload on each connection. For each connection a separate publish daemon is started.
This means that you have to specify the maximum number of connections you want to use and our framework then dynamically distributes the load to the given number of connections.
So, I understand from this Number of publish daemons/Number of Publish connection from below screen specifies the no of connection between SAP AEM and SAP System. @Markus : Thanks, You already gave the answer 😎 . The SAP case details clarified this answer.
2 -
I would like to add below information
the "Number of publish connections" denotes the number of publish connections to the AEM.
Note that there is an additional single connection for consuming events from the AEM.
Hence, the number of connections from S4 to AEM should be: "Number of publish daemons" + 1
2