Part of JobScheduler implementation project, one of our customer have 50+ of trading partners, customers and vendors. Each one of them exchanges about 100 files between them. To automate all file exchange to/from we have applied a solution using JobScheduler + YADE on Linux server.
The local file system where YADE is running has folders and sub folders per department, per user/project/vendor etc. YADE is configured to transfer files matching regular expressions, size etc. from/to those folders. JobScheduler holds the time and event scheduling information. Thus i.e. if a vendor places a new report, e.g. daily_new_customer_20140207.xls, on their FTP/sFTP server daily at 06:00, then the YADE is configured to start polling the target server starting from 06:00 for the next 2 hours with a frequency of 5 minutes until the file is successfully downloaded or the file is not found. As soon as YADE finds file(s), YADE will download them into the folders, e.g. /data/inbound/marketing/CustRes/daily_report/, the folder /data is exported as a shared drive over Samba. The users have mounted the share to their workstations. The user management, i.e. access to particular folders, is controlled using Active Directory.