When working at eCircle I created an ETL system we called Custom Integrations. It used a visual programming interface which was a Single Page App. See the screenshot below:
Custom Integrations
JS GUI (click to zoom)
The backend was across several servers with modules written in Java or Perl. ZooKeeper was used to orchestrate everything. Modules that could be, were executed in parallel.