Programs use transport objects to send messages and listen for messages. A transport determines three aspects of message delivery:
•
Delivery scope—the potential range of its messages
•
Delivery mechanism—the path (including software, hardware and network aspects) that its messages travel
•
Delivery protocol—the ways in which programs cooperate and share information concerning message delivery
Various types of transport object combine these aspects to yield different qualities of service—for example, intra-process delivery, network delivery, reliable delivery, virtual circuit, certified delivery, and distributed queue delivery.