整合性が取れる状態となるまで後続の処理が実行されず、かつ、回復後の再試行により完全に1回目で成功したときと同じ状態となるのであれば再試行により助かる可能性がたかいですが、しかし、
● 回復完了前に処理が実行され、再試行時に再度送信される
● ファイル名に送受信日時や送受信連番などを含んでいるなどの原因により別のファイル名で保存され、
送受信データが予期しない(違った内容や不整合な)ものとなってしまう
● 受け取ったファイルを蓄積ファイルに追加書込みするなどの場合、多重に蓄積される
などといった状況に陥った場合、2重発注や受注を失ってしまう危険性が大です。
1回あたりの送受信ファイルの数やサイズが決して小さくなく、一日に何回も送受信を行う場合には、人手による対応は極めて困難となり、正常な状態に回復するまで大変な時間がかかります。 障害が発生したことを検知して対応を行うにしても、複数の取引先にデータを再度送受信してもらうなどをお願いするには手間とコストがかかります。
さらにこのような状況が頻繁に発生した場合には、信頼感を喪失する結果となってしまいます。
また、障害を検知できる運用システムを構築し、対応できる運用体制を維持するためにはさらに多くのコストがかかってしまいます。
2. ソリューションのビジョン
このオープントランザクショナルFTP(txpFTP)は、従来FTPをビジネスユースに利用してきたユーザを対象に、従来のFTPの利便性・接続性を確保しつつ、かつビジネスの要求に耐えうる信頼性の高いオープンソースのFTPである。
システムは、高い信頼性とデータ管理、および、後続処理の自動化を可能とする。
このシステムにより、ファイル送受信中の障害によるデータ喪失・データ重複のリスクを低くし、データ管理を明確化し、また、業務プロセスの自動化を促進する。
2.2 主要機能
2.3 仮定と依存性
本プロジェクトでは、FTPをトランザクション処理に対応させることを中心的課題ととらえる。
このため、トランザクションに直接関連しないFTPプロトコル自体の改善(FTPS対応やMD5対応、あるいは、今後に発生する改善要求)にともなう変更をできうる限り回避するため、FTPプロトコルの実装に関しては他のオープンソース(現段階では、 Apache Software Foundation の jakarta commons/net を想定)に依存し、それに付加する形でトランザクション処理に対応させる実装とする。
3. スコープと限界
3.1 初期リリースのスコープ
初期リリースでは、トランザクショナルNTFS(TxF)に対応したFTPクライアントを実現する。
3.2 次回以降のスコープ
次回以降で、
に対応していくものとする。

3.3 限界と対象外
(1) マルチプラットフォーム対応
マルチプラットフォーム対応に関しては、java (JRE 5.0以降)をベースとした(JRubyなどJRE上で動作する軽量言語を含む)実装によって実現するものとする。
よって、(たとえば一部のレガシー系のプラットフォームなどのように)javaの実行環境に対応していないもの、あるいは、該当するバージョンのjava実行環境には対応していないものは対象外とする。
ただし、トランザクショナルファイルシステムのアクセス部分については、各プラットフォームネイティブの開発環境を用いることはある。
(2) トランザクショナルファイルシステム対応
トランザクショナルファイルシステム対応に関しては、今現在各プラットフォームの対応が出揃っていない。
このため、本プロジェクトにおいて一般的と認められるプラットフォーム、トランザクショナルファイルシステムに絞って、順次対応を拡大していくものとする。
それ以外のプラットフォームでは、本プロジェクトで用意するトランザクショナルファイルシステムを利用しなければならない。このトランザクショナルファイルシステムのファイルに対しては、専用のライブラリを用いてファイルにアクセスする必要がある。
4. 業務環境
4.2 優先順位
4.3 稼働環境
このページの最終変更日 2009年2月3日