EIP / File Transfer


EIP

File Transfer (ファイル転送)

要約

  • ファイル転送は、様々な言語やプラットフォームに使用できる共通のデータ転送メカニズム。
  • インテグレータは必要に応じて他のアプリケーションに必要な変換を扱うことができ、アプリケーションはお互いに切り離される。
  • ファイル転送の最も明白な問題の一つは、更新が稀に発生する傾向があるということであり、結果として、システムが同期されていないことが起こり得る。
  • 要件に応じて共有データベース、リモートプロシージャ呼び出し、メッセージングを使い分けること。

詳細

  • 統一され一貫した方法で最初から設計されたソフトウェアなど想像することはできない。
  • 購入されたパッケージ、異なる時期の異なる技術、開発経験の異なる人々によって、システムは開発され、どのように共有するかを腐心する必要がある。
  • ファイル転送は、様々な言語やプラットフォームに使用できる共通のデータ転送メカニズムである。
  • それぞれのアプリケーションは、他のアプリケーションが使用するために必要な情報を含むファイルを持つ。また、インテグレータは、別の形式にファイルを変換する責任を負い、ビジネスの性質に応じて定期的にファイルを生成する。
  • ファイルの形式は重要だ。ビットの整列を行う必要があることがある。また、ファイルを使用するアプリだけでなく、その上で動作する処理ツールも利用できるものでなければならない。
  • メインフレームは、COBOLのファイルシステム形式に基づく。Unixシステムは、テキストベースのファイルを使用する。現在の流行は、XMLを使用する。
  • ファイルの持つもう一つの問題は、それらを生成して消費する時だ。一定の労力(コスト)がかかるため、あまり頻繁にファイル転送は使用したくない。
  • 一般的に、四半期ごと、週ごと、夜間など、通常は駆動する、いくつかの定期的なビジネスサイクルを持っており、その時にアプリケーションが使用される。
  • ファイルの大きな利点は、インテグレータはアプリケーションの内部の知識を必要としないということ。パッケージが使用されている場合は、選択肢が限定されることが多くあるが、ファイルの内容と形式は、インテグレータで取り決めることができる。
  • インテグレータは必要に応じて他のアプリケーションに必要な変換を扱うか、そのまま、受け手のアプリケーションに任せることができいる。このため、アプリケーションがお互いに切り離されている。そして、他のアプリケーションに影響を与えることなく、自由に内部の変更を行うことができる。つまりファイル転送は、インタフェースの役割を効果的に果たす。
  • ファイル転送は余分なツールやパッケージを必要としないことではあるが、それはまた開発者が多くの仕事をしなければならないということでもある。
  • アプリケーションは、ファイル命名規則と配置されるディレクトリの戦略を実装し、同意しなければならない。
  • アプリケーションは、古いファイルを削除するために、不要になり古くなった時が分かるように取り決めておく必要がある。また、ロックの機構を実装したり、書き込み中に読み込むことがないようにタイミングの規則に従う必要がある。
  • ファイル転送の最も明白な問題の一つは、更新が稀に発生する傾向があるということです。その結果として、システムが同期されていないことが起こり得る。
  • ある場合には、同期の欠如は大したことではない。コンピューター間のタイムラグを人々は推測できる。他の場合には、問題にあることがある。ファイルを提供するタイミングは、消費者の要求を捉える必要がある。
  • 実際には、古い情報の最大の問題は、まったく正しくないデータを使う、ソフトウェア開発スタッフ自体であることもよくある。(山下「どこら辺が大きな問題なのか分からず」→:. If a customer changes his address on the same day with two different systems, but one of them makes an error and gets the wrong street name, you'll have two inconsistent addresses for a customer.)
  • メッセージングをアプリケーション内のすべての変更を含むファイルを生成するファイル転送と考えることができるが、すべてのファイルを生成し、すべて読み取りが失われないように保障して管理することは、ファイルベースのできることを超えている。
  • より迅速にデータを利用でき、そしてデータフォーマットの合意セットを強制するには、共有データベース。
  • データよりもむしろアプリケーションの機能を統合するには、リモートプロシージャ呼び出し。
  • リモート機能を呼び出すために使用される少量のデータの頻繁な交換を有効にするには、メッセージング。