Is Mule an ESB?
Mule was designed around the concepts of ESB, but evolved the design
to provide greater flexibility in the way in which services can
communicate with each other. ESB standardizes on the notion of a
message bus, whereas Mule services can communicate over a whole range
of communication channels. Think of an ESB as a topology - a way to
organize components and their interactions. Where Mule differs from an
ESB is that it supports the ESB topology but also others: pipeline,
peer network, client/server, hub-and-spoke, embedded and more. These
can also be mixed and matched to model complex enterprise messaging and
service requirements. For more information see the [MULEUSER:Topologies] page.
Mule has been designed to provide a simple, powerful model of wiring
POJO (Plain Old Java Object) services together using endpoints and
makes no assumptions about the message or interfaces being used. Mule's
ultimate goal is to be the "Swiss-army knife" of integration. It is
adaptive to its surrounding technology rather than prescribing it.
There are no hard and fast rules on how your integration service layer
should behave when using Mule; you can pull in JBI, EJB, Mainframe
apps, Messaging, web services, sockets and file systems and interact
with them all in simple consistent way.