Eu tenho um tipo de processo de "pipeline" que é basicamente vincular várias ferramentas existentes para automatizar um fluxo de trabalho. Para uma das etapas, existe uma ferramenta de linha de comando existente que já executa o que a etapa precisa fazer.
A ferramenta CLI externa é baseada em java, assim como o meu pipeline, portanto, seria possível integrar a ferramenta diretamente na etapa do pipeline, mas a ferramenta é muito complexa e atualmente está intimamente ligada à entrada na linha de comando (algo como 37 opções de sinalizador de configuração).
A pergunta é: é uma idéia melhor simplesmente chamar e chamar o processo externo, ou seria melhor integrar o código externo no meu aplicativo?
Quais são os prós / contras de integrar vs. chamar o processo externo?