Calling a Mediation Route from an Integration Job

One Star

Calling a Mediation Route from an Integration Job

Components tRouteInput and tRouteOutput allow calling a job from a mediation route (i.e. ESB -> DI), but I don't see any standard component for the other way around (i.e. DI -> ESB).
What is the best way to do this?
Employee

Re: Calling a Mediation Route from an Integration Job

Hi,
Great question. DI jobs by design will start up, run to completion, and exit. By contrast, a Route will start up and run as a service until stopped while using resource pools, etc. Based on the design and runtime considerations for each type of solution, it makes sense to embed a job within a route but not the other way around.
Typically the best way to access a route from a job is through standard interfaces like JMS, SOAP, or REST. You could also use FTP, File, or other options if they made more sense for your need.
I hope that helps.
Best Regards,
Ben
One Star

Re: Calling a Mediation Route from an Integration Job

I see.
In our case we both have inbound JMS and outbound JMS for Talend MDM.
Inbound JMS messages must be handled by Talend ESB and passed to DI through cTalendJob.
I would like to make Talend ESB also handle outbound JMS messages, for homogeneity both in the development and the JMS configuration. The sequence DI > > ESB > doen't really make sense, I suppose in my case using Talend ESB for outbound JMS is not recommended, and homogeneity in our development with symmetric inbound and outbound ESB connectors is unfortunately not possible...
Employee

Re: Calling a Mediation Route from an Integration Job

The only way around this would be to link the two using a Camel VM component with an embedded Camel producer in the job. I don't think R&D has provided this as a DI component because it would promote a brittle solution architecture - you couldn't move your jobs out of the Talend Runtime and execute them elsewhere.
Based on the little bit I can see of your requirements, it sounds like you should stick with tMOMOutput (or whatever you're currently using) from DI.
That being said, I completely understanding wanting to stay in Mediation/Routes as much as possible Smiley Happy
Best Regards,
Ben
One Star

Re: Calling a Mediation Route from an Integration Job

I see your point about a Camel VM DI component. But the component documentation could mention that this is reserved for collocated routes, and that a distributed protocol such as JMS should be considered for distributed architectures.
Many thanks for your help.