Das Programm benötigt also eigentlich keine
GUI, sondern kann als Schedule laufen bzw. manuell angeworfen werden.
Wenn Du Interfaces für verschiedene Datenquellen baust, solltest Du eine "horizontale und vertikale" in Betracht ziehen.
Das wäre erstmal sowas wie ORADB, LDAP,
FTP,
CSV
Eine Datenquelle, die meinetwegen Klasse
FTP ist (aus Anwendersicht), wird nach dem Down/Upload dann zu
CSV weiterreichen.
Auf der Zielseite bietet sich eine oder mehrere Schnittstellentabellen an. Sie nimmt die Daten auf, kann sie prüfen, ablehnen, final importieren bzw. verteilen.