Subscribe

Archive for May, 2009

Streaming in Mule

Thursday, May 28th, 2009

Streaming enables efficient processing of large data objects such as files, documents, and records by streaming the data through Mule rather than reading the whole thing into memory. Streaming provides the following advantages:

  • Allows services to consume very large messages in an efficient way
  • Message payloads are not read into memory
  • Simple routing rules based on message metadata are still possible
  • You can combine streaming and non-streaming endpoints

Streaming Transports

The following Mule transports support streaming:

Streaming Transformers and Filters

Many Mule transformers and filters can read input streams, process the contents, and send them on. However, most of these do not process the stream in real time; instead, they read the stream, load it into memory, process it, and then send it on. Therefore, transformers and filters can become a bottleneck in your application if you regularly stream large files.

The following transformers and filters do support true streaming and process the data as streams without loading them into memory first:

Galaxy on EC2 via Cloud Foundry in 10 minutes!

Sunday, May 24th, 2009

A couple of months ago, I reviewed the process for deploying Mule Galaxy, our SOA governance platform, onto Amazon’s EC2. Not long after that, I was introduced to cloudtools, a set of tools for deploying, managing, and testing Java EE applications on EC2. With these tools, it becomes trivial to deploy an application like Mule Galaxy to the cloud in minutes, rather than hours. (more…)

Technical Webinar tomorrow: Mule for ETL

Monday, May 18th, 2009

Are you trying to poll a database and transform the results to a certain plain text file? Do you need to pick up a data file, split it into individual records and insert those records into the database? Would you like to poll a source database and send the results to another database for insertion? (more…)

Error Handling in Mule

Monday, May 18th, 2009

Mule provides different approaches to handling errors. You can set exception strategies for connectors, models, and individual services. You can use the exception router to specify where the message goes when an error occurs. And you can use the exception type filter for fine-grained control. Following is an introduction to these approaches.

(more…)

New Mule Financial Information eXchange (FIX) Transport on the MuleForge

Wednesday, May 13th, 2009

As you may have seen, a new Mule Financial Information eXchange (FIX) transport project was recently made available on the MuleForge. A big kudos to the project owner, Stephen Fenech, and the team at Ricston for making this project available.

FIX is a public domain protocol aimed at real-time electronic exchange of securities transactions in the Financial Services industry, and is considered to be a standard protocol for pre-trade communications and trade execution. The Mule FIX transport is based on QuickFIX/J – a full featured messaging engine for the FIX protocol that is a 100% Java open source implementation of the popular C++ QuickFIX engine. This transport allows users to read and write messages over FIX endpoints and have Mule ESB route, transform and filter messages accordingly. (more…)

Getting a Response from your Mule Services

Monday, May 4th, 2009

When wiring your Mule services together, new users sometimes get confused about when to use an outbound router and when it’s sufficient to simply get a reply. Following is a description of the three message styles you can use to get a response from your Mule services. (more…)