Messages are the most important instrument for communication between objects that are separated from each other, whether for reasons of encapsulation or physical distance.
A message is directed, which means that it is always transported from a sender to a receiver. The sender address as well as the receiver address is part of the envelope. All other patterns like Observer, Notification, Services, Broadcasts and so on are based on this principle. Messages can be sent and received freely, they do not require any further infrastructure. For the reception of messages only a JAVA object is necessary, which was registered at a TargetRegistry of a Namespace (called a Target).
If the sender and receiver are located in different nodes,
the messages are forwarded from node to node,
until they reach the destination.