FlowForce Serverでデータ変換を自動化します
Altova社は、専用の高速サーバーによって実行されるデータ変換を、包括的な自動化、管理、および制御を提供するために、FlowForce Serverを開発しました。 FlowForce Server Beta 3は、現在、MapForce Enterprise版およびProfessional版のユーザーが、ベータテスト期間中、無料で利用できます。 FlowForce Serverは、データマッピングの自動化機能を提供し、詳細なアクティビティログを保持しています。ユーザーは、Webブラウザ上でリモートでこれらのログを監視することができます。 以下に示されたスクリーンショットは、FlowForce Serverが実行されている際のログを表示しています MapForce ブログ記事「データマッピング:CameraLogToGPX」でご紹介した内容です 複数の入力ファイルを、単一のデータマッピング処理でまとめて処理する. このマッピングでは、ワイルドカードを使用して、処理対象となる複数の入力ファイルを指定していました。

FlowForce Serverでは、このようなジョブの設定、実行、および結果の確認にかかる時間はわずか数分です。
ワイルドカードとホットフォルダ:どちらを使うべきか? ワイルドカードとホットフォルダは、データ変換ワークフローの複雑さを増し、それらを効果的に使用するには、慎重な計画が必要です。ここで、実現したいシナリオについてもう少し詳しく見ていきましょう。ある自然とハイキングガイドを出版する会社のIT部門であると仮定します。私たちは、トレッキングに出かけ、デジタルカメラのGPS追跡機能を使って移動ルートを記録する写真家を雇用しています。私たちは、これらのカメラのGPSログファイルを、地図作成やその他の処理のために、XMLベースの.gpx形式に変換したいと考えています。そこで、写真家がGPSログファイルをアップロードできるネットワーク上のフォルダを公開します。このフォルダをFlowForce Serverが監視し、CameraLogToGPXによる変換の入力データとして使用します。各入力ファイルを一度だけ処理すれば十分です。したがって、データ変換が完了したら、入力ファイルをホットフォルダから削除できます。また、出力ファイルを別のフォルダに配置したいと考えています。これらの要件を踏まえると、FlowForce Serverのジョブは以下のステップで構成されます
- 「ホットフォルダ」を確認し、新しい入力ファイルが到着しているかどうかを確認してください
- 入力ファイルに対してデータマッピングを実行し、出力ファイルを別のフォルダに保存してください
- 入力ファイルを、永続的に保存できる場所に移動してください
以下に、ワークフローで使用できるフォルダ構成の図を示します。この構成では、処理のために「ホットフォルダ」にファイルを配置する準備が整っています

ホットフォルダは C:CameraGPShotFolder であり、生成された .gpx ファイルは C:CameraGPSoutputFiles に配置されます。データマッピングが完了すると、入力ファイルは C:CameraGPScompletedInput に移動されます。
サーバーへのマッピングの展開 MapForce Beta は、FlowForce Server のコンポーネントであり、MapForce と同様の機能を提供し、さらにマッピングファイルを FlowForce Server に展開する機能を追加しています。既存のデータマッピングは、展開のために特別な準備をほとんど必要としません。考慮すべきは、入力ファイルと出力ファイルのファイル名のみです。FlowForce Server に対して、処理のためにホットフォルダに新しいファイルが到着すると、入力ファイル名をジョブパラメータとして提供するように指示します。元のマッピングでは、入力コンポーネントにワイルドカードファイル名が割り当てられていましたが、これは不要になりました。また、FlowForce には、出力ファイルの場所を指定させる必要があります。MapForce Beta でマッピングを開き、入力コンポーネントからファイル名を削除し、出力ファイルに「フォルダを削除する」パス関数を追加することで、FlowForce Server が宛先を設定できるようになります。以下のスクリーンショットは、マッピングにおける新しいファイル名定義を示しています。

マップフォースのベータ版ダイアログで、マッピングを適用する際に、Webブラウザ上でフローフォースサーバーのジョブ定義ウィンドウを直接開き、ジョブの操作定義を完了することができます。

FlowForce Serverにおけるジョブの定義 以下のスクリーンショットは、FlowForce Serverのジョブ設定ウィンドウに定義された、ジョブのすべてのステップを示しています

ジョブのトリガーは、ウィンドウの最下部に定義されています。FlowForce Serverは、30秒ごとに監視フォルダをチェックします。内容が変更された場合、FlowForce Serverはジョブの手順を実行します。各実行手順は、デプロイされたMapForceのマッピング、システム手順、または別のFlowForce Serverのジョブである可能性があります。監視フォルダに新たに追加されたファイルのファイル名が、というパラメータとして定義され、マッピング手順では入力ファイル名として、移動手順では移動するファイル名として使用されます。マッピング手順における「作業ディレクトリ」パラメータは、出力ファイルが配置される場所を定義します。FlowForce Serverには、ジョブの自動実行および停止時間の設定、ユーザー権限とロール、およびジョブの実行間隔の最小時間と、ジョブの同時実行インスタンス数の最大値を定義するためのキュー設定などの機能も含まれています。今回のシナリオでは、写真家からのメモリカードからコピーされた複数の入力ファイルがまとめて受信される可能性があります。複数の並行実行は、処理能力を大幅に向上させることができます。一般的に、FlowForce Serverを実行しているマシンのコア数またはCPU数に合わせて、並行実行数を設定すると良いでしょう。

ジョブログの確認
FlowForce Serverがジョブを実行するたびに、この投稿の冒頭にある図に示されているログビューに6行が追加されます。最初の行と最後の行は、ジョブの開始と完了を記録し、各実行ステップはそれぞれ開始時と完了時にメッセージを生成します。「completed with status: 0」というメッセージは、そのステップがエラーなく正常に完了したことを意味します。

各実行ステップの詳細なレポートを表示するには、「詳細」リンクをクリックできます。以下に、MapForceのマッピング実行ステップに関するメッセージのスクリーンショットを示します

ホットフォルダにファイルが一つずつ投入されるたびに、FlowForce Serverは個別のジョブインスタンスを生成します。複数のファイルをまとめて投入した場合でも、個々のファイルに対してジョブが実行されます。これにより、エラーが発生した特定の入力ファイルを容易に追跡できます。
今回、ホットフォルダに4つのファイルを投入したところ、FlowForce Serverは4つのジョブを実行し、出力フォルダの内容は以下のようでした
