Skip to main content

 

OutSystems 11オンラインヘルプ

 

OutSystems

プロセス

プロセスは、ビジネスプロセスとアプリケーションの統合を可能にする要素です。プロセスの設計はプロセスフローで行います。プロセスフローは通常、エンティティのライフサイクルの間に実行されるアクティビティを表します。

プロセスを作成する

  1. eSpace]ツリーの[Process]レイヤーでProcessフォルダを右クリックして、[Add Process]を選択します。
  2. 任意の名前に変更します。OutSystemsプラットフォームにより、フローキャンバスのプロセスフローが自動で開きます。
  3. [Process Flow]エディタを使用して、プロセスの動作(つまり、プロセスフロー)を設計します。

プロセスには、入力パラメータと出力パラメータを持たせることができます。

プロセスのスコープ

プロセスフローで式を編集する際は、スコープ内の以下の要素を利用できます。

  • プロセス内で定義された入出力パラメータ。

  • プロセスフローのプロセスアクティビティの出力パラメータ。プロセスアクティビティの出力パラメータを使用する場合は、出力パラメータを使用するプロセスアクティビティのすべてのプロセスフローパスより前に、そのプロセスアクティビティを配置する必要があることにご注意ください。 たとえば、Automatic Activityの出力パラメータをDecision要素で使用する場合は、Decision要素へと続くプロセスフローのすべてのパスで、Decision要素より前にAutomatic Activity要素を配置する必要があります。

いずれの場合も、プロセスフローを編集する際は、スコープ内にある使用可能なすべてのプロセスアクティビティが表示されます。式の編集を行う場合は[Expression]エディタの[Scope]ツリーに、変数を使用する場合は[Select Variable]ウィンドウの変数ツリーに表示されます。

プロセスの開始

アプリケーションでは、プロセスは作成時に自動的に開始する場合と、アクションのアクションフローから明示的に開始する場合があります。1つ目のケースで開始するには、LaunchOnプロセスプロパティをCreateエンティティアクションに設定します。

Createエンティティアクションの結果、プロセスが自動的に開始すると、エンティティ識別子と入力パラメータがプロセスに自動的に追加され、作成されたどのエンティティがプロセスを開始したのかを把握できます。

アプリケーションのプロセスを明示的に開始する場合は、プロセス拡張アクションを使用します。

プロセスは他のプロセスフローでも実行されます。

プロセス参照の使用

Service Studioには、複数のeSpace間でプロセスを再利用する仕組みが用意されています。プロセスを他のeSpaceに公開することや、他のeSpaceで定義されたプロセスを使用することができます。

OracleまたはDB2データベースを使用している場合は、プロセスインスタンスの開始前にトランザクションをコミットしてください。

プロセスの実行

プロセスが開始すると、プロセスインスタンスが作成され、フローのStart要素から実行が開始されます。そして、プロセスフローに従って進み、パス上のプロセスアクティビティごとにアクティビティインスタンスが作成され実行されます。

プロセスフローにサイクルがある場合は、同じアクティビティに到達するたびに新しいインスタンスが作成され実行されます。

ビジネスロジックを追加して、プロセスインスタンスの実行を検証できます。たとえばプロセスの開始時に、プロセスインスタンスが実行可能かどうかを検証できます。

プロセスアクティビティのライフサイクル

各アクティビティインスタンスには、実行の開始から終了までを複数の状態で表したライフサイクルがあります。アクティビティ実行の一貫性を保つために、アクティビティライフサイクルの特定の時点にビジネスロジックを追加することができます。

プロセスのアップグレード

プロセスフローをアップグレードするには、プロセスフローを編集してeSpaceをパブリッシュします。OutSystemsが、実行中のすべてのプロセスインスタンスに対して自動的に、プロセスフローのアップグレードを行います。

プロセスエンティティの使用

プロセスを設定してプロセスエンティティに関連付けることができます。プロセス情報を保持してアプリケーションロジックで使用できます。

プロセスAPIの使用

プロセスの設計のカスタマイズや拡張を行う場合は、プラットフォームのデータモデルから情報を抽出できるプロセスAPIを使用できます。

  • Was this article helpful?