Mulesoft – Mule ESB (Introduction)

What is Mule ESB?

Mule, the runtime engine of Anypoint Platform, is a lightweight Java-based enterprise service bus (ESB) and integration platform that allows developers to connect applications together quickly and easily, enabling them to exchange data.

It enables easy integration of existing systems, regardless of the different technologies that the applications use, including JMS, Web Services, JDBC, HTTP, and more.

The ESB can be deployed anywhere, can integrate and orchestrate events in real time or in batch, and has universal connectivity.

The key advantage of an ESB is that it allows different applications to communicate with each other by acting as a transit system for carrying data between applications within your enterprise or across the Internet.

Mule has powerful capabilities that include:

  • Service creation and hosting — expose and host reusable services, using the ESB as a lightweight service container
  • Service mediation — shield services from message formats and protocols, separate business logic from messaging, and enable location-independent service calls
  • Message routing — route, filter, aggregate, and re-sequence messages based on content and rules
  • Data transformation — exchange data across varying formats and transport protocols

what mule esb

Do I need an ESB?

Mule and other ESBs offer real value in scenarios where there are at least a few integration points or at least 3 applications to integrate.

They are also well suited to scenarios where loose coupling, scalability and robustness are required.

Below is a quick ESB selection checklist.

To read a much more comprehensive take on when to select an ESB, read this article written by MuleSoft founder and VP of Product Strategy Ross Mason: To ESB or not to ESB.

  • 1. Are you integrating 3 or more applications/services?
  • 2. Will you need to plug in more applications in the future?
  • 3. Do you need to use more than one type of communication protocol?
  • 4. Do you need message routing capabilities such as forking and aggregating message flows, or content-based routing?
  • 5. Do you need to publish services for consumption by other applications?

Why Mule?

Mule is lightweight but highly scalable, allowing you to start small and connect more applications over time. The ESB manages all the interactions between applications and components transparently, regardless of whether they exist in the same virtual machine or over the Internet, and regardless of the underlying transport protocol used.

There are currently several commercial ESB implementations on the market. However, many of these provide limited functionality or are built on top of an existing application server or messaging server, locking you into that specific vendor. Mule is vendor-neutral, so different vendor implementations can plug in to it. You are never locked in to a specific vendor when you use Mule.

Mule provides many advantages over competitors, including:

  • Mule components can be any type you want. You can easily integrate anything from a “plain old Java object” (POJO) to a component from another framework.
  • Mule and the ESB model enable significant component reuse. Unlike other frameworks, Mule allows you to use your existing components without any changes. Components do not require any Mule-specific code to run in Mule, and there is no programmatic API required. The business logic is kept completely separate from the messaging logic.
  • Messages can be in any format from SOAP to binary image files. Mule does not force any design constraints on the architect, such as XML messaging or WSDL service contracts.
  • You can deploy Mule in a variety of topologies, not just ESB. Because it is lightweight and embeddable, Mule can dramatically decrease time to market and increases productivity for projects to provide secure, scalable applications that are adaptive to change and can scale up or down as needed.
  • Mule’s stage event-driven architecture (SEDA) makes it highly scalable. A major airline processes over 10,000 business transactions per second with Mule while H&R Block uses 13,000 Mule servers to support their highly distributed environment.

Mulesoft – Fundamentals

Mule Fundamentals

Mule is the lightweight integration run-time engine that allows you to connect anything, anywhere.

Rather than creating multiple point-to-point integrations between systems, services, APIs, and devices, use Mule to intelligently manage message routing, data mapping, orchestration, reliability, security, and scalability between nodes.

Plug other systems and applications into Mule and let it handle communication between systems, allowing you to track and monitor your application ecosystem and external resources.

 

Mule is so named because it “carries the heavy load” of developing an infrastructure that supports multiple applications and systems both flexibly and intelligently.

The Mule Approach

Flexible and reliable by design, Mule is proactive in adjusting to the changing demands of an interconnected network of systems and applications.

As you quickly learn in Anypoint Studio from designing even the simplest Mule applications, there is a plethora of tools that can be used to transform and capture data at each event (“component”) in a flow, always according to your objectives.

In turn, Mule accounts for any data you load on top of it, and does not mind executing operations concurrently.

Getting the Most out of Mule…

  • Deploy or integrate applications or systems on premises or in the cloud
  • Employ out-of-the-box connectors to create SaaS integration applications
  • Build and expose APIs
  • Consume APIs
  • Create Web services which orchestrate calls to other services
  • Create interfaces to expose applications for mobile consumption
  • Integrate B2B with solutions that are secure, efficient, and quick to build and deploy
  • Shift applications onto the cloud
  • Connect B2B e-commerce activities