Mule (software)

Mule

Mule Studio Screenshot
Original author(s) Ross Mason
Developer(s) MuleSoft
Stable release
3.7.0 / June 2015 (2015-06)
Written in Java
Operating system Cross-platform (JVM)
Type Enterprise Service Bus
License CPAL license for Community Edition, Proprietary for Enterprise Edition
Website www.mulesoft.org

Mule is a lightweight enterprise service bus (ESB) and integration framework[1] provided by MuleSoft. The platform is Java-based, but can broker interactions between other platforms such as .NET using web services or sockets.

The architecture is a scalable,[2] distributable object broker that can handle interactions across legacy systems, in-house applications, and almost all modern transports and protocols.[3]

Supporting tools

Design and Development Tools

  1. Anypoint Studio: An Eclipse-based graphical development environment for designing, testing and running Mule flows. It consists of two types of editors for development: Visual editor and XML editor.
  2. Anypoint Enterprise Security: A suite of security-related features for secure access and transactions to Mule applications.
  3. Mule Healthcare Toolkit: Provided to process HL7 standard messages used in healthcare organizations.
  4. Mule IDE (now deprecated), A set of Eclipse plug-ins for developing, deploying and managing Mule projects.

Management Tools

  1. Mule Management Console: A user interface which provides run time management facility of deployment to the Mule Repository and clusters.

Mule has an integration engine, but the community edition lacks the support for Advanced Management interfaces. MuleSoft offers an Enterprise Edition of Mule that provides a management console, a Service registry and higher availability.

Cloudhub

Cloudhub is Mulesoft's Cloud-based integration platform for integration to connect apps, data and devices with integration connectors (like one to Twitter, etc.) platform as a service (iPaaS).

Mule ESB and Messaging

AMQP Support

AMQP (Advanced Message Queuing Protocol) support is based on the RabbitMQ Java Client and supports AMQP up to 0.9.1.[4]

JMS Support

JMS (Java Message Service) is a Message Oriented Middleware API provided by Oracle for communication between different components of an application. This provides reliable, loosely coupled and asynchronous message-based communication, supporting two models: point-to-point (queues) and publish-subscribe (topics). Mule supports all functionality of JMS specification versions 1.0.2b and 1.1, and provides an endpoint for the same.

WMQ Support

WMQ or Websphere MQ is IBM Message Oriented Middleware product for communication of distributed system. Mule also provides support for WMQ called Mule WMQ Transport which works with 7.0, 7.1 and 7.5 versions and provides endpoint for the same.

Universal Message Object

The Universal Message Object Application Programming Interface is part of high-level design methodologies used to describe and define aspects of a data object used in conjunction with the Mule ESB. The idea is to, by staged events, wrap the work into sensible bundles and process it in stages that can conform to models of transaction-based processing that are useful in time or mission-critical applications such as financial transactions, where subsequent successful outcomes are required to permit the desired outcome. But if the user fails to supply needed data or a run-time error occurs, then the model will allow for stateful backoff, meaning "no harm done", the user may then complete a transaction without losing too much work or canceling an entire transaction.

Universal Message Object defines the parameters that the program will use for internal messaging communications and its components to set and get variables based upon the user's needs and the program's functionality.

References

Further reading

This article is issued from Wikipedia - version of the 11/10/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.