C 用の DMS ワークフロー API

DMS ワークフロー API を使用すると、DMS イベントに対する単純なプリプロセスおよびポストプロセス ワークフローを追加できます。これらのプロセスを実装するには、以下を実行する必要があります。
casso11jp
DMS ワークフロー API を使用すると、DMS イベントに対する単純なプリプロセスおよびポストプロセス ワークフローを追加できます。これらのプロセスを実装するには、以下を実行する必要があります。
  1. DMS ワークフロー API をサポートし、必要なカスタム機能を提供する共有ライブラリを開発します。共有ライブラリには、エクスポート可能な記号として定義されたワークフロー関数が含まれる必要があります。
    SmApi.h はカスタム ワークフローを作成するのに必要なすべてのデータ構造体を定義します。SmEventApi.h はすべてのワークフロー イベントを定義します。
  2. 以下のいずれかの場所に共有ライブラリをインストールします。
    • UNIX プラットフォームでは、
      CA Single Sign-on
      lib ディレクトリ
    • Windows プラットフォームでは、
      CA Single Sign-on
      bin ディレクトリ
  3. 管理 UI でワークフロー ライブラリを定義します。すべての DMS 管理レルムおよびエンド ユーザが自身を登録するすべてのリソース レルムは、登録方式に関連付けられています。登録方式プロパティ UI には、DMS ワークフローを使用するための共有ライブラリの名前を入力できる、テキスト フィールドが含まれます。
注:
DMS API (Java のみで利用可能)の機能は、DMS Workflow API (C/C++ のみで利用可能)とは異なっています。DMS API を使用すると、
CA Single Sign-on
DMS 製品と同様の操作を実行するディレクトリ管理アプリケーションを開発できます。DMS Workflow API は、DMS と共に動作し、特定のプリプロセスおよびポストプロセス DMS イベントが発生した場合に起動します。これにより、これらのイベントの前または後に追加の機能を実行するアプリケーションを開発できます。
DMS ワークフロー API には、ポリシー サーバへのローカル アクセス タイプがあります。
DMS セッション
DMS アプリケーションを使用するユーザには、ユーザの管理権限に基づいて、アプリケーション コンテキストを維持するためのセッションが割り当てられます。
DMS ユーザ セッションには以下の 2 種類があります。
  • 管理セッション
    は、DMS アプリケーション内で管理権限を持つユーザに対して作成されます。DMS セッションを開始するには、ユーザはアプリケーションを使用するために認証および許可される必要があります。管理上のセッションは、管理上のイベントとして分類されるイベントを生成します。このようなイベントはワークフロー ライブラリにユーザ コンテキストを提供します。
  • 登録セッション
    は、ユーザがディレクトリに自身を追加する登録レルムとして作成されます。登録セッションは、レルム内のリソースに対する自己登録の最初の要求のときに、そのレルムに対して作成されます。セッションは、
    CA Single Sign-on
    がシャットダウンするまで DMS サーバ上で有効です。登録セッションは、登録イベントとして分類されるイベントを生成します。このようなイベントはワークフロー ライブラリにユーザ コンテキストを提供しません。登録イベントは、ユーザ エントリの作成およびユーザ エントリの自己変更に制限されています。
DMS のワークフロー
自己登録を要求するまたは DMS 管理アプリケーションを入力することによりユーザが DMS セッションを開始すると、以下の
CA Single Sign-on
オブジェクトが検出されます。
  • 要求されたリソースのレルム。自己登録に対しては、これはユーザが手続きをしているページが含まれるレルムです。DMS 管理者に対しては、レルムは DMS 管理 サーブレットの場所です。レルムは、ユーザがアクセスを要求する場合に
    CA Single Sign-on
    Web エージェントによって取得されます。
  • レルムと関連付けられる登録方式。登録方式には、ワークフロー ライブラリの名前が存在する場合はそれが含まれます。
    ワークフローはレルムと関連付けられるので、特定のリソースに対して必要な DMS イベント処理に応じて、複数のワークフロー ライブラリをセットアップすることが可能です。たとえば、別個のサイトからドキュメントを受け取るために自己登録が必要だが、各サイトに対するプリプロセスおよびポストプロセスユーザのルールが異なるとします。
    たとえば、それぞれ別個のワークフロー ライブラリを持つ、一連の自己登録サイトをセットアップすることが可能です。
登録方式にワークフロー ライブラリ名が含まれる場合、ライブラリがロードされます。ローダは、必要な関数がすべてライブラリによってエクスポートされることを確認します。ライブラリをロードできない、または関数が見つからない場合、セッション初期化は失敗し、そのレルムの DMS 要求は処理されません。この問題を解決するには、以下を実行します。
  1. DMS ワークフロー API 概要で指定されるように、ライブラリが正しい場所にインストールされたことを確認します。
  2. 必要な関数がライブラリによってエクスポートされることを確認します。
  3. 必要に応じて、管理 UI を使用して、登録方式からライブラリ名を削除することによりワークフローを無効にします。
ワークフロー ライブラリがロードされる場合、セッション中にユーザ ディレクトリでのエンティティの追加、変更、および削除に関連するすべての DMS イベントに対して呼び出されます。
ワークフロー イベント
ワークフロー イベントは「EMS イベント タイプ」でドキュメント化されています。これらのイベントはワークフローだけでなくログ記録にも使用されます。イベントは以下のカテゴリに分類されます。
  • SmLogEmsCat_DirectoryUser。自己登録や変更などエンド ユーザによって生成されたイベントに割り当てられます。
  • SmLogEmsCat_DirectoryAdmin。DMS 管理者によって生成されたイベントに割り当てられます。
  • SmLogEmsCat_DirectorySession。DMS セッション管理と関連付けられたイベントに割り当てられます。
  • SmLogEmsCat_EventPreprocess。ワークフロー プリプロセス手順によって生成されたイベントに割り当てられ、ワークフロー イベントの結果をログ記録するのに使用されます。
  • SmLogEmsCat_EventPostprocess。ワークフロー ポストプロセス手順によって生成されたイベントに割り当てられ、ワークフロー イベントの結果をログ記録するのに使用されます。
プリプロセス イベント
プリプロセス イベントは、DMS 要求が処理される前に発生します。ワークフロー ライブラリは要求を評価し、それを受け入れるか拒否するかを決定する必要があります。受け入れられる場合は要求が実行されます。拒否される場合は、要求は実行されず、プリプロセス エラーが DMS アプリケーションに返されます。オプションで、プリプロセス関数は DMS でユーザに表示するエラー メッセージを設定することができます。
ワークフロー ライブラリはカテゴリ SmLogEmsCat_DirectoryUser および SmLogEmsCat_DirectoryAdmin 内のすべてのイベントを前処理するために呼び出されます。
ポストプロセス イベント
ポストプロセス イベントは、DMS 要求が正常に処理された後に発生します。ワークフロー ライブラリは、要求を評価し、ビジネス プロセスによって指示されるすべてのアクションを実行し、成功または失敗のステータスを返します。オプションで、ポストプロセス関数は DMS でユーザに表示するエラー メッセージを設定することができます。ポストプロセスの失敗はトランザクションのロールバックにつながらないことを念頭に置いてください。受け入れられない要求はプリプロセスで検出されます。
ワークフロー ライブラリは、SmLogEmsCat_DirectorySession に加えて、SmLogEmsCat_DirectoryUser および SmLogEmsCat_DirectoryAdmin カテゴリ内のすべてのイベントを後処理するために呼び出されます。最後のカテゴリはセッション ステータスのみを提供します。