FlowForce Serverによる、不適切な入力データの処理・改善
外部ソースからデータを受け取る際には、常にエラーが発生するリスクがあります。この現象については、過去にブログ記事「予期せぬ事態への備え:Altova MissionKitが数値フォーマットの謎を解決」や、「Groupon APIの処理」というシリーズの記事で取り上げています。
入力ファイルに不正なデータが含まれている場合、FlowForce Serverジョブのデータ変換処理が失敗する可能性があります。FlowForce Serverジョブが失敗すると、それ以降の処理は実行されません。これは、FlowForce Serverが、あるジョブの処理で発生したエラーが、さらに多くの不正な結果を引き起こすのを防ぐように設計されているためです。幸いなことに、FlowForce Serverには、エラーからの復旧を支援し、運用を継続するための機能も備わっています。
この投稿では、さらにその内容を詳しく解説します データマッピング そして レポートの生成 記載されている職務内容 FlowForceサーバージョブのカスタマイズ方法 入力ファイルに含まれる不正なデータを、適切かつスムーズに処理する。

まず、不良データを含むファイルのバリエーションを作成し、ワークフローにフォルダを追加しました。このフォルダは、不良な入力ファイルを格納する場所として機能します。

問題のある入力ファイルは、既存の入力ファイルをコピーし、DiffDogを使って編集することで作成しました。
入力された.csvファイルにおける最初の数値列は、時間、分、秒、およびミリ秒を表すタイムスタンプです。私たちは、単に14行目と15行目の値を、24時間という最大値を超えないように修正しました。

私たちはMapForceを起動し、不良データが含まれるファイルを、CameraLogからGPX形式への変換処理の入力ファイルとして指定しました。変換処理を実行するために「出力」ボタンをクリックしたところ、以下のエラーが発生しました

FlowForceサーバーにおけるジョブ処理手順とエラー処理
次に、FlowForce Serverのジョブの新しいバージョンを定義し、エラー/成功処理のステップ内で入力データを処理するようにしました。データマッピングが失敗した場合、問題のある入力ファイルと、部分的に書き込まれた.gpxファイルを「問題データ」フォルダに移動します。データマッピングが成功した場合は、.htmlレポートを生成するための変換処理を行い、その後、入力ファイルと.gpxファイルを「完了済み作業」フォルダに移動します。
「エラー処理」セクションの最後のステップにご注意ください。データマッピングのエラーが発生すると、ファイルごとに処理を行うループの実行が停止します。そのため、未処理の入力ファイルが残っている場合に備えて、ジョブ全体を再帰的に呼び出し、処理を完了させます。

もしデータマッピングのエラーが企業にとって重大な問題であり、緊急の対応が必要な場合は、エラー発生時にメールを送信するための処理を、エラー処理セクション内に追加することも可能です

もちろん、宛先、件名、本文、および添付ファイルに関する項目は、すべて自由に設定できます。
データマッピングの処理が正常に完了した場合、FlowForce Serverは「成功時」の処理を実行し、その後、HTMLレンダリングのジョブ処理に進みます。
ジョブの実行
このジョブは、設定された時間に基づいて実行され、FlowForceサーバーのログには、各実行ステップが記録されます。以下に示すログの抜粋では、不正なデータが入力されたファイルがどのように処理されるかを確認できます。シーケンスの3行目にエラーが表示され、その後、入力ファイルと一部生成された.gpxファイルが、"badData"というフォルダに送られます。

上記の最後の行は、サーバーがフォルダ内の次の入力ファイルでの処理を開始したことを示しています。
処理が完了すると、作業フォルダの内容に期待される結果が表示されます

FlowForce Serverは、Windows、Linux、そして近いうちにMac OSのプラットフォームで利用可能です。お試し版を始めたい方は、 こちらをクリックして、無料トライアル版をダウンロードしてください!