JIRA: not just for Mule developers

January 6 2011

0 comments 0
motif

Here at Mulesoft, we use Jira for a lot of different things: tracking hiring, IT tasks, reporting product bugs, planning releases, etc.

We recently upgraded our Jira instances to the latest 4.2 version.  One of my favorite new features is the ability to create your own search query in a SQL-like syntax.  This allows you to customize your searches in all new ways.  For example, if you wanted see your list of reported open bugs for the Community edition of Mule ESB, you could go to this page and use this query:

Logging just got a lot easier in Mule 3.1

December 17 2010

1 comment. 0
motif

Mule 3.1 introduces a very useful new <logger> element that makes it easy to inspect the content and properties of your messages in Mule while building or debugging a flow. It’s also perfect for logging errors, info messages etc.  Mule has always supported logging with the <log-component> but while working with the new orchestration capabilities of Mule 3 flows, we found a real need for fine grained logging. With the new message processor architecture, this was a snap and we were able to put together the new functionality in an afternoon. In this blog post I’ll take you on a quick tour of what you can do with it with some examples.

Pack up and go!

November 23 2010

1 comment. 0
motif

In order to use the hot deployment feature that was introduced with Mule 3 you need to package your application as a zip file.

If you are using Maven to build your Mule applications then packaging zip files for hot deployment is very easy. All you need is to declare your packaging to be Mule:

Routing with Message Processors in Flows (Part 1)

November 18 2010

0 comments 0
motif

One of the joys of Mule 3’s new Message Processor (MP for short) architecture is the power that arises from being able to combine message processors into different patterns.  To make this as flexible as possible, the routing message processors that were designed to be used in flows each do a single job, making them highly reusable. This allows you to build up a flow piece by piece, or alternatively modify an already working flow, without having to change its basic structure. Let’s look at an example.

Announcing Mule’s Activiti transport

motif

Hi all!

A couple of weeks ago I started the integration between Mule ESB and Activiti BPMN. Activiti is a Business Process Management (BPM) and workflow system targeted at business people, developers and system admins. Its core is a super-fast and rock-solid BPMN 2 process engine for Java. It’s open-source and distributed under the Apache license. Activiti is being written from the ground up with the requirement that the engine should be easily embedded and that the project would be aimed at developers not the business. This is a very natural fit for MuleSoft since our approach to middleware starts with the developer. We have been working with the Activiti guys since July focusing in the integration aspects of the project.

The idea behind Mule’s Activiti transport is that you are able to perform several administrative actions in an Activiti server from Mule. For example, let’s suppose that you would like to retrieve the candidate tasks of the user kermit, do some processing and CLAIM a subset of those tasks. The following configuration will work for you:

Tcat Alerting: not your grandfather’s Ops tool

November 15 2010

0 comments 0
motif

We all recognize the need for both server and application monitoring in a production environment and Tcat Server makes this easy. However, the development and QA process can also benefit from this feature.

At MuleSoft I’m often asked to write small one-off webapps for different parts of our internal infrastructure — often they are interim solutions or somewhat experimental; since these are somewhat less critical applications, at best I’ll create some unit tests, create a plan on our CI Server, and do some “developer QA” — which amounts to clicking around the basic flow and cajoling some co-workers into basic sanity and acceptance testing. Since I’m also responsible for provisioning the server and deploying the application, I like to take as many shortcuts as I can. Fast and informal is the name of the game here.

However, lately I’ve been using Tcat’s Alerting with these applications in both the production and QA cycles. This has allowed me to spend less time tracking issues and to catch obscure errors and performance issues before I deploy into production.

Walk this Way: Building AJAX apps with Mule

October 13 2010

5 comments 0
motif

There are some cool new features in Mule 3 for building AJAX applications. I figured I’d take you through a tour of the GPS Walker, an small example that demonstrates how to use AJAX to communicate from a Mule Service to the browser. This example uses other new features in Mule 3 including automatic JSON bindings, the @Schedule annotation and Flow.

Hot Deploy from Mule IDE

September 23 2010

2 comments 0
motif

The Mule IDE does not natively support Mule 3’s new application structure yet, but not to worry, with the new 2.1 release of the Mule IDE you can still keep it hot when working in the IDE. Just follow a few simple steps and your apps will be doing the tango with Mule 3 while you code away in Eclipse.

Migrating MuleForge projects to 3.0

September 3 2010

2 comments 0
motif

In order to make sure that the migration path is straightforward and well-documented, I just finished migrating the SFTP MuleForge project from Mule ESB 2.2.1 to 3.0.  It was extremely helpful to have a good set of unit tests in the SFTP transport code.  That makes it easier to tell if your project still has all of the necessary functionality after the migration.  If you are interested in migrating your own MuleForge project, check out the following links:

Polling TCP client connector

motif

Right now TCP inbound endpoints are implemented as TCP servers that listen for data coming from different clients. In Mule ESB 2.2.6 we are adding a new feature to inverse the control: TCP inbounds can now poll data from remote servers.

It is really easy to switch to this strategy. Let’s take a look of how a mule configuration looks like: