Can anyone tell me the difference between Message Brokers and Message Oriented Middleware?
The generally accepted definition of a Message Broker is a higher level concept that deals more directly with application integration issues. A Message Broker is typically built upon a MOM. The MOM provides the base communication among the applications, and things like message persistence and guaranteed delivery.
A Message Broker also includes things like a data transformation engine, content based routing, prepackaged adaptors to ERP systems, business process integration based on a rules engine, and a set of tools for plugging it all together. For some, a Message Broker is viewed as a complete solution; to others, it's viewed as excess baggage.