FlowForceサーバーのジョブキャッシュ機能の改善について

FlowForce Serverには、ジョブキャッシュの機能を強化する新機能が追加されました。ジョブキャッシュを使用すると、管理者は時間のかかるジョブの実行をスケジュールし、その結果を保存し、エンドユーザーからのHTTPリクエストに応じて、瞬時に結果を提供することができます。以前の記事「結果キャッシュによるアプリケーションの応答時間高速化」では、キャッシュを活用するためのジョブの設定方法について説明しました。

キャッシュ機能は、特にFlowForce Serverのエンタープライズレベルのデータ変換処理において、大量のデータを扱う場合、複雑なデータベースクエリを実行する場合、または外部システムのパフォーマンスが予測できないWebサービスを利用する場合に、非常に有効です。

FlowForce Serverでは、現在、パラメータを使用するジョブや、複数のパラメータの組み合わせを使用するジョブにおいて、キャッシュ機能がサポートされています。ジョブの設定ダイアログで、管理者は、通常の使用において想定される可能性のあるパラメータの組み合わせの数に合わせて、複数のキャッシュ設定を指定することができます。

例えば、特定の地域や製品ごとに、個別の販売レポートを生成するためにパラメータを使用する「SalesQuery」というジョブがあるとします。

このジョブは、URLを通じて呼び出されるサービスとして定義できます。このURLは、実行時に、地域や製品を選択するためのパラメータを渡します。例えば、http://flowforce:4646/service/salesquery?region=East&product=widgets のように記述できます。もし、販売地域が4つ、製品が5つある場合、パラメータの組み合わせは合計で20通りが考えられます。ジョブのキャッシュを有効にすると、キャッシュに保存する最大数を設定するだけで済みます

FlowForce Serverは、ジョブが最初に実行される際に、提供されたパラメータを記録し、その結果をキャッシュに保存します。同じパラメータでジョブを再度実行すると、キャッシュされたデータが瞬時に提供されます。また、キャッシュを自動的に更新するための「キャッシュ更新タイマー」を作成することも可能です

ほとんどのシステムでは、古いデータの配信を防ぐためにキャッシュの有効期限が設定されています。FlowForce Serverも、そのような基本的なキャッシュの有効期限機能をサポートしています。しかし、データ統合プロジェクトの最適なパフォーマンスを実現するために、FlowForce Serverはさらに高度な機能を提供します。リフレッシュタイマーが起動すると、FlowForce Serverはバックグラウンドで同じパラメータを使用してジョブを自動的に再実行し、キャッシュを更新します。一般的なキャッシュの有効期限切れとは異なり、キャッシュの内容が自動的に更新されるため、バックエンドシステムへの負荷を細かく調整することができます。

そして、この動作は、各キャッシュエントリーに対応する、考えられるすべてのパラメータの組み合わせに対して共通です。各パラメータの組み合わせは、最初に実行される際に初期化され、その後、リフレッシュタイマーに基づいて継続的に更新されます。

これらのアップデートは、現在FlowForce Serverのライセンスをお持ちのすべてのユーザー様向けに無料で提供されます。また、Windows、Linux、Mac OSの各プラットフォームで、無料で試用版をご利用いただけます。 Altova Server Softwareのダウンロードページへはこちらをクリックしてください。!