In order of importance:
- Connectors
- Data Weave
- Mule Expression Language
In order of importance:
- Connectors
- Data Weave
- Mule Expression Language
It has changed our approach towards integration, making plumbing functions such as HTTP/Messaging listener services, data transformation and connection handling redundant.
Documentation is cryptic, product releases are far too frequent, and upgrades become troublesome.
1 year as a developer and architect.
Deployment of custom flows is troublesome and fraught with difficulty
There are many already defined endpoint components such as HTTP, JMS, FTP, etc., and these are the main tools for communicating with various services. By having these, developers just need to concentrate on the functionalities instead of making modules to talk to other services.
I am not sure about how it has improved the way my organization functions but certainly with regard to simple integration, development speed is faster than writing from scratch.
The HTTP request connector should have the ability to change the hostname on the fly instead of the URL endpoint only.
I've used this product for eight years from Mule v3.0 to v3.8.
We had an issue in v3.4 with clustering but as of v3.7, MuleSoft has fixed the problem.
Scalability depends on how an application using Mule ESB is designed and so far, we haven't had any issues with the scalability.
The technical support is OK and I've never really needed it.
The setup is straightforward in terms of deployment and environment setup.
Just download the "mule-esb runtime environment" zip file and unzip under a particular directory. Then a Mule setup is done. To deploy an application, just drop a Mule app into ${MULE_HOME}/apps along with the properties file under class path, then done.
It is getting expensive and I recommend clients to use Camel ESB if enterprise support is not required.
If a cluster is not required, then just buy the non-clustered version.
I've been in a consultancy environment for a long time and knew various frameworks and tools already.
Make an architectural plan in depth before implementing a solution based on this product. Otherwise, it might cost far more than expected.
It integrates between an ERP (J2EE inventory module), a CRM (PHP) and a new mobile development platform (Angular JavaScript web services).
The aim of the solution was to connect to the inventory application provided by the ERP system, read and send data to the CRM, then hook that to the smartphone with a user-friendly UI.
Some requirements:
I think using Anypoint Studio at the beginning can be seen as not straightforward, especially when dealing with the visual editor. A vertical representation of the flow can really improve the understanding of the case and a good mapping to the use case.
I have been using it for 1-2 years.
Like any application, Mule is constrained by the limits of memory size and CPU performance.
Threading profiles define the overall capacity of your Mule instance in terms of scaling and capacity. The performance of each moving part involved in processing each request will also impact the global throughput of your application.
Setup was realy straightforward as the product is well documented. Also, we should mention the efforts of a good and reactive community.
Before choosing, we also evaluated:
My advice to organisations looking to implement this product is to begin with the community version as a proof-of-concept and a way to avoid risks. You can then directly migrate to the enterprise edition as the Anypoint Platform offers tools that architects and developers across the enterprise can adapt quickly to design, build, and manage the entire lifecycle of their APIs, applications and products. With Mule as its core runtime engine, Anypoint Platform is built with open technologies to promote reusability, modularity and collaboration, increasing developer productivity and project speed.
The most valuable features are the connectors, DataWeave, and the way it simplifies the application development and deployable files.
Connectors:
DataWeave:
It has reduced interdependency.
The Mule IDE (Integrated Development Environment) could be more stable. For example, in Anypoint Studio, when we add some components and then remove them, they don't get deleted from XML in the background. It gives a duplicate error when we try to add them another time. However, this has been fixed with Anypoint Studio 6.
I have used this solution for around a year.
The older versions of Mule IDE, Anypoint Studio 5.x.x are more unstable.
There were no scalability issues.
I would give technical support a rating of 4.5/5.
The setup was pretty straightforward.
This is an affordable product.
Since most organizations are now going digital and opening up their resources via APIs, companies should explore using this solution.
We are a technology consulting company specialized in Systems Integration using Mule ESB. (www.app-integrators.com)
Through App Integrators, we have integrated disparate Enterprise Applications for different customers across the globe. Most of our integrations for clients are:
I have used this solution since 2012.
There were stability issues. It is very complex to set up an Enterprise grade application and it is not easy to use.
Like a typical Java application, one should know how to tune a Java based server.
However, we have experienced issues when handling massive volumes of 20 million records to Salesforce (from on premises systems). We also experienced issues when we executed batch jobs of up to 120 jobs in a cluster of Mule ESB instances and when handling large volume of data (in the millions).
Nevertheless, many connectors like Enterprise JDBC and DataWeave support the streaming of data.
Technical support has been excellent. They are very helpful through their customer support tool and/or through their forums.
We used Oracle OSB before and some of our clients used TIBCO middleware or Java CAPS.
But we suggested that clients switch to Mule ESB due to:
It is complex to set up because any Enterprise grade middleware needs hardening. This is why we need to set up clusters, integrate with source control tools for continuous integration in different environments like DEV, QA, TEST, and also consider firewalls and internet security.
So other than a DEV Server, the setup is not straightforward. It depends on the organization security/development methodologies and policies.
It is cheaper than competitors in pricing and licensing. We have an open source option available as well.
Most of the licenses can be added as entitlements on top of a basic Enterprise license. Licenses are renewed every year and there is no perpetual license.
We evaluated Oracle ESB, Apache Camel, and ServiceMix.
I would recommend this solution due to its support for multiple integration options.
We had to design a complex diagnostic and analysis tool that catered to different ERPs. For example, connecting to different types of data sources and listening from different types of services (over Web and FTP).
Business services for diagnostics should be modified by admin/functional people and applications should be updated on-the-fly without any down time.
The Mule runtime engine served the purpose and we developed a drag-and-drop workflow designer (web app) that is built on top of Mule to make it easy for admins to create and edit services.
I’ve been using Mule ESB for 18 months.
We have had no issues with stability.
We did have scalability issues. It demanded more RAM at times, when there were a larger number of requests while listening over FTP. This is the case with any web container.
I am a Community Edition user, so I can’t comment about the enterprise support by Mule. However, you will not get an immediate response for your queries in any of the technical forums.
I did not use any ESB earlier, but this is the best Community Edition ESB available in the market. However, we abused it as a workflow engine.
To get an initial setup is straightforward.
I would advise using the Community Edition if you are developing an application as an additional service to a customer or a non-critical Tier-2 application. You can do this without support.
Apart from support and a few additional connectors, the enterprise edition is not so different from CE.
I was not part of choosing this solution.
Don’t abuse it. Be clear if you want a Mule application to solely solve your business problems, or if you want it as an add-on to solve a few problems that your main application can’t solve.
You may get into scalability issues if you are not clear about this basic difference.
DataWeave: It allows for complex mappings using a simple DSL (Domain Specific Language).
Integration between systems can often take several days. However, with MuleSoft ESB, it can take as little as fifteen minutes.
The CloudHub offering requires some time to mature. However, it is a good overall solution.
Some further details:
1. The AnypointMQ offering is not very stable, as such can cause issues
when dealing with high volume burst messages.
2. The CloudHub offering is EC2 instance based and does not run in
containers.
3. The speed of the CloudHub user interface is poor.
4. Deployment takes several minutes (due to Ec2 architecture as opposed to
containerization).
5. There is currently no cross application object store.
I have used MuleSoft ESB for six years.
CloudHub stability has been an issue. However, this is being worked on.
The product scales very well.
Technical support is superb. The engineers that support customers are Java developers and have a deep understanding of the issues and resolutions. This is one of the biggest selling points for MuleSoft.
Previously, we used Apache Camel and Spring Integration. However, they require more technical involvement than MuleSoft ESB.
The setup is done with a simple deployable .zip file. It is very simple to set up and run.
Pricing is tailored to the customer. As such, I would recommend speaking with your account representative.
We evaluated Dell Boomi, Informatica, and Talend. However, for the given use case, MuleSoft came out on top.
Focus on the business problem you want to solve, as the technical integration in MuleSoft is relatively simple.
I am providing the service for MuleSoft ESB. My company has delivered solutions such as travel portals, retailer engines, application integration, and a wide range of other scenarios, where ESB can be utilized.
MuleSoft ESB is a wonderful product. However, in order to help the developers utilize it extensively, I would suggest adding some scenario-based and audio-visual tutorials.
I have been using this solution for four years.
I am working on a number of open-source integration platforms and MuleSoft ESB is an ideal choice for us. This tool makes it easier for the developers to deliver complex projects with the best quality.
The initial/basic setup for the development and production environments was fairly easy and straightforward. For complex requirements, you may need some assistance from the experts.
I am working on frameworks/solutions such as Red Hat JBoss Fuse, Spring Integration, Apache Camel, and Apache ServiceMix.
Hi Tejas,
Nice tutorial! Let's keep our fingers crossed that this works. I'm on day 3 of uptime. I would like to put this all to rest.
An easy solution to your problem would be not to use the threading profile-based strategy you were setting up and replace the scripting component with a pooled java component configured.
How can implement MuleSoft integration with other services?
Excellent tutorials – very easy to understand with all the details of the config parameters you provide. I hope you will continue to provide more such tutorials.
If MuleSoft starts to prosper, it is likely at least some of these well-funded competitors would come up with a competing solution, or they may even be developing one already.
I recommend Videos Courses from MuleSoft Training on Mac and Windows.
I want to learn MuleSoft ESB, I am not a java resource, weather I am eligible to learn lot required to learn Java also.
Muchas Gracias,
Sharma