Mule is a Java-based enterprise service bus (ESB) and integration platform that allows developers to quickly and easily connect applications to exchange data following the service-oriented architecture (SOA) methodology. Mule enables easy integration of existing systems, regardless of the different technologies that the applications use, including JMS, Web Services, JDBC, HTTP, and more.
A lightweight, open-source middleware, Mule provides comprehensive application integration. The Enterprise Service Bus (ESB) at Mule’s core facilitates intranet connections within an organization as well as secure external connections to Web-based APIs and other cloud resources. Mule applications are easy to build, because they leverage pre-packaged building blocks designed to “plug in” to the standardized interface provided by the Mule service bus. Mule runtime allows you to deploy and run multiple applications simultaneously.
The Big Picture
Mule was developed to take the donkey-work out of integration. If your application integration architecture looks like this....
... Mule can stop this point-to-point madness. Implementing an Enterprise Service Bus like Mule ESB takes the pain out of connecting all the applications you use in your business, whether they are on-premise or in the cloud.
You may be thinking, "So, is Mule similar to an application server like JBoss or Tomcat?" Although there is an overlap in functionality, Mule differs significantly from a web application server. Find out how.
Quick Product Tour
Let's take a quick tour of Mule and its related products, breaking things down into three basic stages of application development and operations: design and develop, deploy, manage.
Design and Develop
Mule Studio is Mule's Eclipse-based integrated development environment (IDE). Studio provides a powerful “drag and drop” application builder, and includes a companion XML editing environment for developers who prefer to edit code directly. Mule Studio is also available as an Eclipse plug-in.
Mule Studio contains the following features:
The powerful Anypoint™ DataMapper feature built into Mule Studio not only transforms payloads from one data format to another, it can map input fields to output fields as well as filter, enrich, and route message payloads.
A large and ever-expanding assortment of bundled and premium Anypoint™ Connectors facilitates quick, easy integration with SaaS applications.
Mule DataSense uses message metadata to proactively acquire information such as data type and structure in order to prescribe how to accurately map or use data in your application.
|Anypoint™ Enterprise Security is a suite of security features that enforce secure access to information in Mule applications. Add the AES module to your instance of Studio.|
APIkit is an open-source, declarative toolkit specially designed to facilitate REST API design and development. Add the APIkit module to your instance of Studio.
|The Mule Healthcare Toolkit is a collection of features that facilitates integration with healthcare systems by providing the tools needed to easily create, read and transform HL7 version v2.x messages within Mule. Add the Healthcare Toolkit module to your instance of Studio.|
|Deploy to the embedded server bundled with Mule Studio for testing and debugging.|
Deploy to the ESB Standalone server, available as an Enterprise or Community product.
|Deploy to the Mule Application Repository, which you administer through the Mule Management Console. Use this option to deploy a Mule application to a clustered Mule topology.|
|Deploy to CloudHub, the world's first integration Platform as a Service (iPaaS). Built on top of Mule, CloudHub allows you to integrate and orchestrate applications, data sources, and services across on-premise systems and the cloud.|
|Publish your service definitions to the cloud-based service repository in API Manager to enable effective governance and support service reuse within your organization.|
The Mule Management Console facilitates deployment to the Mule Repository and subsequent deployment to Mule clusters. It provides robust runtime management capabilities for on-premise deployments.
|CloudHub Insight tracks everything your data does in an application deployed to CloudHub. Insight makes information searchable and helps you find and recover from any errors that occurred during message processing.|
|API Manager is an API and service registry and governance platform. Built from the ground up to support hybrid use cases, API Manager governs all of your service and API assets, whether they’re internal or external, behind the firewall or on the cloud, on a single platform.|
|APIhub allows developers and enterprises to discover and use over 13,000 APIs, and enables API providers to publish and document APIs, engaging the developer community on an open, collaborative platform.|
Let's say you work at a company that uses an online Customer Relationship Manager (CRM) and an in-house accounting system to manage all your customer accounts. Long ago, someone in the company wired those two things together — the CRM to the accounting system — so that a customer's account details automatically move back and forth between the systems. This set-up has been working well for years with a little maintenance from a few IT administrators.
Then, you merge with another company and are faced with the problem of getting the systems and applications to communicate with each other. You could hire, or out-source, a team of developers to hard-code point-to-point connections between each...
... but this exercise is labor intensive to set-up, and very maintenance-heavy over the long term. If one system upgrades to a new version, or if a system needs to be replaced, or if a new system is introduced into the network, the point-to-point connections have the potential to multiply exponentially and become unwieldy — and expensive — to maintain.
Alternatively, you could use Mule, a light-weight integration platform that acts as an intelligent, message-routing hub between nodes. Plug other systems and applications into Mule and let it handle the routing logic to facilitate communication between systems.
- NEXT STEP: Download, then install and launch Mule Studio.
- Still not sure if you need an ESB? Read more about the "To ESB or not to ESB" question in this series of blog posts.
- Find out how Mule differs from a Web Application Server.