1

新しいプロジェクトで ESB (おそらく WSO2、Mule、Petals、または Service Mix) を使用したいと考えています。

ESB でうまく機能するビジネス プロセス/ワークフローがいくつかありますが、特定のシナリオで苦労しています。

基本的な要件は、受信バイナリ ファイルをいくつかの段階で処理することです。

  • 外部ツールを使用してファイルを前処理します。
  • いくつかの構成データに基づいてファイルを分割します。
  • これらの小さなファイルのそれぞれを処理して「スコア」を計算します。これらの一部は、私が作成するコードによって処理されますが、場合によっては外部ソフトウェアも呼び出されます。
  • 計算されたすべてのスコアをデータベースにロードします。これは、段階的にではなく、フローの最後に行う必要があります (主キーはファイルの処理中にのみ検出されるため)。
  • 初期ファイルをアーカイブ領域に移動します。

着信ファイルはローカル ディレクトリにドロップされます。すべてのツールがディレクトリのポーリングをサポートしているため、これは問題になりません。

ただし、私が読んだことによると、ほとんどのツールはメッセージのペイロードが簡単に読み取れることを期待しているため、ペイロードで直接処理を実行できます。私の場合、受信ファイルを使用して実際のペイロード データ (データベースに書き込む値) を生成したいだけです。

これは ESB がサポートできるパターンですか? 上記のツールを使用したこの種のデータ処理に関する記事はありますか? 他のテクノロジー/パターンを検討する必要がありますか?

これが理にかなっていることを願っています!

どうもありがとう、

ケン

4

2 に答える 2

2

WSO2 は、ファイル システム内のファイルをリッスンする機能を提供します。ただし、クエリによると、独自の形式でバイナリ ファイルを処理する必要があるようです。その場合、WSO2 ESB vfs transport[1] を使用することができ、カスタム メッセージ フォーマッタとビルダー ([2] で説明されている簡単な Java コード) を実装する必要があります。

[1] http://wso2.org/project/esb/java/4.0.0/docs/samples/transport_samples.html#Sample254 [2] http://charithwiki.blogspot.com/2010/11/how-to -write-axis2-message-builder.html

于 2011-11-18T04:37:04.627 に答える
1

これはESBで可能になるはずです。特にUltraESBでは、組み込みのファイルトランスポートを使用してこれを行うことができます。これは、デフォルトでアーカイブ領域への処理後のファイルの移動をサポートします。

UltraESBの分割および集約機能を使用して、ファイルを部分に分割し、それらを個別に処理することができます。「スコア」の生成は、JavaまたはUltraESB APIを利用してメッセージ(この場合はファイルの一部)およびその環境と対話するその他のスクリプト言語を使用して実行できます。

DBの相互作用は、データベース接続メカニズムを備えたUltraESBを使用して簡単に実行できます。さらに、UltraESBを使用してこれらの更新をトランザクションで実行できます。

ファイルが標準のCSVまたはEDI形式の場合は、csvまたはEDIサポートを使用してファイルを簡単に処理できます。これらはすべて、Javaまたは任意のスクリプト言語を使用した非常に簡単な構成を介して行われます。

[1] -http://docs.adroitlogic.org/display/esb/Transactional+ESB+use+cases+made+simple+with+the+UltraESB

[2] -http://docs.adroitlogic.org

于 2012-03-26T03:39:31.510 に答える