Reading Time: 5 minutes

The Mule team is pleased to announce the availability of the first release candidate for Mule ESB 3.1. This is a continuing evolution of the Mule 3 architecture, first introduced in Mule 3.0 , and follows hot on the heels of our most recent release, Mule ESB 3.0.1.

The biggest enhancements in Mule 3.1 are the new features for Mule Cloud Connect. It is now very simple to, for instance:

  • Invoke a cloud service.
  • Use the data it returns to invoke other services
  • Combine the data returned by all of these services
  • Use the result to invoke yet another service (or write it to a database, or persist it as XML, or format it as a web page, or…There’s really no limit but your imagination.)
latest report
Learn why we are the Leaders in API management and iPaaS

The three main innovations here are

  • invoke, which makes calling a cloud service a snap.
  • poll, which makes it easy to poll a service for incoming data.
  • enricher, which lets you combine data from many different calls into one rich message.

In addition, Mule configurations now support a simple yet powerful logging facility, which provides access to log4J levels and categories together with the full range of Mule expressions. For instance,

will log the current message’s correlation ID whenever debugging is enabled for the your routing logger. By setting the level to ERROR or WARN, this can be used for error notification as well as debugging.

Here’s a snippet that puts all of this together:

First we define a bean that provides access to an authorization service that lives in the Cloud. Next comes a flow that uses it:

  1. <poll>: We poll every five seconds, looking for new payments.
  2. <logger>: If debugging is turned on, we log the fact that a new payment arrived, together with its amount.
  3. <enricher>: We send the payment message’s payload to our paymentInfo service, which returns the customer’s credit card number
  4. <invoke>: We invoke the authorization service, passing it the payment amount and credit card number.
  5. <outbound-endpoint>: We pass the result of the authorization to the payment processing service.

That’s a business process integrating three different services implemented in 15 lines of XML.

Look for upcoming blog posts that expand on all of these.

In addition, this release candidate also includes:

  • CXF has been upgraded to its most recent version, 2.3.0 .  This adds supports for several important pieces of the WS-* stack, including
    • WS-Addressing (with alternative response endpoints)
    • WS-Reliable Messaging
    • WS_Secure Conversation
  • We continue to enhance and improve the online documentation.
  • Fixes for over 40 bugs.  Details on these can be found in the release notes.  As always, several of these were patches submitted by the Mule community.

Mule 3.1.0 RC1 can be downloaded here.