Methods, systems, and computer program products for abstracting processing
layers within a messaging infrastructure so that changes or enhancements
can be made to the infrastructure while retaining existing functionality.
Message transport implementations are abstracted within a message layer,
allowing other layers within the infrastructure to interact with messages
in a more structured fashion, largely independent of message transport.
Transport examples include named pipes, Transmission Control Protocol
(TCP), HyperText Transfer Protocol (HTTP), Simple Mail Transfer Protocol
(SMTP), etc. A channel layer above the message layer abstracts message
exchange implementations, allowing other layers within the infrastructure
to send and receive messages in a more structured fashion, largely
independent of the message exchange semantics of a specific
implementation. Message exchange examples include datagrams, dialogs,
monologs, queues, and the like. Above the channel layer and message
layer, a service layer abstracts the binding implementations that bind
message exchange implementations to user code implementations.