Using Amazon SQS with Mule and iON

Reading Time: 3 minutes

I’m probably preaching to the choir here, but application messaging is extremely important for a wide variety of applications. It allows you to:

  • Decouple application message processing from receiving
  • Orchestrate data between two applications
  • Handle the loss of a server without losing data
  • Process data at a later date when you have more capacity

Yet, creating a reliable, highly scalable messaging infrastructure is extremely difficult – and sometimes not even an option. Amazon SQS takes that problem off your hands – it’s a hosted, highly scalable, reliable queueing service for applications. And now you can use it easily in your Mule applications with our new SQS support.

Continue reading

Implementing a Circuit Breaker with DevKit

Reading Time: 7 minutes

One of my favorite patterns from Michael Nygard’s excellent Release It! is the Circuit Breaker.  A circuit breaker is an automatic switch that stops the flow of electricity in the event of a failure.  This sort of behavior is also useful when integrating with remote systems.

We might want to stop message delivery on an outbound-endpoint after a certain exception is thrown. A remote system under load or the target of a denial-of-service attach is a good example.  In this scenario it would be nice to automatically stop delivery  for a certain period of time to not exacerbate the situation.

Continue reading

Getting the most out of Mule Error Handling

Reading Time: 7 minutes

Error handling in event driven systems like Mule can be a challenge to understand, if you have worked with Mule you’ll know that there are exception strategies and this post will help you get the most out of them.

How error handling works in Mule

Note: In this blog we are going to talk about flow since it’s the preferred configuration style but the same applies to services.

Mule errors are represented by exceptions, so when your transformer, endpoint or any other processor fails it throws an exception. When an exception is thrown, you need a way to manage it. In Mule, the key is <default-exception-strategy> element. Once an exception is thrown normal flow execution will stop and will continue processing on the exception strategy. Inside it you can put message processors to do whatever you want to handle the exception. Currently <default -exception-strategy> only allows one message processor, but you can overcome this issue by using a <processor-chain> element.

Continue reading

5 rules of social enterprise integration: Yammer setting the bar

Reading Time: 4 minutes

I’m a big fan of good integration in all shapes and forms.  Quite often integration is done behind the scenes and if done well it remains unnoticed. I was thinking about social enterprise and the role of integration and decided to dig into some of the major players, namely Yammer and SocialText.  SocialText realised early on that integration is hugely important in order to provide the best user experience and call it out directly in their vision.

When looking at Yammer I stumbled across their Microsoft SharePoint integration, which really impressed me.  Now my views are subjective since I haven’t used Yammer and SharePoint together, but what I liked about their approach is they obeyed my 5 rules of good UI integration:

Continue reading

Mule 3.2.1 Released

Reading Time: < 1 minute

This is a quick note to let you know that we have released Mule 3.2.1 Community and Enterprise.  This is a maintenance release focusing on reliability and performance. Highlights of the new release include:

  • Improved performance for Mule’s out-of-the-box active-active High Availability Clusters.
  • An enhanced Business Event Analyzer, adding improved readability and and usability to its view into business transactions and KPIs 
  • Over 120 improvements and issues closed

For a full list of enhancements view the release notes.

Download: Mule or Mule Enterprise (includes HA, Business Event Analyzer and the Management Console).

Load Balancing Apache Tomcat using IIS

Reading Time: 19 minutes

Front-ending Apache Tomcat with Apache Web Server or IIS is sometimes thought to improve performance. However, performance of Tomcat standalone has already been known to be very good. So why add IIS or Apache web server in front of it? – the answer is scalability and maintenance. Front-ending Tomcat with such web servers allows you to add more instances in case of increased load and also bring down instances for maintenance/upgrades.

This blog shows you end-to-end, step-by-step detailed instructions on how to setup such an environment. It should take you about an hour to configure this setup for yourself. Follow the instructions slowly and carefully to make sure you do not skip/miss any step. Here is a higher level view of the setup.

Continue reading

Upcoming Webinar: Red Bee Media brings video-on-demand using Mule

Reading Time: 2 minutes

We provide a lot of webinars with tips and tricks from our development team on how Mule works across various industries. But what about in the media and entertainment sector? We’re pleased to present a great customer use case of Mule in the wild world of entertainment.

Red Bee Media, formerly BBC Broadcast Limited, delivers over 3,000 hours of content per month for clients such as the BBC, UKTV, Virgin Media Television, Channel 4 and others. Together, Red Bee Media provides the vast majority of video on demand services for the United Kingdom.

Continue reading

Total traceability with correlation IDs

Reading Time: 12 minutes

Distributed systems are great: they’re more versatile and resilient than monolithic ones. They also bring challenges of their own, one of them being the difficulty of building a holistic picture of the systems and interactions involved in the processing of a request or the execution of a business activity.

Business process modeling and their reification in business process engines can help a lot in this matter. But these engines are not pervasively used and there are still blind spots, like in network interactions, that need to be addressed.

In this blog, we’ll look at the usage of correlation identifiers as the means to keeping track of what’s happening in a distributed topology. And of course, we’ll also look at how Mule can help you keep an eye on your messages!

Continue reading

Handling HTTP callbacks using the new Mule DevKit: a Twilio example

Reading Time: 5 minutes

When you send a request to an API and it gets processed the API might want to notify you app about the status of the request. In order for your application to handle this callback you would have to set up an endpoint to listen for the notification and then send the url of that endpoint to the API. For example Twilio, one of the most popular public APIs, uses callbacks to tell you whether a SMS message has been successfully delivered or not in addition to a SMS id that you can use later for tracking purposes. Since the goal of the new Mule DevKit is to make things simpler it provides an easy way to handle HTTP callbacks.

Continue reading

Mule Tip: Controlling Mule Soap Headers

Reading Time: 6 minutes

You might have noticed that under certain circumstances Mule will add its own Soap Headers to the CXF calls. This can be a problem in some situations. For example, let’s say I’m communicating with a remote web service that is not expecting these extra headers. This will probably result in a validation failure and leave me unable to communicate with the web service. Fortunately there is a way to avoid the unwanted headers, which is what we’ll be discussing now.

Continue reading