---
title: "FlowForce Serverによる、不適切な入力データの処理・改善"
date: "2013-06-18"
categories: 
  - "data-integration"
tags: 
  - "data-mapping"
  - "diffdog"
  - "flowforce-server"
  - "mapforce"
  - "mapforce-server"
  - "reporting-tool"
  - "stylevision-server"
description: FlowForce Serverが、データ変換処理中に発生する不正な入力データをどのように効果的に管理するかについて、詳しく解説します。また、エラー処理の実装方法や、ワークフローの整合性を維持するための方法についても学びます。
---
Status: #blog

Tags:  #data-mapping #diffdog #flowforce-server #mapforce #mapforce-server #reporting-tool #stylevision-server

Categories: [data-integration](/blog/ja/category/data-integration.md)
# FlowForce Serverによる、不適切な入力データの処理・改善

外部ソースからデータを受け取る際には、常にエラーが発生するリスクがあります。この現象については、過去にブログ記事「[予期せぬ事態への備え：Altova MissionKitが数値フォーマットの謎を解決](https://www.altova.com/blog/2013/01/expect-unexpected-altova-missionkit.html)」や、「[Groupon APIの処理](https://www.altova.com/blog/2011/11/processing-groupon-api-epilogue.html)」というシリーズの記事で取り上げています。

入力ファイルに不正なデータが含まれている場合、FlowForce Serverジョブのデータ変換処理が失敗する可能性があります。FlowForce Serverジョブが失敗すると、それ以降の処理は実行されません。これは、FlowForce Serverが、あるジョブの処理で発生したエラーが、さらに多くの不正な結果を引き起こすのを防ぐように設計されているためです。幸いなことに、FlowForce Serverには、エラーからの復旧を支援し、運用を継続するための機能も備わっています。

この投稿では、さらにその内容を詳しく解説します [データマッピング](https://www.altova.com/ja/mapforce.html) そして [レポートの生成](https://www.altova.com/ja/stylevision.html) 記載されている職務内容 [FlowForceサーバージョブのカスタマイズ方法](https://www.altova.com/blog/2013/05/customizing-flowforce-server-job.html) 入力ファイルに含まれる不正なデータを、適切かつスムーズに処理する。

![FlowForceサーバーにおける新しいジョブのステップ](https://lh5.ggpht.com/-qFEC3krCZnI/UZ59cniYPkI/AAAAAAAABLQ/etSQ4sR40i8/image%25255B2%25255D.png?imgmax=800 "FlowForce Server New Job Steps")
<!--more-->
まず、不良データを含むファイルのバリエーションを作成し、ワークフローにフォルダを追加しました。このフォルダは、不良な入力ファイルを格納する場所として機能します。
![外部からの入力ファイルには、不良データが含まれている可能性があります。](https://lh5.ggpht.com/-Da_p4mjICRg/UZ59czWzpgI/AAAAAAAABLU/erWMFKC5K0A/image%25255B5%25255D.png?imgmax=800 "An input file from an outside source could contain bad data")

問題のある入力ファイルは、既存の入力ファイルをコピーし、DiffDogを使って編集することで作成しました。

入力された.csvファイルにおける最初の数値列は、時間、分、秒、およびミリ秒を表すタイムスタンプです。私たちは、単に14行目と15行目の値を、24時間という最大値を超えないように修正しました。

![DiffDogで表示された、.csvファイル内の不正なデータ](https://lh4.ggpht.com/-iHryhaFMxgU/UZ59dZCM0qI/AAAAAAAABLg/JRAe5n7rrNM/image%25255B8%25255D.png?imgmax=800 "Bad data in a .csv file, as seen in Altova DiffDog")

私たちはMapForceを起動し、不良データが含まれるファイルを、CameraLogからGPX形式への変換処理の入力ファイルとして指定しました。変換処理を実行するために「出力」ボタンをクリックしたところ、以下のエラーが発生しました

![MapForceは、不正な入力データに遭遇した場合、エラーメッセージを生成します。](https://lh4.ggpht.com/-Nzf-kx12SLc/UZ59dtw_ExI/AAAAAAAABLk/szX6LioH3qA/image%25255B11%25255D.png?imgmax=800 "MapForce generates an error message when encountering bad input data.")

**FlowForceサーバーにおけるジョブ処理手順とエラー処理**

次に、FlowForce Serverのジョブの新しいバージョンを定義し、エラー/成功処理のステップ内で入力データを処理するようにしました。データマッピングが失敗した場合、問題のある入力ファイルと、部分的に書き込まれた.gpxファイルを「問題データ」フォルダに移動します。データマッピングが成功した場合は、.htmlレポートを生成するための変換処理を行い、その後、入力ファイルと.gpxファイルを「完了済み作業」フォルダに移動します。

「エラー処理」セクションの最後のステップにご注意ください。データマッピングのエラーが発生すると、ファイルごとに処理を行うループの実行が停止します。そのため、未処理の入力ファイルが残っている場合に備えて、ジョブ全体を再帰的に呼び出し、処理を完了させます。

![FlowForce Serverを使用すると、エラー処理を含むジョブを定義することができます。](https://lh3.ggpht.com/-SVwuKjXou6s/UZ59d2lNJdI/AAAAAAAABLo/HpC88Ss0uT4/image%25255B14%25255D.png?imgmax=800 "FlowForce Server lets you define jobs with error handling steps.")

もしデータマッピングのエラーが企業にとって重大な問題であり、緊急の対応が必要な場合は、エラー発生時にメールを送信するための処理を、エラー処理セクション内に追加することも可能です

![FlowForce Serverは、エラーが発生した場合に、電子メールを送信することができます。](https://lh3.ggpht.com/-sD65xRrwH7s/UZ59eZCfw6I/AAAAAAAABLw/VXWcgHqu4HI/image%25255B17%25255D.png?imgmax=800 "FlowForce Server can send an email message when an error occurs.")

もちろん、宛先、件名、本文、および添付ファイルに関する項目は、すべて自由に設定できます。

データマッピングの処理が正常に完了した場合、FlowForce Serverは「成功時」の処理を実行し、その後、HTMLレンダリングのジョブ処理に進みます。

**ジョブの実行**

このジョブは、設定された時間に基づいて実行され、FlowForceサーバーのログには、各実行ステップが記録されます。以下に示すログの抜粋では、不正なデータが入力されたファイルがどのように処理されるかを確認できます。シーケンスの3行目にエラーが表示され、その後、入力ファイルと一部生成された.gpxファイルが、"badData"というフォルダに送られます。

![FlowForce Serverのジョブログには、エラーの内容と、その復旧手順が記載されています。](https://lh5.ggpht.com/-9v12-b5ARaY/UZ59eqs0J7I/AAAAAAAABL8/GJx3SNMMfzw/image%25255B20%25255D.png?imgmax=800 "FlowForce Server Job Log shows error and recovery steps.")

上記の最後の行は、サーバーがフォルダ内の次の入力ファイルでの処理を開始したことを示しています。

処理が完了すると、作業フォルダの内容に期待される結果が表示されます

![処理後、不良データや不完全な結果は、専用のフォルダに送られました。](https://lh4.ggpht.com/-0Nz9ZXQJsoE/UZ59e2pCsKI/AAAAAAAABME/K7xeHxhZYLs/image%25255B23%25255D.png?imgmax=800 "After processing, the bad data and incomplete results were sent toa special folder.")

**FlowForce Serverは、Windows、Linux、そして近いうちにMac OSのプラットフォームで利用可能です。お試し版を始めたい方は、** [**こちらをクリックして、無料トライアル版をダウンロードしてください**](https://www.altova.com/ja/download-trial-server.html)**！**
