I have a "pipeline" sort of process that is essentially just linking together a bunch of existing tools to automate a workflow. For one of the steps, there is an existing command-line tool that already does the meat of what that step needs to do.
The external CLI tool is java-based, and so is my pipeline, so it would be possible to integrate the tool directly into the pipeline step, but the tool is very complex and is currently closely tied to having command-line input (something like 37 config flag options).
The question is: Is it a better idea to simply call out and invoke the external process, or would it be better to integrate the external code within my application?
What are the pros / cons of integrating vs. calling the external process?