Extending the earlier question that was asked last year : Running Mule Standalone vs Tomcat in Production
I am new to MULE as well and was wondering if we can setup a Mule standalone server to handle just the transport part and routing all inboud traffic to restful webservice ...
e.g getting a xml by SFTP from remote server and then passing it on to a restful service ... with the restful service being deployed on a Tomcat server.
We do have an existing application that runs in Tomcat, but would like to use Mule for Integration. However from what I have read so far ... deploying MULE as embedded is not recommended. Please advice.
Thanks in advance.
Mule is both an integration framework and a standalone broker: both facets are production-grade.
So there is no issue with embedding Mule in a web-app: it works just fine. I use this approach to deploy Mule applications on CloudBees and there's no issue at all.
This said, in your case, using standalone would make sense because you will be polling SFTP regularly. If you embed Mule in your web-app, assuming that you actually run more than one instance of it (production right?), you will end-up with concurrent pollings of the same remote SFTP resource.
Hence, having a single Mule Standalone performing the polling and contacting your load-balanced Tomcats over HTTP is the best architecture.