HULFTとFTPの違いをわかりやすく解説!ファイル転送ソフトの活用意義とは?

HULFTを導入する上で必ずと言っていいほど1度は話題になるのが、

FTPやSFTPといったOS標準のファイル転送機能と比較して何がいいのか?

といったHULFTを選定する理由について。

なぜあえてHULFTを入れる必要があるのか?

FTPやSFTPといったファイル転送プロトコルを利用すれば良いのではないか?

という話題です。

このよく聞く話題について、今回はHULFTとFTP・SFTPの違いを比較しながら、HULFTを導入する意義を考えてみようと思います。

HULFTとFTP・SFTPの大きな違いとは?

HULFTはセゾン情報システムズが開発している商用ソフトですが、FTPやSFTPはWindowsでもLinuxでも標準で導入できるパッケージに含まれています。

よってOS標準の機能で実装したいならFTPやSFTPを利用すれば良いのです

しかし、ここでいくつかの問題が発生します。

FTPやSFTPで通信をファイル転送を行う場合、実装する為にいくつかの壁を乗り越えなければならなくなります。

その壁と言うのはだいたい以下です。

ファイル転送で乗り越えるべき壁
  1. 転送ファイルの整合性保証
  2. セキュリティ面
  3. ファイル転送時の認証
  4. コード変換
  5. ファイル転送前後処理
  6. エラー通知方法
  7. 障害対応方法
  8. リラン方法

上記のような問題をクリアするために設計が必要ですが、相手ありきの話になるのでなかなかクリアできない事が多いわけです。

社内システムやローカル動作するシステムなら大丈夫でしょうが、社外相手となるとハードルが一気に高くなりがちです。

特に近年はセキュリティ面が注目を集めている事から、FTPやSFTPを利用するなら当然セキュリティ強化が求められます。

少し話がずれますが、セキュリティという観点に立つと平文通信のFTPはまずNGになります。

通信経路に暗号化がかかっていれば別ですが、FTP自体は一切のセキュリティ対策はなされていない為、通信をキャプチャする事で簡単に内容を傍受する事ができます。

この事実は結構な問題で、FTPの中には当然ユーザー情報やパスワード情報というものも含まれる事から、相手サーバー自体にログインする情報も漏洩し更なるセキュリティ事故を呼び起こす可能性があります。

SSHをベースとしたSFTPを利用すれば、セキュアシェルベースの通信となり、ユーザー情報やパスワード情報も暗号化、更に相手サーバーとも鍵認証による接続が必要となる事から多少の安心感があります。

しかし、その他にもファイル内容に対する制御や接続情報の取り決め、1次局や2次局の決定、選考後続ジョブとの連携など様々な面で新たな課題をクリアする必要があります。

しかしHULFTであれば、上述したような問題点に対する設定値が存在する為、HULFTの設定値を頼りに設計を行う事で、自動的に上述した問題に対する答えが選択肢として用意されているわけです。

よってHULFTとFTP・SFTPとの大きな違いとは

ファイル転送における課題をクリアできる機能が用意されているか否か

という事になります。

HULFTが持っているファイル転送ソフトに最も必要な機能とは?

ファイル転送を行うにあたって最も大切なこと。それは

ファイルが無事に相手に届き、正常な状態で引き渡せる事

になります。

ファイル転送を行った結果、

データ内容に欠落があったとか、一見すると正常に通信ができたように見えても実は壊れていた。

なんて事象が発生すれば、ファイル転送機能としては致命的ですし、業務に多大な影響を与える事になります。

FTPやSFTPというのはデータが送受信できた事は保証していますが、ファイルの整合性については保障されていない為、

ファイル転送した後にはチェックサムによる確認を行うか、更にファイルのやり取りを行う事で整合性を確かめるといった処置が必要となります。

しかし、HULFTはファイル転送前後の整合性を確認する機能を保持している為、ファイル転送が完了すれば必然的に正常なデータが届いている事が保証されます。

これだけでもHULFTを利用する価値があるというものです。

HULFTとFTPの機能差

上述した大きな違い以外にもHULFTとFTP・SFTPには以下のような機能の違いがあります。

大まかに課題になりそうな事項に関する機能面をまとめてみましたので、参考にしてみてください。

機能 FTP SFTP HULFT
転送暗号化 不可(平文による転送) セキュアシェルによる暗号化 複数の暗号化方式から選択可
通信利用ポートのデフォルト値 20番ポート
21番ポート
22番ポート 30000番ポート
31000番ポート
32000番ポート
認証方式 パスワード認証 公開鍵暗号方式
パスワード認証
ワンタイムパスワード
接続許可リストによる認証
ファイル転送実行方法 FTPコマンド実行 SFTPコマンド実行 HULFTコマンド実行
(utlsendやutlrecv)
ファイル転送実行前後処理 バッチやシェルによる作りこみが必要 バッチやシェルによる作りこみが必要 前後処理を起動する機能あり
特定ホストからの通信許可や
通信拒否
ログインされないように対処する必要あり ログインされないように対処する必要あり 接続許可リストによるホスト制御やファイルID単位による接続制限が可能
ファイルの整合性チェック チェックサムによる確認やファイル転送完了後の確認の仕組みを作る必要あり チェックサムによる確認やファイル転送完了後の確認の仕組みを作る必要あり HULFTプロダクトの中でファイル整合性を保証
文字コード変換 不可
(送受信後に別の仕組みが必要)
不可
(送受信後に別の仕組みが必要)
可能
(HULFTのオプション機能で可能)
スケジューラ機能 なし
(タスクスケジューラやcronなど別途検討必要)
なし
(タスクスケジューラやcronなど別途検討必要)
あり
エラー通知 OSのログに出力
(メール通知は単独では不可の為、別途設定が必要)
OSのログに出力
(メール通知は単独では不可の為、別途設定が必要)
ログ出力後、メール通知機能あり
履歴管理 なし
(履歴管理する仕組みを別構築)
なし
(履歴管理する仕組みを別構築)
あり
(集配信履歴を管理、出力する機能あり)
転送途中で切断された場合の
転送状態
エラーとなり転送チェックポイントは覚えていない エラーとなり転送チェックポイントは覚えていない エラーとなるが転送チェックポイントを保持している
リラン時の動作 ファイルの先頭から再度転送開始 ファイルの先頭から再度転送開始 転送途中から再開可能(先頭からの再転送も可能)
転送ファイルの管理 管理する仕組みを構築する必要あり 管理する仕組みを構築する必要あり ファイルID単位による管理が可能

まとめ

HULFTとFTPの違いはいかがだったでしょうか?

なるべくわかりやすいように記載したつもりですが、もし不明な点があれば遠慮なく問い合わせしてみてくださいね。

スポンサーリンク