When building architectures a company will often need to run several instances of Mule ESB: Some on QA, some on staging, and on production, perhaps some instances running locally and some others in another continent. Managing Clusters of Mule Servers, keeping track of what application is running where, and knowing what is the health of those instances at a glance, or even being warned when something wrong happens… That is Mule Enterprise Console job!

So you can use the UI to manage all your geographically distributed instances, but what about automation?

Yes UI is good, but…

To fight XSS attacks, the web browser imposes the same origin policy for requests made by JavaScript code:

But there are a lot of use cases where this kind of cross domain HTTP request is desired, so developers came up with some workarounds:

  • Server side proxy: the idea is to avoid cross domain requests in the browser by doing them on the server:To do that in Mule you can use the HTTP proxy pattern as explained in this post.

We put a lot of effort in to improve error handling in ESB. One of the most common requirements during error handling was the ability to continue processing the same message that was being processed at the time of the exception. And that’s why that is the default behavior for the new exception strategies shipped with Mule 3.3.

Another very common use case was the need to differentiate between handled and unhandled exceptions within a flow. In this case we are going to focus on handled exception and the new catch exception strategy.

In this blog post I will show extend Mule in a simple way using the recently released Mule DevKit. The goal of the Mule is to accelerate the development of Mule extensions by abstracting you from Mule specific stuff so that you just focus on what your are trying to build.

My idea here is to create a simple Connector to interact with Google Maps API but the concepts covered here can be used in other scenarios as well. Since the Mule DevKit is intended for developers, expect many code snippets so that you can go through this example on your own and play around with the code. You can get the full source code here.

Every week we blog about new Cloud Connectors made available for the community and we have plenty more in the pipe but now is probably a good time to explain more of the what and why of of Connectors.

Federico Recio on Wednesday, August 17, 2011

GeoNames Cloud Connector for Mule


More and more companies are using at some point in their business processes. Geocoding can help companies take smarter decisions by offering customers location-specific and more. The fact is, geocoding is becoming a go-to resource for those with high hopes of increasing revenue, reducing expenses, and driving up customer loyalty and satisfaction. This is where an API like GeoNames comes into play.


Geocoding & Geotagging


Geocoding is the process of finding associated geographic coordinates (often expressed as latitude and longitude) from other geographic data, such as street addresses, or zip codes (postal codes). With geographic coordinates the features can be mapped and entered into Geographic Information Systems, or the coordinates can be embedded into media such as digital photographs via .

Dan Diephouse on Thursday, July 21, 2011

Introducing Mule Query Language


Working with web APIs, local APIs and different data formats and structures is too damn hard. You have to write painful verbose code to:

  • Query Web and work with the data
  • Enrich and join data from external with local
  • Compose RESTful services from existing services
  • Version services and data formats
  • Merge data from different sources into a common data format
  • Sort through sets of data

Many Mule users create RESTful services but they are not always clear on the way to authenticate and apply  to a RESTful Web Service. I have seen questions about this topic so I decided to write a tutorial that covers a common use case. We’re going to use Jersey, Spring Security and LDAP and of course Mule to pull  it all together.  I will show you do the following:

  1. Expose resource using Jersey
  2. Secure the REST resource using Basic Authentication
  3. Authenticate and authorize users against an LDAP Directory
  4. Apply authorisation based on users groups to this REST resource
Mariano Capurro on Friday, December 10, 2010

REST @ Buenos Aires


We are certainly sure that Juergen Brendel (RESTx father) didn’t come to Argentina to rest . Besides his work in Mule ESB, he was able to share his knowledge in RESTful Web Services (and ) with the Community down here.

Recently I saw this question posted in a forum: “Does have better performance than ”?

This question is symptomatic of a fundamental misunderstanding of REST, I think. SOAP is a particular protocol used to implement RPC functionality. REST, on the other hand, is not a technology or protocol, but an architectural style. Systems that were built with the REST architectural style are fundamentally different from RPC based systems. For REST, we think in resources and data. For RPC we think in methods and actions. You can’t just swap one out for the other, because they are not even in the same category of things.

Comparing the performance of REST to SOAP is like asking: “What tastes better? ‘Stir fried’ or ‘zucchini’?” or “Which one is better? ‘Darth Vader’ or ‘Star Trek’?” Those question just don’t make any sense. People who think that they do are probably the same who think that REST is nothing but “RPC via URI”, which of course it is not.