機械翻訳について

Webサービス実装のパフォーマンス・ベスト・プラクティス

ここでは、webサービスの操作時に最適なパフォーマンスを得るためのベスト・プラクティスを示します。

Groovyスクリプト

Groovyスクリプトを使用して外部webサービスをコールし、アプリケーションでレコードを作成する際にデータを同期します。

外部webサービスを呼び出してデータを同期する「更新前」トリガーは、時間のかかるプロセスです。 コミット全体は、webサービス・レスポンスを待機する必要があり、ランタイム・パフォーマンスの合計に影響します。

これをトリガーで実行するかわりに、レコードの更新時にgroovyをコールし、外部システムに同期するオブジェクト・ワークフローを記述できます。 この非同期メソッドでデータを外部システムと同期すると、UIのオーバーヘッドが削減されます。

REST/SOAP

webサービスを使用して、フィールド値をNULLに設定できます。 この例では、以前に入力した値がある場合でも、Text_cフィールド値をnullに設定:<ns2:Text_c> </ns2:Text_c>

REST - フィールドのフェッチ中

REST webサービスのブラインド・フェッチ・フィールドにより、すべてのフィールドがそれらとともに移動します。 パフォーマンスを向上させるには、フィルタを追加して、レスポンスに含めるフィールドの数を制限する必要があります。 使用できるフィルタの例を次に示します。

フィルタの例

ユースケース 解決策
特定のフィールドのみを返す問合せ

?fields=Attribute1,Attribute2

子リソースのフィールドの書式:

?fields=Accessor1:Attribute1,Attribute2
データのみを戻し、リンクを戻さない問合せ ?onlyData
問合せで返された結果のソート ?orderBy=field1:asc,field2:desc
汎用式でのレコードのフィルタリング ?q=expression1
特定の日付範囲内のレコードをフィルタ

日付タイプのフィールドに対するレコードのフィルタリングを抽出するには、URLのパラメータq=は次のようにする必要があります:

<Nameofthefield> > YYYY-MM-DDTHH:MI:SS.sss-HH:MM
指定したオフセットからレコードをフェッチする問合せ ?offset=<number>
複数の条件とAND効果の組合せ ?q=expression1;q=expression2?q= expression1 and expression2
複数の条件とORエフェクトの結合 ?q= expression1 OR expression2

サンプル: ?q= Type = ECO OR ChangeAnalyst = John Smith

チェック・ボックス・フィールドでのフィルタリング ?q=checkbox_c=Y?q=checkbox_c=Y
値にANDがある場合、キーワードとしてANDをスキップ ?q=RecordName%20LIKE%20%27Fin%20And%20Mgmt%27

REST - レコード数をフェッチしています

この制限パラメータを使用して、RESTコールに対してフェッチされるフィールドの数を制限できます。?limit=<number>このパラメータに数値を指定しない場合、制限は25に設定されます。 ただし、制限値を手動で指定できるため、その数のレコードがフェッチされます。 最適なパフォーマンスを維持するために、推奨される制限値は499以下です。 レコードがいくつかある場合でも、設定した制限パラメータ値に基づいてメモリーが割り当てられるため、レコードのフェッチに上限値を使用しないでください。

パフォーマンス・ベースライン測定

レンダリングにかかる時間を測定します:

  • オブジェクト「編集」ページ
  • 保存およびクローズ・フロー
  • 保存して続行フロー