1. A computer program product implementing a messaging infrastructure which abstracts various processing layers within the infrastructure, wherein the infrastructure provides a base level of messaging functionality, and wherein the abstract processing layers are extensible such that changes or enhancements can be made without necessarily having to re-implement the base level of messaging functionality provided in other abstract processing layers, the computer program product comprising one or more computer readable media carrying computer executable instruction in the form of program modules, the program modules comprising: one or more messaging layer modules providing for endpoint-to-endpoint transmission of one or more messages and implementing support for one or more message transport protocols; one or more channel layer modules providing message exchange semantics on top of the one or more message layer modules; and one or more service layer modules providing one or more programming models on top of the one or more channel layer modules for interacting with the messaging infrastructure by exposing one or more features of the messaging infrastructure to be accessed by software designed to use the messaging infrastructure.