Middleware is a broad term used to describe software whose purpose is to provide
some level of abstraction from other software applications or databases, allowing the
communication between processes to be handled separately from the development of
the processes themselves. This category is very broad and it is often hard to
distinguish where the lines between middleware and "traditional" software
applications begin and end due to functional overlap and the common practice of
embedding a variety of middleware combinations within a productivity application.
Within the middleware space there are a number of categories, and even those
definitions are subjective. In a recent report, the research group IDC identified no less
than 7 categories of middleware, including Data Access, Transaction, Businessware,
Message-Oriented, Legacyware, Object, and Remote Procedure Call middleware.
When taken as a whole, plus adding in some level of systems integration expertise,
you have what is commonly referred to as Enterprise Application Integration.
By most definitions, Sun ONE Message Queue software cleanly falls into the
Message-Oriented middleware category, also referred to as MOM. MOM is a
relatively low level of abstraction within the middleware ranks, often running
underneath complementary layers such as database and application adapters, event
processing, and business process automation.
By design, Sun ONE Message Queue software attempts to focus on satisfying the
primary characteristics of the MOM space, those being the actual message transfer
functions, rather than adding functionality that overlaps with other layers of
middleware. These MOM characteristics include functions such as message routing,
persistence, guaranteed delivery, and transaction support.