Webサービス実装のパフォーマンス・ベスト・プラクティス
ここでは、webサービスの操作時に最適なパフォーマンスを得るためのベスト・プラクティスを示します。
Groovyスクリプト
Groovyスクリプトを使用して外部webサービスをコールし、アプリケーションでレコードを作成する際にデータを同期します。
外部webサービスを呼び出してデータを同期する「更新前」トリガーは、時間のかかるプロセスです。 コミット全体は、webサービス・レスポンスを待機する必要があり、ランタイム・パフォーマンスの合計に影響します。
これをトリガーで実行するかわりに、レコードの更新時にgroovyをコールし、外部システムに同期するオブジェクト・ワークフローを記述できます。 この非同期メソッドでデータを外部システムと同期すると、UIのオーバーヘッドが削減されます。
REST/SOAP
webサービスを使用して、フィールド値をNULLに設定できます。 この例では、以前に入力した値がある場合でも、Text_cフィールド値をnullに設定:<ns2:Text_c> </ns2:Text_c>
REST - フィールドのフェッチ中
ユースケース | 解決策 |
---|---|
特定のフィールドのみを返す問合せ |
子リソースのフィールドの書式: ?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 |
複数の条件とORエフェクトの結合 | ?q= expression1 OR expression2 サンプル: ?q= Type = ECO OR ChangeAnalyst = John Smith |
チェック・ボックス・フィールドでのフィルタリング | ?q=checkbox_c=Y |
値にANDがある場合、キーワードとしてANDをスキップ | ?q=RecordName%20LIKE%20%27Fin%20And%20Mgmt%27 |
REST - レコード数をフェッチしています
この制限パラメータを使用して、RESTコールに対してフェッチされるフィールドの数を制限できます。?limit=<number>このパラメータに数値を指定しない場合、制限は25に設定されます。 ただし、制限値を手動で指定できるため、その数のレコードがフェッチされます。 最適なパフォーマンスを維持するために、推奨される制限値は499以下です。 レコードがいくつかある場合でも、設定した制限パラメータ値に基づいてメモリーが割り当てられるため、レコードのフェッチに上限値を使用しないでください。
パフォーマンス・ベースライン測定レンダリングにかかる時間を測定します:
- オブジェクト「編集」ページ
- 保存およびクローズ・フロー
- 保存して続行フロー