Mule (software)

Last updated
Mule
Original author(s) Ross Mason
Developer(s) MuleSoft
Stable release
4.4.0 / September 7, 2021 (2021-09-07)
Repository
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.com

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

Contents

Its has a scalable, [2] distributable object broker architecture that can manage interactions across legacy systems, in-house applications, and 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 an 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 that provides a run-time management facility for deployment to the Mule Repository and clusters.

Mule has an integration engine, but the community edition lacks 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 as a service (iPaaS) designed to connect apps, data, and devices with integration connectors (like one to Twitter, etc.).

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

Jakarta Messaging 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.[ citation needed ]

WMQ support

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

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 state-full back-off, meaning "no harm done", the user may then complete a transaction without losing too much work or cancelling 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.

Related Research Articles

The Jakarta Messaging API is a Java application programming interface (API) for message-oriented middleware. It provides generic messaging models, able to handle the producer–consumer problem, that can be used to facilitate the sending and receiving of messages between software systems. Jakarta Messaging is a part of Jakarta EE and was originally defined by a specification developed at Sun Microsystems before being guided by the Java Community Process.

Middleware in the context of distributed applications is software that provides services beyond those provided by the operating system to enable the various components of a distributed system to communicate and manage data. Middleware supports and simplifies complex distributed applications. It includes web servers, application servers, messaging and similar tools that support application development and delivery. Middleware is especially integral to modern information technology based on XML, SOAP, Web services, and service-oriented architecture.

An application server is a server that hosts applications or software that delivers a business application through a communication protocol. For a typical web application, the application server sits behind the web servers.

In computer science, message queues and mailboxes are software-engineering components typically used for inter-process communication (IPC), or for inter-thread communication within the same process. They use a queue for messaging – the passing of control or of content. Group communication systems provide similar kinds of functionality.

Message-oriented middleware (MOM) is software or hardware infrastructure supporting sending and receiving messages between distributed systems. MOM allows application modules to be distributed over heterogeneous platforms and reduces the complexity of developing applications that span multiple operating systems and network protocols. The middleware creates a distributed communications layer that insulates the application developer from the details of the various operating systems and network interfaces. APIs that extend across diverse platforms and networks are typically provided by MOM.

Enterprise application integration (EAI) is the use of software and computer systems' architectural principles to integrate a set of enterprise computer applications.

<span class="mw-page-title-main">Enterprise service bus</span> Communication system in a service-oriented architecture

An enterprise service bus (ESB) implements a communication system between mutually interacting software applications in a service-oriented architecture (SOA). It represents a software architecture for distributed computing, and is a special variant of the more general client-server model, wherein any application may behave as server or client. ESB promotes agility and flexibility with regard to high-level protocol communication between applications. Its primary use is in enterprise application integration (EAI) of heterogeneous and complex service landscapes.

An enterprise messaging system (EMS) or messaging system in brief is a set of published enterprise-wide standards that allows organizations to send semantically precise messages between computer systems. EMS systems promote loosely coupled architectures that allow changes in the formats of messages to have minimum impact on message subscribers. EMS systems are facilitated by the use of structured messages, and appropriate protocols, such as DDS, MSMQ, AMQP or SOAP with web services.

Java Business Integration (JBI) is a specification developed under the Java Community Process (JCP) for an approach to implementing a service-oriented architecture (SOA). The JCP reference is JSR 208 for JBI 1.0 and JSR 312 for JBI 2.0. JSR 312 was removed from the JCP balloting process on 17 Dec, 2010 by the submitters without being accepted.

IBM App Connect Enterprise is IBM's premier integration software offering, allowing business information to flow between disparate applications across multiple hardware and software platforms. Rules can be applied to the data flowing through user-authored integrations to route and transform the information. The product can be used as an Enterprise Service Bus supplying a communication channel between applications and services in a service-oriented architecture.

<span class="mw-page-title-main">Apache Axis2</span> Web service engine

Apache Axis2 is a web service engine. It is a redesign and re-write of the widely used Apache Axis SOAP stack. Implementations of Axis2 are available in Java and C.

Oracle Enterprise Service Bus, a fundamental component of Oracle's Services-Oriented Architecture suite of products, provides integration of data and enterprise applications within an organisation and their connected enterprises.

Apache Camel is an open source framework for message-oriented middleware with a rule-based routing and mediation engine that provides a Java object-based implementation of the Enterprise Integration Patterns using an application programming interface to configure routing and mediation rules.

A message queueing service is a message-oriented middleware or MOM deployed in a compute cloud using software as a service model. Service subscribers access queues and or topics to exchange data using point-to-point or publish and subscribe patterns.

Middleware analysts are computer software engineers with a specialization in products that connect two different computer systems together. These products can be open-source or proprietary. As the term implies, the software, tools, and technologies used by Middleware analysts sit "in-the-middle", between two or more systems; the purpose being to enable two systems to communicate and share information.

The JBoss Enterprise SOA Platform is free software/open-source Java EE-based service-oriented architecture (SOA) software. The JBoss Enterprise SOA Platform is part of the JBoss Enterprise Middleware portfolio of software. The JBoss Enterprise SOA Platform enables enterprises to integrate services, handle business events, and automate business processes, linking IT resources, data, services and applications. Because it is Java-based, the JBoss application server operates cross-platform: usable on any operating system that supports Java. The JBoss SOA Platform was developed by JBoss, now a division of Red Hat.

<span class="mw-page-title-main">Apache ActiveMQ</span> Software message broker

Apache ActiveMQ is an open source message broker written in Java together with a full Java Message Service (JMS) client. It provides "Enterprise Features" which in this case means fostering the communication from more than one client or server. Supported clients include Java via JMS 1.1 as well as several other "cross language" clients. The communication is managed with features such as computer clustering and ability to use any database as a JMS persistence provider besides virtual memory, cache, and journal persistency.

Middleware is a type of computer software program that provides services to software applications beyond those available from the operating system. It can be described as "software glue".

Oracle TopLink is a mapping and persistence framework for Java developers. TopLink is produced by Oracle and is a part of Oracle's OracleAS, WebLogic, and OC4J servers. It is an object-persistence and object-transformation framework. TopLink provides development tools and run-time functionalities that ease the development process and help increase functionality. Persistent object-oriented data is stored in relational databases which helps build high-performance applications. Storing data in either XML or relational databases is made possible by transforming it from object-oriented data.

References

  1. "The Role of the Enterprise Service Bus".
  2. "Mule: A Case Study".
  3. "Exploring ESB Patterns with Mule Blog - Oracle Community". Archived from the original on 2009-03-08.
  4. "Home".

Further reading