ディレクトリ ポーリング ジョブを作成する

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  ジョブの構成の例 >

ディレクトリ ポーリング ジョブを作成する

この例は、FlowForce Server 内で作成されたファイルシステムトリガーを使用してディレクトリ内の変更をモニターする方法について説明しています (以下も参照してください: ファイルシステムトリガー )。 新規 XML ファイルがディレクトリに追加されると、 FlowForce Server は、 XML ファイルを入力パラメーターとして取るマッピングジョブを実行します。 マッピングジョブの出力は、アーカイブディレクトリに移動されます。

 

必要条件

必須のライセンス: MapForce Enterprise または Professional エディション、 MapForce Server、または、 MapForce Server Advanced Edition、および FlowForce Server。
FlowForce Server が構成された ネットワークアドレスとポートで動作していること (以下を参照: ネットワークアドレスとポートの設定)
コンテナーの1つでパーミッションを有する FlowForce Server ユーザーアカウントを有していること  (デフォルトでは、 /public コンテナー には、認証されたユーザーがアクセスすることができます)。
この例内で作成されたマッピングジョブは、ファイルを1つのディレクトリから他のディレクトリに移動します。 ですから、 FlowForce Server が作動するオペレーティングシステム は、両方のディレクトリが存在し、2つのディレクトリ内にファイルを作成する権利があることを保証します。 (この例では、以下を使用します C:\temp と C:\archive ディレクトリ )。

 

使用されるデモファイル

ShortApplicationInfo.mfd — FlowForce Server ジョブを作成する MapForce マッピング
ApplicationsPage.xml — マッピングに入力として与えられる XML インスタンスファイル。

 

MapForce がインストールされているマシン上の次のパスで両方のファイルを見つけることができます: <Documents>\Altova\MapForce2019\MapForceExamples\

 

マッピングとは

このサンプル(ShortApplicationInfo.mfd) で使用されている MapForce マッピングは、以下のとおりです。 FlowForce Server からの観点では、XML ファイルと入力としてマッピングが取り XML ファイルを出力として生成することが重要です。

 

マッピングは XML ファイル (ApplicationsPage.xml) を他のスキーマに変換し、 ShortInfo.xml として保存します。一番上の接続を確認するとマッピングは簡単に理解することができます: ソース内の各アイテムのために、ターゲット内で情報アイテムが作成されます。対応する子アイテムから値をコピーするために他の接続は使用されます。 特定の関係がある項目は点線で接続されています。MapForce 内では、この接続は「ソース優先」と呼ばれ、サブセクションが複合型コンテンツを含むために使用されます。

ff_map_ShortApplicationInfo

ShortApplicationInfo.mfd

ソースとターゲット XML スキーマの名前はそれぞれ SectionedPageShortInfo であることに注意してください。下に示されるように、 FlowForce ジョブは FlowForce Server にデプロイ後も同じ名前の入力と出力パラメーターを持ちます。

 

FlowForce Server にマッピングをデプロイする

FlowForce Server にデプロイする前にマッピング ShortApplicationInfo.mfd は特別なな準備を必要としません。ソースとターゲットコンポーネントが XML ファイルのため、FlowForce Server にデプロイされるパッケージに自動的に含まれます。

 

FlowForce にマッピングをデプロイするには、MapForce 内で開きメニューコマンド「ファイル | Deploy to FlowForce Server にデプロイする」を実行します。

ff_deploy_ShortApplicationInfo

FlowForce Server が異なるホストとポートで作動する場合、詳細を適宜変更してください。 ネットワーク設定の定義も参照してください。

 

ディレクトリポーリングジョブを作成する

FlowForce Server にマッピングをデプロイ後、ブラウザーが開かれジョブ作成ページがロードされます。下に説明されているように最初の実行ステップは自動的に作成され、前にデプロイされたマッピング機能が呼び出されます。ターゲットコンポーネント (ShortInfo) と同じ名前が出力パラメーターに与えられていますが、ソース MapForce コンポーネント(SectionedPage)と同じ名前があたえられていることに注意してください。

ff_dir_01

 

ジョブを次のように構成します:

 

1.作業ディレクトリ ボック内で、このパスに適用することのできる 作業ディレクトリのパスを入力します。この例は、作業ディレクトリとして C:\temp を使用しています。

作業ディレクトリとは、ジョブが入力ファイルを展開、または、出力ファイルを保存する場所が必要な場合の、実行ステップにより必要とされるパラメーターです。 FlowForce Server は、また、作業ディレクトリをステップの実行中に発生する相対パスを解決するために、使用します。 作業ディレクトリを与えるように問われた場合、 FlowForce Server が実行されているオペレーティングシステム上の有効なパスを与えてください。ステップを作成中に、作業ディレクトリが与えられない場合、  FlowForce Server は一時的なディレクトリを使用します。

2.トリガーから、 「新規 Filesystem トリガー」をクリックします。 FlowForce Server は、入力パラメーターに新規 triggerfile パラメーターを自動的に追加することに注意してください。

TriggerfileParameter

3.次のトリガーの値を設定します:

 

チェック: 変更された日付
ファイルまたはディレクトリ: c:\temp\*.xml
ポーリング間隔: 60 秒

ff-dir1

4.実行ステップで、 {triggerfile} パラメーターを SectionedPage パラメーターに対する入力値としてパスします。 これを行うには、SectionedPage パラメーターの横の ff-setTo ボタンをクリックし、 {triggerfile} を選択します。この結果、SectionedPage パラメーターの値は、 {triggerfile} に変更されます。 中かっこは FlowForce 式を表示し、削除される必要があります。

ff-dir3

これまでの構成により、 ApplicationsPage.xml が作業ディレクトリにコピーされると、トリガーが実行されます。しかしながら、トリガーはワイルドカード (*.xml) を使用するため、 (ShortInfo.xml) を含む他の XML ファイルがディレクトリ内で変更される場合でも実行されます。これは期待される振る舞いではなくエラーを引き起こします。ですから、新規ディレクトリから生成された出力ファイルを削除する2番目のステップを追加する必要があります。 または、 トリガーの名前を c:\temp\ApplicationsPage.xml に名前を変更することができます(この場合、2番目のステップは必要ありません)。

 

新規ディレクトリに出力を移動するステップを追加するには以下を行います:

 

1.前のステップのすぐ後に、新規実行ステップを追加します。
2.次のようにステップを構成します (ソースと目的のフィールドは大文字と小文字を区別することに注意してください):

 

実行関数: /system/filesystem/move
ソース: c:\temp\ShortInfo.xml
保存先: c:\archive
作業ディレクトリ: c:\temp

ff-dir4

最後にジョブが実行されるオペレーティングシステム資格情報を追加します:

 

1.資格情報から、既存の資格情報の記録、または、ローカルの資格情報を指定します。 (以下を参照: 資格情報 )。
2.「保存」をクリックします。

 

ジョブの実行

ApplicationsPage.xml を作業ディレクトリにコピーしてジョブをテストすることができます。 これを行う際には、 FlowForce Server はマッピングジョブを実行し、結果出力ファイルをアーカイブディレクトリにコピーします。

 

ジョブの実行が成功したかを確認するには、ジョブのログを確認hしてください (ジョブログの確認 を参照)。


(C) 2019 Altova GmbH