SFTP против SOAP вызова для передачи файлов - PullRequest
5 голосов
/ 31 мая 2011

Я должен передать некоторые файлы третьей стороне.Мы можем изобрести формат файла, но хотим сохранить его простым, как CSV.Это не будут большие файлы - не более нескольких десятков МБ, а их не будет много - 3 файла в сутки.

Мы предпочитаем протокол sftp.Мы сделали это много в прошлом, и мы это хорошо понимаем.

Их предпочтение состоит в том, чтобы сделать это через вызов веб-службы / SOAP / https.

Причины, которые они дают, это надежность,главным образом вокруг знания того, что они полностью получили файл.

Я не покупаю это как аргумент убийцы.Вы можете легко встроить что-то в свой процесс передачи файлов, используя sftp, чтобы убедиться, что передача завершена, например, использовать верхние / нижние колонтитулы в файлах или перемещать файл между каталогами и т. Д.

Единственный другой аргумент, который я могу придуматьиз-за того, что через http (s) порты 80/443 будут открыты, поэтому для наших ребят из инфраструктуры может быть меньше работы с брандмауэром.

Можете ли вы придумать какие-либо другие аргументы в этом отношении?Есть ли консенсус в отношении того, что было бы наилучшей практикой здесь?

Заранее спасибо.

Ответы [ 2 ]

6 голосов
/ 21 июня 2011

Полнота файла является распространенной проблемой в «управляемой передаче файлов».Если вы пошли на компромиссную «лучшую практику», вы бы в конечном итоге запустили либо AS / 2 (способ веб-службы для передачи файлов, который включает в себя отказ от авторства посредством подписанных проверок целостности), либо AS / 3 (то же самое по FTPили FTPS).

Одна из проблем с целостностью файлов и SFTP заключается в том, что вы не можете произвольно расширять протокол, как вы можете использовать FTP и FTPS.Другими словами, вы не можете добавить команду XSHA1 к вашей передаче SFTP только потому, что вы этого хотите.

Да, есть другие обходные пути (например, транзакционные файлы, которые содержат хэши полученных файлов), но в конце дня кому-то придется выполнять какую-то работу ... но на самом деле это не должно бытьжесткий.

Если третье лицо, с которым вы разговариваете, на самом деле не имеет вызова не-веб-службы для приема больших файлов, вы можете стать их подопытным кроликом, когда он пытается ориентироваться в совершенно новом мире.(Или, возможно, они только что запустили все свои передачи и не просто осознают, что мир не работает на SOAP ... пока - видимо, это тоже случается.)

В любом случае, если они НЕ ДАЮТ вамволшебный код / ​​утилита / что угодно, чтобы сделать для них транзакцию файл-SOAP (и это тоже случается), я бы придерживался ваших пушек sftp, пока они не найдут подходящего парня на своем конце, чтобы говорить о массовых передачах данных.

2 голосов
/ 31 мая 2011

sftp - это протокол для передачи файлов, мыло - это протокол для выполнения методов удаления (включая веб-сервисы), не имеющих отношения к передаче файлов.

, что будет моим аргументом, sftp - это инструмент для работы

...