Mule is a messaging platform based on ideas from ESB architectures. The core of Mule is a SEDA-based service container that manages service objects, known as Universal Message Objects or UMOs, which are plain old java objects. All communication between UMOs and other applications is made through message endpoints. These endpoints provide a simple and consistent interface to vastly disparate technologies such as Jms, Smtp, Jdbc, Tcp, Http, Xmpp, file, etc.
Mule applications usually consist of many Mule instances across the network. Each instance is a light-weight container that hosts one or more UMO component. Each UMO component will have one or more endpoints that it will send and receive events through.