Mapping into Topics and Domains

2 posts / 0 new
Last post
Last seen: 7 years 10 months ago
Joined: 03/22/2016
Posts: 6
Mapping into Topics and Domains

Hi all,

some background info first:

In the control platform system I'm working on, messages are exchanged between various participants. Participants may be everything: ranging from pluggable modlues of the platform itself to mobile devices acessing the messages over web services. the number of participants is ranging from currently about 10 to eventually a few hundred to even a thousand or more in the near future. The topic type, i.e. the messages, consists of a group number, subgroup number, a priority level and a message code(I've attached you the IDl file). The number of messages published ranges from 10 up to 1000 per second.  There exist user roles which define which priorities are accessible/viewable by which participant. It is envisaged to deliver access perissions over xml config files. It must be possible to filter the messages based on all conceivable combinations of its members, e.g. messages of a certain priority level, messgaes of a certain priority level and group/subgroup, messages of a certain group and message code, and so on.

my question:

I was wondering what would be the most elegant way to map all this to topics and domains? One possible solution is using a single domain, a single topic "messages" and use the partition qos for the message priorities since permissions for partitions are also specifiable in the xml permissions config file. The problem is: since I'm rather new to DDS and therefore unexperienced, I doubt that this is the best and most flexible way.

I appreciate any hints and suggestions on alternative approaches.


Binary Data message.idl200 bytes
Last seen: 8 months 1 day ago
Joined: 05/23/2013
Posts: 64

Hi mpetrovic,
I can tell you that the partition QoS allows you to change partition names after creating participant, writer and reader while domain ID cannot be changed after you create a participant and created participants with different domain IDs cannot be communicated.
If you specify access by domains ID, participants with domain IDs wouldn't be discovered each other at the participant discovery phase (the first discovery phase). If you specify access by topic name, participants would be discovered but writers and readers with different topics wouldn't be matched at the end-point discovery phase (the second discovery phase) and the topic name cannot be changed after writer or reader is created. If you specify access by partition name, participants and writers and readers would be discovered and matched but data would be exchanged only between entities having matching partition names. If you like to filter out data based values of the message, you can also consider using Content Filtered Topic as well.