Have you ever thought about working with Mule ESB? Can you grasp the potential it has to improve your business? Then keep reading as we explain what Mule ESB is, what it can do for you, and better yet, the additional features provided by the products we’ve developed at Hawkore.
What is Mule ESB?
Mule is a ESB (Enterprise Service Bus) messaging framework, scalable and distributable, that can orchestrate interactions with services and applications using different transport and messaging technologies.
Features
These are some of its most relevant features:
- Open source[1].
- Mature and constantly evolving technology.
- Wide community of users.
- Lots of good documentation with practical examples.
- Completely modular and decoupled.
- Offers a wide range of services and transport components.
- Highly productive.
- Message-oriented.
One of Mule’s main capabilities is that it allows you to forget about point-to-point integrations, which can become a real headache as they grow in complexity.
Relying on Mule’s reusability and connectivity allows you to establish a much more consistent and sustainable application network, so that future integrations can reuse previously created components and integrate them into the network in an increasingly dynamic way.
With this in mind, MuleSoft proposes the use of an Api-led Connectivity[2] architecture when designing the model of integrations to be managed with Mule ESB.
Highly productive
There’s an infinite number of pre-engineered connectors to integrate with numerous frameworks and systems such as Spring, Amazon AWS, Apache Ignite, SAP, Salesforce, Microsoft Dynamics, Mongo DB, Cassandra, etc. It also supports multiple and very varied transport and service components, such as:
- HTTP
- JDBC
- JMS
- SOAP
- OData
- EJB
- TCP
- LDAP
- UDP
- SMTP
- FILE
- FTP
- …
Mule also provides powerful message routing, transformation and auditing capabilities.
Its IDE (Anypoint Studio) and a wide variety of pre-designed components allow you to create applications very quickly.
Anypoint Studio
Mule comes with a visual development environment, called Anypoint Studio. It is based on Eclipse, which makes it very intuitive and familiar to most programmers.
The design of the flows through which the Mule messages will pass is done by dragging components, transformers or connectors from a design palette. This allows developers to dismiss the small details to focus on higher-level concepts.
Its ease of use makes for a fast learning curve so that developers can be productive in a very short period of time.
Message-oriented
Unlike other solutions, Mule is message-oriented, that is, you don’t need advanced knowledge to design your applications. Just concern yourself with the messages coming in and out of flows and/or connectors.
A Mule Message (Mule Message) is the content of a larger piece called an event (Mule Event). These events are generated by the input connector of the stream we are in (Inbound Endpoint). Each processor that is part of a stream receives a message from the previous processor and returns a new one with the corresponding modifications.
Each message is composed of two main pieces:
- Attributes - that contain metadata associated with the body of the message and will vary depending on the input connector of our flow. For example, in a stream whose input connector is an HTTP, it will contain the headers of the HTTP request that initiates the stream.
- Payload - that contains the body of the message. For example, after a call to a REST service, it will contain the response of the service.
Available editions
There are two editions of Mule:
- Mule Community Edition (CE)
- Mule Enterprise Edition (EE)
Both versions are built on the same codebase, so it is very easy to upgrade applications developed for the CE version to the EE version. The opposite process may involve certain additional developments, as there are functionalities that are only present in the EE version (high availability, specific connectors, batch module, cache and transaction scopes, Anypoint Platform, support…).
You can check the complete list of differences between editions here
Hawkore and MuleSoft
To provide Mule ESB with additional functionalities at Hawkore we’ve developed several components with different characteristics:
Clustering module
Through this extension of Mule’s core, Hawkore has managed to give Mule the ability to work in a cluster with other instances, whether you are working with the CE or the EE version (an interesting feature if you don’t have a license for high-availability). And with no limit on the number of nodes!
Its installation is very simple, and its use is completely transparent to the developer since it is not necessary to make any modification to the applications in order to make them work within the cluster.
Curious about this product? Try it out here.
Additional connectors
Apache Ignite & GridGain Connectors
With the Apache Ignite and GridGain connectors developed by Hawkore you can create Mule applications with a high level of concurrency and horizontal scaling capability.
If you want to learn more about these connectors or even give them a try, check it out here.
Sap Connector
At Hawkore we’ve developed a connector that allows you to integrate your Mule applications (CE or EE) with SAP ERP Central Component.
It allows communication with SAP through BAPIs and IDocs and is seamlessly integrated with DataSense for even easier integration.
If you want to check how it works and give it a try, you can do so here.
OData Connector
With this connector developed by Hawkore you can integrate your Mule applications (CE or EE) with Open Data V2 and V4 services.
If you think it can give a boost to any of your projects, give it a try here.
Transferwise Connector
The Transferwise connector developed by Hawkore allows you to access all the possibilities of Transferwise’s API, directly from your Mule applications (CE or EE).
Give it a try here.
Conclusions
Most companies want to reduce the development time of integrations with external systems as well as the difficulties associated with their maintenance. This is where Mule ESB can be very useful. By using the connectors already included in the product itself, those added by Hawkore, other developers, or those developed in-house, Mule ESB allows you to build a network of applications that are highly scalable and with a high level of reuse.
- 1.Mule ESB is distributed under the terms of the CPAL license (Common Public Attribution License). For more information regarding the type of license under which each of the third-party libraries used by MuleSoft is governed, see the following url ↩
- 2.Architecture proposed by MuleSoft for the development of highly scalable environments with high reusability of components. More information here. ↩