Mule ESB Example: Imperial Manufacturing

Ryan Hoegg
I do software integration for Confluex, and I care about my craft. My persuasions are agile methods, REST APIs, empirical progress, dynamic languages, NoSQL databases, open source libraries, Theory Y management, and spare documentation.
Ryan Hoegg
Ryan Hoegg

Latest posts by Ryan Hoegg (see all)

Ryan Hoegg

From time to time, I have wished I had an example of a particular technique I wanted to use in Mule ESB. Those wishes never seemed to come true. So some of the Confluex developers and I decided to make one, and begin creating a series of example projects – a Mule cookbook.
Our first example is the Imperial Manufacturing example. (See our quick guide for help using git with Mule Studio) It is a Mule 3.3 CE application that exposes a simple RESTful web service using the Jersey module. It validates requests using an XML schema, then calls a java SDK, and updates a database using JDBC.

Screen Shot 2013-01-31 at 3.00.13 PM

The API that this application demonstrates provides a REST service that accepts orders for droids. These orders are represented as XML documents that must conform to an XML schema:


When the request is received, information from the request is used to call an SDK provided by the droid manufacturing plant. Each of the items is then inserted into the order database so that the finished products can be delivered to their intended destinations.

IG-88 Specifications

IG-88 Assassin Droid, from rpgplanet.com

Key Concepts

  • Provides a REST web service using the Jersey module and JAXB for XML parsing and generation
  • Validates incoming XML requests using XML Schema, and returns a 400 status code when invalid
  • Calls a java SDK using spring with information from the request
  • Updates a database using the JDBC transport
  • Automatically tests each of these things using FunctionalTestCase with an in-memory database and mock objects

There are no comments yet, but you can be the first



Leave a Reply



Twitter Feed

Latest Confluex Tweets


©2014 Confluex, Inc. All Rights Reserved.