Applications or devices that connect to event brokers are represented as clients.
A client corresponds to a single logical connection to the event broker that is capable of sending and/or receiving messages. To establish a client connection, client applications or devices connect using a specific Client Username account.
As part of the connection process, a unique Client Name is required to identify the Client’s session. That is, the Client Name serves as a session name. If the Client application or device doesn't provide its own Client Name when creating its session, a unique Client Name is automatically generated by the Solace API. Note, while Client Names are unique within a given Message VPN, the same name may exist in multiple Message VPNs.
Once connected, Clients inherit a number of characteristics, behaviors, and permissions based on a Client Profile and ACL Profile associated with that Client Username.
Client Usernames are contained within a specific Message VPN. They are used by Client applications to authenticate with the event broker, and may be used to make multiple Client connections. This lets applications horizontally scale without additional configuration on the event broker.
Each Client Username is associated with a Client Profile and an ACL profile. These profiles control properties and permissions of the connected Client.
Client Profiles are contained within a specific Message VPN, and can be applied to Client Usernames. Being able to share Client Profiles gives you the ability to manage large groups of Clients without having to make individual changes to each one.
Client Profiles control a number of behaviors and capabilities. For example, resource allocation such as the maximum number of Client connections per Client Username, and the per-client transport queues are both controlled by the Client Profile. Other characteristics controlled by the Client Profile include tuning TCP connection parameters, enabling persistent messaging capabilities, and adjusting the point at which certain events will be triggered.
For further information refer to Configuring Clients with Client Profiles.
Similar to Client Profiles, ACL Profiles are contained within a specific Message VPN and can be applied to Client Usernames. This gives you the ability to control entitlements for large groups of clients.
ACL Profiles consist of a few Access Control Lists which serve to either allow or restrict Client actions. The ACL configuration defines the Client’s ability to connect based on its IP address. It also defines to which topics the Client is allowed to publish or subscribe.
All of the ACL definitions have the same format in that they have a default behavior of either allow or disallow, and they have an exception list.
For further information refer to Controlling Client Access with ACL Profiles.