Archive for the ‘Mule’ Category

Data Loading Neo4j Graphs From SQL Sources [+ 98 others]

Wednesday, January 8th, 2014

Data Loading Neo4j Graphs From SQL Sources by Richard Donovan.

From the post:

Neo4j’s powerful graph database can be used for analytics, recommendation engines, social graphs and many more applications.

In the following example we demonstrate in a few steps how you can load Neo4j from your legacy relations sql source.

You can download Mule Studio from;

A short post on using Mule to load SQL data into Neo4j.

More importantly Mule has ninety-nine (98) connectors (99 including Neo4j), opening up a world of data sources for Neo4j.

See the Mule documentation for details.

Mule ESB 3.3.1

Thursday, September 13th, 2012

Mule ESB 3.3.1 by Ramiro Rinaudo.

I got the “memo” on 4 September 2012 but it got lost in my inbox. Sorry.

From the post:

Mule ESB 3.3.1 represents a significant amount of effort on the back of Mule ESB 3.3 and our happiness with the result is multiplied by the number of products that are part of this release. We are releasing new versions with multiple enhancements and bug fixes to all of the major stack components in our Enterprise Edition. This includes:

Mule School: Introducing Mule 3.3 in Studio

Wednesday, July 4th, 2012

Mule School: Introducing Mule 3.3 in Studio (Error Handling, Caching, Iterative Processing and Expressions) by Nial Darbey.

From the post:

Today I am going to introduce you to some powerful new features in Mule 3.3:

  • Improved Error Handling: New exception strategy patterns fully integrated in Studio. Included are Try/Catch, Rollback processing and Conditional Exception processing in Choice routers based on exception type, or just about any criteria!
  • Iterative Processing using Foreach Scope: Allows for iterative loop type processing while maintaining the original message context
  • Mule Expression Language: A new, unified expression language to improve consistency and ease of use when validating, filtering, routing, or transforming messages
  • Cache: Improve performance with “In memory” caching of messages, such as the results of service calls
  • Graphical Data Mapper: A new graphical tool to easily transform from one data format to another data format while also mapping specific fields within the message structure. Formats supported include XML, JSON, CSV, POJOs, collections of POJOs, and EXCEL

We will do so by walking you through the development of a Mule Application which exploits each of these new features. As we work our way through the development process we will describe what we want to achieve and explain how to achieve that in Mule Studio. For the sake of simplicity we will refer you to our online documentation when we touch on features already available in previous releases.

I need to install the most recent release (Mule 3.3) but just walking through the post I stumbled at:

Graphical Data Mapper


Here we need to transform our OrderItem instance into an OrderRequest as expected by Samsung’s webservice.

The image that follows shows a mapping from:

name: string -> name: string

quantity: integer -> quantity: integer

But I didn’t see any naming of the OrderItem or OrderRequest objects?

Not to mention the mapping seems pretty obvious.

A more useful case of documentation would be “who” created the mapping and when? Even more useful would be the ability to define what caused the mapping from one to the other. Not just the fact of mapping.

Like I said, I will have to install the latest version and walk through the examples, so expect further posts on this release.

Your comments and suggestions, as always, are welcome.

Graphical Data Mapping with Mule

Monday, April 23rd, 2012

Graphical Data Mapping with Mule

May 3, 2012

From the announcement:

Do you struggle to transform data as part of your integration efforts? Has data transformation become a major pain? You life is about to become a whole lot simpler!

See the new data mapping capabilities of Mule 3.3 in action! Fully integrated with Mule Studio at design time and Mule ESB at run time, Mule’s data mapping empowers developers to build data transformations through a graphical interface without writing custom code.

Join Mateo Almenta Reca, MuleSoft’s Director of Product Management, for a demo-focused preview of:

  • An overview of data mapping capabilities in Mule 3.3
  • Design considerations and deployment of applications that utilize data mapping
  • Several live demonstrations of building various data transformations

Mule Summits

Monday, April 16th, 2012

Mule Summits

From the webpage:

Mule Summit brings together the core Mule development team and Mule users for the premier event of the year for anyone involved in integration. It offers a great opportunity to learn about key product developments, influence the product roadmap, and interact with other Mule users who share their best practices.

Locations announced in Europe and the U.S.

Cheaper than a conference + the core development team. What more could you want? (OK, Dallas isn’t Amsterdam but you chose to live there.) 😉

Mule Webinars

Monday, April 16th, 2012

Mule Webinars

I was looking for a web listing of Mule Summits and ran across this archive of prior Mule webinars.

Tried to pick my/your favorites and finally just put in the entire list. Enjoy!

Mule Studio – Getting Started

Wednesday, January 25th, 2012

Very rough notes on the basic introduction to Mule Studio.

Getting Started with Mule Studio

Under What’s Next, the first line reads:

Cloud computing is closer than ever before. Why not start by checking out our fifteen-minute Basic Tutorial?

What does “Cloud computing is closer than ever before.” have to do with Mule Studio? The implication is that the “fifteen-minute Basic Tutorial” is going to teach me about “cloud computing.”

Basic Studio Tutorial

Suggestion: Either call the software MuleStudio, or Studio or Mule, or start with one and say: “we use herein ….” and then use it. Consistent naming isn’t that hard.

BTW, documentation should be updated to reflect current directory structure used with examples.

Documentation says: \MuleStudio\Examples\SpellChecker\InXML.

MuleStudio\examples\SpellChecker\spellcheck.xml is the actual directory

OK, so the directory is missing the InXML and OutXML directories.

Ah, it is expecting an empty InXML directory so it fails if you point to the directory structure as delivered.


MuleStudio\examples\SpellChecker mkdir InXML, and

MuleStudio\examples\SpellChecker mkdir OutXML

I left spellcheck.xml in the SpellChecker directory (remember to copy, not move so you don’t lose the file, or you could create another one).


For a confidence building example I would not switch back and forth between Windows and Unix file/path syntax. Pick one and stay with it.

I would not suggest other thing to explore during the first example. Could have a staged follow up after the first example, but only afterwards.

Oh, and fix the paths or say they have to be built in order for the first example to run. If possible configure the default window so the message box isn’t so small. Users need to see something happening.

One more thing, the example is vague about whether the OS moves the file or if the file can be moved in MuleStudio. I used the OS just out of habit. I did look and there was no obvious way to copy/move the file in the application.

The narrative could be smoother and with the technical errors fixed it would be an adequate introduction to the software. It would be a better introduction if there was some motive giving for the example application, why would I care? sort of thing. Leveraging the power of Google or something like that.

Watch for notes on the intermediate tutorial in a day or so.


In the SpellChecker directory (under MuleStudio/example) add InXML and OutXML directories, thus:

mkdir InXML

mkdir OutXML

Leave spellcheck.xml in the SpellChecker directory until told to copy it into InXML

Blogging Prize – Mule Studio

Wednesday, January 25th, 2012

From my inbox:

Blog About Mule Studio, Get a T-Shirt

Are you as excited about Mule Studio as we are? If so, blog about it and send a link to your blog and your postal address to and we’ll send you a Mule T-Shirt.

Even if you don’t need the T-Shirt download Mule Studio and take the tour.

Interfaces are always slightly different, range/ease of operations offered vary, documentation varies wildly, so if nothing else, you will learn something in the process.

And, if you blog about it, etc., you will get a new T-Shirt.

Something to look forward to in the mailbox!

A couple of notes on getting started, not that you need them but someone else may:

Step 1 reads:

Before you unzip the muleStudio
package, ensure that it has the permissions required for installation.
To set these permissions, open a console and execute the following command:
chmod u+x muleStudio

The muleStudio folder or directory appears when the unzip operation completes.

Err? Permission to install?

Permission to install is a user privilege question, not setting the file to be executable.

On Linux (Ubuntu 10.10) I just tossed it into my /home/patrick/working directory where I keep all manner of software. It’s just me on the box so I don’t have to worry about making apps available to others.

But, after you unzip the file you do have to:

chmod u+x muleStudio*

BTW, the folder I got was: MuleStudio, so my path is /home/patrick/working/MuleStudio.

Step 2 Execute reads:

Unzip the muleStudio package, which is located in the following path:
Enter the following command in the console to launch muleStudio:
Alternatively, double click the muleStudio file in the Linux graphic interface, as shown above

Err, but we just unzipped it, yes?

Let’s re-write steps 1 and 2:

Step 1:

Unzip the MuleSoft package for your system into a convenient location.

The folder or directory name will be MuleSoft

Step 2:

Change to the MuleSoft directory.

Make the muleStudio* file executable with the command:

chmod u+x muleStudio*

Start the program by:

Double-clicking on muleStudio* in the graphic interface, or

entering the command:


That is trivial in terms of improving the use of MuleStudio but when clear writing becomes a habit, more difficult topics become easier for users.

Super Simple Data Integration with RESTx: An Example

Sunday, October 2nd, 2011

Super Simple Data Integration with RESTx: An Example

From the webpage:

Most people who ever worked in real-world data integration projects agree that at some point custom code becomes necessary. Pre-fabricated connectors, filter and pipeline logic can only go so far. And to top it off, using those pre-fabricated integration logic components often becomes cumbersome for anything but the most trivial data integration and processing tasks.

With RESTx – a platform for the rapid creation of RESTful web services – we recognize that custom code will always remain part of serious data integration tasks. As developers, we already know about a concise, standardized and very well defined way to express what we want: The programming languages we use every day! Why should we have to deal with complex, unfamiliar configuration files or UI tools that still restrict us in what we can do, if it is often so much more concise and simple to just write down in code what you want to have done?

Therefore, RESTx embraces custom code: Writing it and expressing your data integration logic with it is made as simple as possible.

Let me illustrate how straight forward it is to integrate data resources using just a few lines of clear, easy to read code.

In my experience “custom code” means “undocumented code.” But leaving that mis-giving to one side.

RESTx gets us part way to the TMDM by its use of URIs.

We just have to use them as appropriate to create TMDM output for further integration with existing resources. That is we have to decide which of these URIs are subjectIdentifiers and which function as subjectLocators as part of our integration activity.

I have just started to wander around the Mule site. Feel free to suggest examples or places I need to look at sooner than others. Examples of RESTx output as topic maps would be nice! Hint, hint.

PS: I’m got a small data set I need to clean up for a post next week but I am also planning a post on URIs, simple or complex identification?

Mule ESB

Sunday, October 2nd, 2011

Mule ESB

The Mule ESB has an amusing stat line that reads: “103,000+ developers use Mule 3,200 Companies in Production 0 Headaches”

I don’t know if I believe the headache stat but if the other two are even approximately correct, this sounds like a place to be pushing topic maps.

To get the flavor of the community:

From “What is Mule ESB?

What is Mule ESB?

Mule ESB is a lightweight Java-based enterprise service bus (ESB) and integration platform that allows developers to connect applications together quickly and easily, enabling them to exchange data. Mule ESB enables easy integration of existing systems, regardless of the different technologies that the applications use, including JMS, Web Services, JDBC, HTTP, and more.

The key advantage of an ESB is that it allows different applications to communicate with each other by acting as a transit system for carrying data between applications within your enterprise or across the Internet. Mule ESB includes powerful capabilities that include:

  • Service creation and hosting — expose and host reusable services, using Mule ESB as a lightweight service container
  • Service mediation — shield services from message formats and protocols, separate business logic from messaging, and enable location-independent service calls
  • Message routing — route, filter, aggregate, and re-sequence messages based on content and rules
  • Data transformation — exchange data across varying formats and transport protocols

(graphic omitted)

Do I need an ESB?

Mule and other ESBs offer real value in scenarios where there are at least a few integration points or at least 3 applications to integrate. They are also well suited to scenarios where loose coupling, scalability and robustness are required.

Below is a quick ESB selection checklist. To read a much more comprehensive take on when to select an ESB, read this article written by MuleSoft founder and CTO Ross Mason: To ESB or not to ESB.

  1. Are you integrating 3 or more applications/services?
  2. Will you need to plug in more applications in the future?
  3. Do you need to use more than one type of communication protocol?
  4. Do you need message routing capabilities such as forking and aggregating message flows, or content-based routing?
  5. Do you need to publish services for consumption by other applications?

I am exploring the Mule site and entries for data integration in particular for those that may be of interest to topic mappers. More anon.