A domain represents a separate communication plane. It creates a logical separation among the Entities that share a common communication infrastructure. Conceptually, it can be seen as a virtual network linking all applications running on the same domain and isolating them from applications running on different domains. This way, several independent distributed applications can coexist in the same physical network without interfering, or even being aware of each other.
Every domain has a unique identifier, called
DomainId, that is implemented as a
Applications that share this
DomainId belong to the same domain and will be able to communicate.
For an application to be added to a domain, it must create an instance of DomainParticipant with the appropriate
Instances of DomainParticipant are created through the DomainParticipantFactory.