GeneXus BPM Suite は、ワークフローのエンジンとの対話を自動化できる API を提供しています。これは、それぞれのメソッドとプロパティを介して、
ワークフローのデータタイプで実行されます。
以下は、最も一般的に使用される一部のワークフローのデータタイプおよび主な特徴です。Workflow API の使用を開始する場合は、それらについて学習する必要があります。
これはプロセス定義 (GeneXus IDE のダイアグラムに相当) を表し、名前、バージョン、含まれるタスクなどの一部のプロセスプロパティにアクセスすることができます。また、CreateInstance() メソッドを使用してこのプロセスのインスタンスを作成することもできます。
プロセス定義の実行を表し (GXflow の受信トレイのプロセスインスタンスに相当)、この特定のインスタンスについて、件名、ユーザー所有者、アクティブな作業項目などの情報を提供します。また、プロセスの中断、中止、または再アクティブ化など、受信トレイで実行できることとほぼ同じことを実行することもできます。
プロセス定義のコンテキストでアクティビティを表し (GeneXus IDE のタスクに相当)、タスクのプロパティにアクセスできます。AssignRole() メソッド、UnasassignRole() メソッドを使用して、ロールの割り当てまたは割り当て解除を行うこともできます。
プロセスインスタンスのコンテキストでアクティビティの実行を表し (GXflow 受信トレイのタスクに相当)、このアクティビティに関する情報にアクセスできます。また、タスクの割り当て、委任、完了など、受信トレイでできることとほぼ同じことを行うこともできます。
実行コンテキストに関する情報を提供し、WorkflowProcess、WorkflowInstance、および WorkflowWorkitem の実際の値を確認できます。
ワークフローのデータタイプを使用する際には、いくつかの点を考慮する必要があります。
WorkflowServer オブジェクトは、ほかのワークフローのデータタイプへのエントリーポイントであるため、何かを行う前に、WorkflowServer.connect() を実行してワークフローのエンジンと対話するための有効なセッションを取得する必要があることに注意してください。また、このオブジェクトにより、実行環境に関する情報を取得できます。
ワークフローのデータタイプを単独で使用した場合、GeneXus では自動的にコミットされないことに注意してください。したがって、それらのデータタイプを使用して更新を行う際は、自分で変更をコミットする必要があります。
Workflow API は実装されている制限をスキップするため、たとえば、このタスクに割り当てる権限を持たないロールを持つユーザーにタスクを割り当てることができます。
WorkflowProcessDefinition.CreateInstance() メソッドを含むプロセスの新しいインスタンスを作成した後、WorkflowProcessInstance.Start() メソッドと使用して開始する必要があります。
ワークフローのデータタイプ