My application is currently hosting couple of RESTFul webservices using Spring 3's MVC. In my application I need to call several other components to cook up the response for a particular webservice. Currently this orchestration is being done using mule esb and apache commons chain. I am planning to introduce Spring integration to replace mule and apache chain. My question is how to incorporate it in my current architecture? More elaborately, once I get a REST request how do I create a si message and pass it to a channel? Do I need to use MessageBuilder to create the message and then use appContext.getBean(...) to get a channel and then send the message to it to start the flow from my current Controllers' code or are there any other elegant solutions?