Groovyスクリプトの概要
Groovyは、Javaプラットフォーム用の標準の動的スクリプト言語です。 Groovyスクリプトは、アプリケーション・コンポーザの式ビルダーを使用して記述します。これは、既存のオブジェクトを変更したり、新しいカスタム・オブジェクトを作成するときの多くの場所に表示されます。
この章を読んで、アプリケーション・コンポーザでGroovyスクリプトを使用する方法と場所について学習します。
この章では、次について学習します:
-
アプリケーションでGroovyを使用できる場所と、Groovyコードの1つ以上の行の例
-
オブジェクト・データへのプログラムによるアクセスのために、newView()関数を使用してビュー・オブジェクトにアクセスする方法
-
複数のオブジェクトで共有できるコードであるグローバル関数を作成する方法
-
GroovyスクリプトからWebサービスを呼び出す方法。 内部または外部のデータにアクセスするためにWebサービスをコールしたり、データに対して計算を実行するためにコールできます。
-
どのようなスクリプトを作成しますか。
Groovyスクリプトの書込み
アプリケーション・コンポーザの式ビルダーを使用してGroovyスクリプトを記述します。これは、既存のオブジェクトを変更したり、新しいカスタム・オブジェクトを作成するときに、アプリケーション・コンポーザ全体の多くの場所に表示されます。
-
カスタム算式フィールドの値を計算したり、カスタム・フィールドのデフォルト値を計算する式を提供する短いスクリプトを作成します。
-
たとえば、フィールド・レベルの検証ルールやオブジェクト・レベルの検証ルールを定義するために、少し長いスクリプトを記述できます。
アプリケーション・コンポーザでGroovyスクリプトを記述するその他の例については、「Groovyスクリプト」を参照してください: Explained".
スクリプト作成時に式ビルダーで使用できる機能を最も有効に使用する方法についてさらに学習するには、『Groovyスクリプト・リファレンス』ガイドの「Groovyのヒントと手法」を参照してください。
パフォーマンスの考慮事項
最適なパフォーマンスを得るには、常にGroovyスクリプトを記述して、可能なかぎり少ない行をデータベースから問い合せてフェッチします。 問い合せる行数の最小化は、従うことができる最も重要なパフォーマンス・ベスト・プラクティスの1つです。
発生する可能性が高い最も重要なパフォーマンスへの影響の多くは、大量の行を問い合せてフェッチするコードに関連しています。 これは、アプリケーションのパフォーマンスと機能にいくつかの影響を与えます:
-
レスポンス時間
行の問合せおよびフェッチは、アプリケーションで通常実行される最もコストのかかる操作の2つであり、パフォーマンスに著しく影響する可能性があります。 結果セットを大きくすると、結果セットの反復処理中に実行された最適でないコードの影響が大きくなります。
-
スケーラビリティ
長時間実行操作によって、データベース接続や共有メモリーなどの限られた共有リソースが結び付けられます。 これにより、リソースが使用可能になるのを待機する必要があるため、他のリクエストのレスポンス時間が長くなる可能性があります。
-
機能
アプリケーションでフェッチする行が多すぎると、ユーザーに警告が表示され、それ以上行がフェッチされません。 これにより、UIでデータを表示するユーザーの機能が制限され、行を繰り返すスクリプトの処理エラーが発生します。
前述の潜在的なパフォーマンスへの影響を制限するために、ほとんどのビュー・オブジェクトには500行のフェッチ制限があります。 フェッチ制限を絶対制限として考慮してカスタマイズを設計しますが、常に、ビジネス要件を満たすために可能な最小行数に問合せを制限するように努めます。
たとえば、ビュー基準およびバインド・パラメータを使用して、ビューのデフォルト問合せを調整し、ビュー・オブジェクトのフェッチ・サイズを制限します。 「ビュー基準を使用したオブジェクトの検索」を参照してください。