アクティビティ構造
アクティビティは、1つ以上のシーケンスステップで構成されます。 アクティビティステップでは、それぞれシステムが実行するアクションを説明するメソッドを指定する必要があります。
ステップページとは、メソッドが処理されるメモリ内のページのことをいいます。 デフォルトでは、アクティビティは呼び出されたコンテキスト内で実行されます。 たとえば、ケース処理中にユーティリティシェープから呼び出されたアクティビティは、ケースタイプ(pyWorkPage)に割り当てられたページに対して実行されます。
次の画像で「+」アイコンをクリックすると、アクティビティの設定に関する詳細が表示されます。
アクションアクティビティ
アクティビティでは番号順にステップが実行されます。 「Loop」、「When」、および「Jump」は、ステップを繰り返したり、ステップの実行順序を変更したりする場合のアクションまたは条件を示します。
次の画像で「+」アイコンをクリックすると、アクティビティのアクションと条件に関する詳細が表示されます。
他のアクティビティを呼び出すためのメソッド
アクティビティは他のアクティビティを呼び出すことができるため、デベロッパーはモジュール型のアクティビティを作成することで、標準のアクティビティを再利用できます。 Pega Platform™では、 とという2つの方法で他のアクティビティを実行できます。
呼び出し
Pegaでは指定されたアクティビティが実行され、呼び出されたアクティビティプロセスが終了した時点で呼び出し元のアクティビティにコントロールが戻されます。 AとBの2つのアクティビティについて、AがBを呼び出すと、Bが終了した時点でAにコントロールが戻ります。
分岐
Pega Platformでは指定されたアクティビティが実行されますが、コントロールは最初のアクティビティを呼び出したルールに戻されます。 元のアクティビティは、分岐したアクティビティが完了すると終了します。 CとDの2つのアクティビティについて、CがDに分岐した場合、D(分岐したアクティビティ)が終了すると、アクティビティCを呼び出したルールにコントロールが戻されます。
補足: アクティビティの作成の詳細については、「Creating an activity」を参照してください。
パラメーター
パラメーターはアクティビティにデータを入力したり、アクティビティからデータを返したりする変数を定義します。
パラメーターを使用すると、開発時に事前に定義するのではなく、アクティビティが呼び出されたときに引数を渡すことができるため、アクティビティの再利用性が向上します。
- アクティビティパラメーターは、アクティビティフォームの「Parameters」タブで定義されます。
- パラメーター値を参照するには、param.という表記を使用します。
- パラメーターの名前と値は、パラメーターページと呼ばれる特別なクリップボードページに保持されます。このページはクClipboardツールでは表示されません。
セキュリティー
アプリケーションをより適切に保護するには、アクティビティ固有のアクセスコントロールを設定して、アクティビティを実行できる方法とユーザーを制限します。 アクティビティルールの「Security」タブの設定を使用してアクティビティタイプを指定し、オプションでアクティビティを実行できるユーザー(または他のリクエスター)を制限します。
アクセス制限
Restrict accessセクションのセキュリティー設定を使用して、ユーザーがランタイムにアクティビティを実行する方法(または実行するかどうか)を制限します。
Allow invocation from browserチェックボックスを選択すると、ユーザーはURLのSubmitボタンやpyActivity=要素などのユーザー入力処理によってアクティビティを直接開始できるようになります。 このアクティビティを別のアクティビティからのみ、呼び出し、分岐、またはその他の手段で開始できるようにする場合は、選択を解除します。
注: ほとんどのアクティビティでは、アプリケーションのセキュリティーを強化するため、このチェックボックスをオフのままにしておきます。 URLまたは他のユーザー入力(リクエスターが認証済みゲストかどうかを問わず)からアクティビティを開始できるようにした場合、ユーザーは必要なチェック、セキュリティー、またはセットアップ手順を省略する可能性があります。
「Require authentication to run」チェックボックスを選択して認証済みのリクエスターのみがこのアクティビティを開始できるようにするにします。 ゲストユーザーが他のセキュリティーおよびアクセス条件を満たしている場合にこのアクティビティを実行できるようにするには、チェックボックスをオフにします。
補足: Require authentication to run は、新しいアクティビティにデフォルトで選択されています。 ほとんどの場合、この選択を変更する必要はありません。
1つ以上の権限を特定して、このアクティビティを実行できるユーザーおよびその他のリクエスターを制限できます。 ランタイムにおいてユーザーが属しているアクセスグループでアクセス権限の1つが付与されていない場合、アクティビティの実行は失敗します。
補足: アクティビティの「Restrict access」タブの「Security」セクションにある設定の使用の詳細については、「Securing an activity」を参照してください。
アクティビティタイプ
アクティビティのアクティビティタイプを選択して、このアクティビティを他のルールで参照できるか、またどのように参照できるかを決定します。 たとえば、Routeアクティビティタイプを選択すると、アクティビティの使用がケースワークフローのルーティングアサインメント に制限されます。 Activity typeリストには、次のオプションがあります。
アクティビティタイプ | 説明 |
---|---|
Activity | これ以上、具体的な値が適用されない場合に選択します。 この値のアクティビティは、フロールールで直接参照することはできません。 |
Assembler | 非推奨。使用しないでください。 |
Assign | アクティビティがフロールールの割り当て形状から参照されるかどうかを選択します。 Assignアクティビティは、アサインメントを作成するために使用されるため、NotifyおよびRouteアクティビティなど、アクティビティから呼び出される可能性のある他のアクティビティタイプとは異なります。 |
Asynchronous | アクティビティがバックグラウンドスレッドで非同期に実行されるかどうかを選択します。 アクティビティでは、Load-DataPage、Connect-Wait、およびCall-Async-Activity(ユーザーが非同期アクティビティをロードできるようにするステップインストラクション)のステップメソッドのみを呼び出せます。 |
Load Data Page | アクティビティでデータページに値を追加するかどうかを選択します。 Definitionルールの「Data Page」タブでこのアクティビティを参照してください。 |
Locate | 現在は廃止されています。 位置特定可能ページを利用する既存のアクティビティでのみ使用できます。 |
Notify | アクティビティを使用して、保留中のアサインメントを1人または複数のユーザーに通知するかどうかを選択します。 |
Onchange | アクティビティがDeclare OnChangeルールによって自動的に実行されるかどうかを選択します。 |
Route | アクティビティを使用してフロールールのアサインメントをルーティングするかどうかを選択します。 |
Rule Connect | アクティビティがコネクタールールを呼び出して外部システムとインターフェイスするかどうかを選択します。 |
Trigger | アクティビティがDeclare Triggerルールによって自動的に実行されるかどうかを選択します。 |
Utility | アクティビティがフロールールのユーティリティシェープから呼び出されるかどうかを選択します。 |
Validate | 非推奨。使用しないでください。 |
補足: フロールールから呼び出されるアクティビティのアクティビティタイプを設定する方法の詳細については、「Security tab on the Activity form」を参照してください。
アクティビティのベストプラクティス
一般
- 可能な限り、データトランスフォームルールを使用してプロパティ値を設定するなど、別のルールタイプを使用してください。
- ハードコードされた再利用可能な値をプロパティ(URLやクラスなど)で使用することは避けてください。 代わりに、データページ、デシジョンテーブル、マップ値を使用します。
- アクティビティは短くしましょう。 アクティビティのステップを25以下に制限し、各アクティビティを1つのタスクを完了することに集中させます。
- 再利用可能なアクティビティを使用します。
- 各アクティビティステップの機能の説明には、「Description 」フィールドを使用します。
- ワーニングを削除するには、「Security 」タブで適切なActivity typeを設定します。 たとえば、Utility (default)、Validate、Load Data Pageなどを設定します。
手順
- 重複ループの使用を削減または排除して、アプリケーションのパフォーマンスを向上させます。
- コメント付き行は、アクティビティの詳細を明確にするのに役立たないのであれば、ルールをマージする前に削除しておいてください。
- 非推奨のアクティビティメソッドは使用しないでください。
- ハンドコードされたJavaを制限しましょう。 標準またはカスタムのルールタイプ、ライブラリー関数、またはアクティビティメソッドが利用できる場合は、アクティビティのJavaステップを避けてください。
注: Javaメソッドを使うと、アクティビティにカスタムJavaコードを追加することができます。 このメソッドの使用には細心の注意が必要です。 アクティビティでカスタムJavaコードを使用することは、保守性の問題を招くため、Pegaアプリケーション開発のベストプラクティスに対する重大な違反となります。 Access Control Checkのランディングページを使用して、緩和策が必要なアクティビティコールを特定します。 Access Control Checkのランディングページの詳細については、「Using Access Control Checks」を参照してください。
パラメーター
- パラメーターを使用して入力と出力を明確に定義すると、システムアーキテクトがアクティビティの使用方法を理解して、アプリケーションの保守性を向上させられるようになります。 アクティビティを処理するために特定の値が必要な場合は、完全なページ参照ではなく、スカラーパラメーターを渡します。
以下のインタラクションで理解度をチェックしてください。
このトピックは、下記のモジュールにも含まれています。
- アクティビティ v4
トレーニングを実施中に問題が発生した場合は、Pega Academy Support FAQsをご確認ください。