Skip to main content

アクティビティ構造

アクティビティは、1つ以上のシーケンスステップで構成されます。アクティビティステップでは、それぞれシステムが実行するアクションを説明するメソッドを指定する必要があります。

ステップページとは、メソッドが処理されるメモリ内のページのことをいいます。デフォルトでは、アクティビティは呼び出されたコンテキストで実行されます。たとえば、ケース処理中にユーティリティシェープから呼び出されたアクティビティは、ケースタイプ(pyWorkPage)に割り当てられたページに対して実行されます。

次の画像で「+」アイコンをクリックすると、アクティビティの設定に関する詳細が表示されます。

補足:  前提条件の詳細については、「Activity form - Completing the Steps tab - Entering Method parameters」を参照してください。

アクションアクティビティ

アクティビティでは、番号順にステップが実行されます。Loop」、「When」、および「Jump」は、ステップを繰り返したり、ステップの実行順序を変更したりする場合のアクションまたは条件を示します。

次の画像で「+」アイコンをクリックすると、アクティビティのアクションと条件に関する詳細が表示されます。

補足: ループオプションの詳細については、「Repeating steps in an activity」を参照してください。 前提条件の詳細については、「Activity form - Completing the Steps tab - Entering preconditions」を参照してください。

他のアクティビティを呼び出すためのメソッド

アクティビティは他のアクティビティを呼び出すことができるため、開発者はモジュール型のアクティビティを作成することで、標準のアクティビティを再利用できます。Pega Platformには、別のアクティビティを実行する方法が2つ用意されています。 呼び出し分岐

呼び出し

Pegaでは指定されたアクティビティが実行され、呼び出されたアクティビティプロセスが終了した時点で呼び出し元のアクティビティにコントロールが戻されます。AとBの2つのアクティビティを考えてみましょう。AがBを呼び出すと、Bが終了したときに、コントロールはAに戻ります。 

分岐

Pega Platformでは指定されたアクティビティが実行されますが、コントロールは最初のアクティビティを呼び出したルールに戻されます。元のアクティビティは、分岐したアクティビティが完了すると終了します。 CとDの2つのアクティビティを考えてみましょう。 CがDに分岐する場合、D(分岐したアクティビティ)が完了すると、コントロールはアクティビティCを呼び出したルールに戻ります。次の画像は、呼び出しと分岐の方法のオプションを示しています。

Call-Branch
補足: 他のアクティビティを呼び出す方法については、「Calling another activity」と「Branching to another activity」を参照してください。

パラメーター

パラメーターはアクティビティにデータを入力したり、アクティビティからデータを返したりする変数を定義します。

パラメーターを使用すると、開発時に事前に定義するのではなく、アクティビティが呼び出されたときに引数を渡すことができるため、アクティビティの再利用性が向上します。

  • アクティビティパラメーターは、Activitiesフォームのparametersタブで定義されます。
  • パラメーター値を参照するには、param.<ParamName>という表記を使用します。
  • パラメーターの名前と値は、パラメーターページと呼ばれる特別なクリップボードページに保持されます。このページはクclipboardツールでは表示されません。

次の画像は、アクティビティルールのParameters タブを示しています。

Activity-parameters

セキュリティ

アプリケーションをより適切に保護するには、アクティビティ固有のアクセスコントロールを設定して、アクティビティを実行できる方法とユーザーを制限します。アクティビティルールのSecurityタブの設定を使用してアクティビティタイプを指定し、オプションでアクティビティを実行できるユーザー(または他のリクエスター)を制限します。 次の画像は、アクティビティルールのSecurityタブを示しています。

Security tab of an Activity

アクセス制限

Restrict accessセクションのセキュリティ設定を使用して、ユーザーが実行時にアクティビティを実行する方法(または実行するかどうか)を制限します。

Allow invocation from browserチェックボックスを選択すると、ユーザーはURLのSubmitボタンやpyActivity=要素などのユーザー入力処理によってアクティビティを直接開始できるようになります。このアクティビティを別のアクティビティからのみ、呼び出し、分岐、またはその他の手段で開始できるようにする場合は、選択を解除します。

注: ほとんどのアクティビティでは、アプリケーションのセキュリティを強化するため、このチェックボックスをオフのままにしておきます。urlまたは他のユーザー入力(リクエスターが認証済みゲストかどうかを問わず)からアクティビティを開始できるようにした場合、ユーザーは必要なチェック、セキュリティ、またはセットアップ手順を省略する可能性があります。

Require authentication to run」チェックボックスを選択して認証済みのリクエスターのみがこのアクティビティを開始できるようにするにします。ゲストユーザーが他のセキュリティおよびアクセス条件を満たしている場合にこのアクティビティを実行できるようにするには、チェックボックスをオフにします。

補足: Require authentication to runは、新しいアクティビティにデフォルトで選択されています。ほとんどの場合、この選択を変更する必要はありません。

1つ以上の権限を特定して、このアクティビティを実行できるユーザーおよびその他のリクエスターを制限できます。実行時においてユーザーが属しているアクセスグループでアクセス権限の1つが付与されていない場合、アクティビティの実行は失敗します。

補足: アクティビティのSecurityタブのRestrict accessセクションにある設定の使用の詳細については、「Securing an activity」を参照してください。

アクティビティタイプ

アクティビティのアクティビティタイプを選択して、このアクティビティを他のルールで参照できるか、またどのように参照できるかを決定します。たとえば、Routeアクティビティタイプを選択すると、アクティビティの使用がケースワークフローのルーティングアサインメントに制限されます。Activity typeリストには、次のオプションがあります。

Activity type list
アクティビティタイプ 説明
Activity これ以上、具体的な値が適用されない場合に選択します。この値のアクティビティは、フロールールで直接参照することはできません。
Assembler 非推奨。使用しないでください。
Assign アクティビティがフロールールのアサインメントシェープから参照されるかどうかを選択します。Assignアクティビティは、アサインメントを作成するために使用されるため、NotifyおよびRouteアクティビティなど、アクティビティから呼び出される可能性のある他のアクティビティタイプとは異なります。
Asynchronous アクティビティがバックグラウンドスレッドで非同期に実行されるかどうかを選択します。アクティビティでは「Load-DataPage」、「Connect-Wait」、「Call-Async-Activity」、および(ユーザーが非同期アクティビティをロードできるようにするステップインストラクション)のステップメソッドのみを呼び出せます。
Load Data Page アクティビティでデータページに値を追加するかどうかを選択します。Data PageルールのDefinitionタブでこのアクティビティを参照してください。
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」を参照してください。

パラメーター

  • パラメーターを使用して入力と出力を明確に定義すると、システムアーキテクトがアクティビティの使用方法を理解して、アプリケーションの保守性を向上させられるようになります。アクティビティを処理するために特定の値が必要な場合は、完全なページ参照ではなく、スカラーパラメーターを渡します。

次の問題に答えて、理解度をチェックしましょう。


このトピックは、下記のモジュールにも含まれています。

トレーニングを実施中に問題が発生した場合は、Pega Academy Support FAQsをご確認ください。

このコンテンツは役に立ちましたか?

改善できるところはありますか?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice