We have a 3rd party package that communicates via files that it places into an ‘out tray’ directory which is polled via sFTP or it receieves via an sFTP to it’s ‘in tray’. I now want to use webMethods IS to replace the existing interfaces so that the information can be published to or received from a number of systems using the ESB.
My question is what is the best practice approach to poll a remote server for files using webMethods. From my reading so far I can conceive a few options with what I think are the pros/cons/questions:
- Regularly schedule a flow service that uses pub.client.ftp:get to attempt to sFTP the file and process it.
Pro: no extra infrastructure
Con: what if the FTP fails or fails halfway
Con: what if the service fails after retrieving the file
Q: How would we set up the secure connection?
- Regularly schedule a flow service that uses pub.client.ftp:get to move the file to a directory the IS can ‘see’ and use a file polling port to process
Pro: better handling of the service code failing (file polling will move to error directory)
Con: Needing to set up storage for the FTP to write to
- Use an FTP service to poll the server and transfer to a directory the IS can ‘see’ and use a file polling port to process
Con: more complicated and need to rely on other infrastructure
Pro: FTP service would likely have better error handling
Pro: webMethods IS implementation is simpler
Please can anyone advise on the best way to do this? Don’t be limited by the options above they are just my best attempt at figuring out some options