
ルールセット
アプリケーションの一部として配布用にルールをパッケージ化するには、ルールを「ルールセット」と呼ばれるグループにまとめます。 ルールセットは、アプリケーションまたはアプリケーションの重要な部分を定義する一連のルールを識別、格納、管理します。 各ルールを楽曲にたとえると、ルールセットはアルバム全体に相当します。
アルバムをコピーして友人と共有したり、友人にお気に入りの曲を聴かせたりすることができるのと同じように、アプリケーション間でルールセットを共有して、複数のアプリケーションが同じルールを使用できます。 すでに構築されているルールを再利用することによって、開発にかかる時間と労力を省けます。
ルールセットのバージョニング
デベロッパーは、個々のルールをルールセットのインスタンスにまとめます。これをルールセットバージョンと呼びます。 ルールセットの内容を更新するには、新しいルールセットバージョンを作成します。 新しいルールセットバージョンは、デベロッパーがルールを更新したり、新規ルールを追加したりするために、使用可能な状態、つまりロック解除された状態になっています。 ベストプラクティスでは、古いバージョンのルールセットはロックします。 ルールセットのバージョニングは、デベロッパーがアプリケーションへの変更の識別や管理を行うときに役立ちます。
補足: Pega Platform™は、ルールの作成を管理し、App Studioで作成されたアプリケーションのルールを格納するルールセットとバージョンを識別します。
Pega Platform は、名前とバージョン番号でルールセットを識別します。 たとえば、経費報告を処理するアプリケーションに「Expense」という名前のルールセットが含まれているとします。 Pega Platformでは、そのルールセット名にバージョン番号が追加されます。 「Expense:01-02-03」は、バージョン番号が「01-02-03」の「Expense」ルールセットです。
バージョン番号は、メジャーバージョン、マイナーバージョン、パッチバージョンの3つのセグメントに分けられます。 各セグメントは、01から99までの2桁の数字です。 ルールセットのバージョンの番号は、01-01-01から始まり、値が増加していきます。
次の画像で、「+」のアイコンをクリックすると、ルールセットのバージョンのセグメントについての詳細が表示されます。
ルールセットスタック
各アプリケーションは、ルールセットスタックと呼ばれる一連のルールセットで構成されています。 ルールセットスタックは、Pega Platformがルールセットを調査して使用中のルールを見つける際の順番を決定します。 ルールセットスタックの各エントリーは、リストされているバージョンから、指定されたメジャーバージョンの最下位のマイナーバージョンとパッチバージョンまで、指定されたルールセットのすべてのバージョンを表します。
アプリケーションの各バージョンには、固有のルールセットスタックが含まれています。 ルールセットスタックにより、更新済みのアプリケーションは、更新と新機能が含まれた新しいルールセットバージョンを参照できます。
たとえば、Bobはデベロッパーとして、経費報告を管理するアプリケーションの最初のバージョンの開発に取り組んでいます。 彼は、プロセス、UI、通知など、アプリケーションの最初のバージョンのルールを作成します。 これらのルールを、「Expense」ルールセットの最初のバージョンである「Expense:01-01-01」にまとめます。 QA環境へのデプロイとバグ修正を数回繰り返した後、Expenseルールセットは01-01-05まで複数回バージョンアップされ、本番環境にデプロイされています。
数か月後、Tanyaはポリシーの変更により、従業員から追加の情報を収集できるように、アプリケーションのUIの更新を求める機能強化のリクエストを受けました。 この更新は、以前Bobが作成したルールを強化するものです。 Tanyaは、この新しい動作を、このルールセットの2番目のバージョンである「Expense:01-02-01」でモデル化するためのルールを作成します。 その後、更新済みの経費報告アプリケーションで「Expense:01-02-01」ルールセットを使用します。
次の画像で、+のアイコンをクリックすると、ルールセットスタックの詳細が表示されます。
ルールセットのベストプラクティス
ルールセットを作成するときは、次のベストプラクティスに従います。
命名規則
- アプリケーションルールセットの場合、ビジネスコンテキストで意味があり、ルールセットの目的を明確に伝える、覚えやすい一意の名前を使用するようにします。 たとえば、Bankingアプリケーションでは、ルールセットにAccountsという名前を付けて、アカウントに関連するルールを保存します。
- 組織、部門、および共有ルールセットの場合、ルールセット名は、会社とビジネス目的を明確に識別するフレーズで始め、意味がよくわからない略語は使用しないでください。 たとえば、ルールセットにUPTCではなくUPlusTelcoContractsという名前を付けます。 この規則により、ルールセットが競合する可能性も防ぐことができます。
- ルールセット名のプレフィックスとして PegaまたはPega-を使用しないでください。 これらのプレフィックスは、Pega Platformでの内部使用に制限されており、予期しない動作を引き起こす可能性があります。
- ルールセット名にスペースを使用しないでください。 ルールセット名に使える文字は、最大32文字です。
- ダッシュ(-)、アンダースコア(_)、プラス記号(+)、引用符( "")などの特殊文字は使用しないでください。 システムでは、これらの属性を持つルールの保存が許可されません。
ルールセットの保存
- 複数のアプリケーションで同じルールセットは使用しないでください。 その代わり、ルールセットを独自のアプリケーションまたは共通のアプリケーションにリファクタリングします。
- 開発は最上位のアプリケーションのルールセットに限定し、組み込みアプリケーションはロックしたままにします。
バージョニングルールセット
- アプリケーションサーバーまたはデータベースサーバーを新しいメジャーバージョンにアップデートする場合は、アプリケーションのメジャーバージョンの開発を検討してください。
- ルールセットのバージョンアップを頻繁に行うことで、アプリケーションの更新を容易に把握することができます。
- @baseclassから直接継承する最上位クラスで新しいルールセットを作成します。
補足: ルールセットでのルールの管理の詳細については「Organizing rules into rulesets」を参照してください。
以下のインタラクションで理解度をチェックしてください。
トレーニングを実施中に問題が発生した場合は、Pega Academy Support FAQsをご確認ください。