Un argomento è una stringa di caratteri che descrive la natura dei dati pubblicati in un sistema di pubblicazione/sottoscrizione.
Gli argomenti sono elementi chiave per una positiva distribuzione dei messaggi in un sistema di pubblicazione/sottoscrizione. Anziché includere un determinato indirizzo di destinazione in ciascun messaggio, un autore (publisher) assegna un argomento al messaggio. Il broker dei messaggi confronta l'argomento con un elenco di client (sottoscrittori - subscriber) che hanno sottoscritto tale argomento e distribuisce il messaggio a ciascuno di questi.
Tenere presente che un autore (publisher) può controllare quali sottoscrittori (subscriber) possono ricevere una pubblicazione scegliendo attentamente l'argomento specificato nel messaggio.
Gli argomenti possono essere definiti da un amministratore di sistema utilizzando il workbench. Tuttavia, l'argomento di un messaggio non deve essere definito prima che un autore (publisher) possa utilizzarlo; un argomento può anche essere definito quando è specificato per la prima volta in una pubblicazione.
Per una pubblicazione può essere specificato più di un argomento.
Una stringa dell'argomento può includere qualsiasi carattere della serie di caratteri Unicode, incluso lo spazio. Tuttavia, tre caratteri hanno un significato particolare. Questi caratteri ("/", "#" e "+") sono descritti in Caratteri speciali negli argomenti.
Sebbene un carattere nullo non provoca un errore, non utilizzare tali caratteri nelle stringhe dell'argomento.
Ciascun argomento che viene definito è un elemento o un nodo nella struttura ad albero degli argomenti. La struttura ad albero degli argomenti può essere avviata vuota oppure contenere argomenti che sono stati definiti da un amministratore di sistema utilizzando il workbench. E' possibile definire un nuovo argomento utilizzando il workbench oppure specificando l'argomento per la prima volta nella pubblicazione.
Sebbene sia possibile costruire una struttura ad albero degli argomenti come una struttura lineare, è meglio crearne una in una struttura gerarchica con uno o più argomenti root.
Ciascuna stringa di caratteri nella figura rappresenta un nodo nella struttura ad albero degli argomenti. Un nome di argomento completo viene creato aggregando nodi di uno o più livelli nella struttura ad albero degli argomenti. I livelli sono separati dal carattere "/". Il formato di un nome completo di argomento specificato è: "root/level2/level3".
Quando si progettano strutture ad albero di argomenti e di nomi di argomento, ricordare che il broker dei messaggi non tenta di ricavare il significato o interpreta il nome dell'argomento stesso. Esso utilizza il nome dell'argomento solo per inviare messaggi correlati ai client che hanno sottoscritto tale argomento.