|
| ヒント : | 開始する前に、「Advanced Registration Flow の開始」を参照してください。Oracle Business Process Management Process Engine で機能するようにコンフィグレーションされているバンドル済みの Oracle Business Process Management Web サービス エンドポイントを使用して Advanced Registration Flow 機能をすぐに利用する場合に役立ちます。 |
Oracle Enterprise Repository には、Oracle Enterprise Repository のアセットの送信、受け入れ、登録、およびその他の管理プロセスの自動化を試行するビルド済みの Oracle Business Process Management フローがバンドルされています。この節では、Oracle Business Process Management Process Engine を起動して、Oracle Enterprise Repository でトリガされるアセット イベントを処理する前に行う必要のあるコンフィグレーションについて説明します。フローをトリガするための Process Engine のコンフィグレーションの詳細については、「Oracle Enterprise Repository Event Manager のコンフィグレーション」を参照してください。
このフローの設計には柔軟性があり、ワークフロー コンフィグレーション ファイル (workflow.xml) または Oracle Business Process Management を使用してカスタマイズできます。この節では、それぞれのフローについても詳しく説明しており、使用環境に合わせた調整の例を挙げています。
この章では、Advanced Registration Flow のコンフィグレーションの方法について説明します。新しいワークフローを作成するには、次の手順に従います。
この節では、ワークフロー コンフィグレーション XML ファイルを作成およびカスタマイズする方法について説明します。
Generate Workflow Config ツール (config_gen.bat) を使用して workflow.xml ファイルを生成します。このツールは、Oracle Enterprise Repository に接続し、カスタマイズ可能なブートストラップ ファイルを作成します。workflow.xml ファイルの生成の詳細については、「ワークフロー コンフィグレーション ファイルの生成」を参照してください。
> config_gen.bat URI User Password ConfigDir
URI = OER URI です。次の形式を使用します。http://<ホスト>:<ポート>/<OER Web アプリケーション名>/services/FlashlineRegistry
例 : http://localhost:7001/alerbuild/services/FlashlineRegistryUser = Oracle Enterprise Repository のユーザ名Password = Oracle Enterprise Repository のパスワードConfigDir = workflow.xml ファイルを作成するディレクトリ| 注意 : | ファイルがすでに存在する場合、既存のファイルの名前は workflow.xml.bak に変更されます。 |
workflow.xml ファイルを <Oracle Business Process Management Enterprise Edition>/enterprise/server/aler_engine ディレクトリにコピーします。workflow.xml ファイルを開きます。
ワークフロー コンフィグレーション ファイルによって、Oracle Enterprise Repository の接続とレジストラの情報が次の XML データからロードされます。
<alerconnection>
<uri>http://localhost.7001/aler/services/FlashlineRegistry</uri>
<registrar>
<user>admin</user>
<password>n0pa55w0rd</password>
</registrar>
</alerconnection>
Security Encrypt Password ツール (runWfSecurity.bat) を使用すると、ワークフロー コンフィグレーション ファイルに格納されているレジストラのパスワードを暗号化できます。このツールは、ファイルを繰り返しスキャンし、見つかったすべてのパスワード要素を暗号化します。
詳細については、「パスワードの暗号化」を参照してください。
図 5-1 に示すように、Advanced Registration Flow は、アセット イベントがトリガされると実行される 1 つまたは複数のフローにイベントを関連付けることのできる柔軟性の高いフレームワークで設計されています。

| 注意 : | すべてのイベントは、あらかじめ定義されているフローに関連付けられます。フローをカスタマイズしたり新しいフローを設計したりした場合は、関連付けのみ変更する必要があります。 |
フローへのアセット イベントの関連付けは、ワークフロー コンフィグレーション ファイル内でコンフィグレーションされます。たとえば、次のコンフィグレーション コードは、「Asset Submitted (アセットの送信完了)」イベントがトリガされると、ワークフロー コンフィグレーション ファイルでコンフィグレーションされているルールに基づいてアセットを自動的に受け入れるフローをそのイベントがトリガすることを示しています。
<!--コミュニティ フロー-->
<state name="urn:com:bea:aler:events:type:AssetSubmission">
<action>CommunityAccept</action>
</state>
<!--多層フロー-->
<state name="urn:com:bea:aler:events:type:AssetAccepted">
<action>MultiTier_Tier1_Assign</action>
</state>
<state name="urn:com:bea:aler:events:type:AssetTabApproved">
<action>MultiTier_NextTier_Assign</action>
</state>
<!--アセット登録状態フロー-->
<state name="urn:com:bea:aler:events:type:AssetAllTabApproved">
<action>AllTabApproved_Register</action>
</state>
このサンプル コンフィグレーションでは、以下のイベントがそれぞれのフローに関連付けられます。<action> 要素には、実行されるフローの名前が記述されます。
一部のフローでは、入力パラメータを使用します。個別のフローに渡されるパラメータはそれぞれ異なります。たとえば、ChangeCAS (カスタム アクセス設定の変更) フローでは、パラメータとして <customAccessSettings> を使用します。アセット登録時の関連付けの例を次に示します。この場合、フローは自動的にカスタム アクセス設定 MyCAS と MyCAS2 を割り当てます。
<state name="urn:com:bea:aler:events:type:AssetRegister">
<action>ChangeCAS</action>
<customAccessSettings>
<customAccessSetting>MyCAS</customAccessSetting>
<customAccessSetting>MyCAS2</customAccessSetting>
</customAccessSettings>
</state>
この節では、Oracle Enterprise Repository Asset Editor で行う手動のアセットの受け入れと登録のプロセスを Advanced Registration Flow で自動化する方法について説明します。Oracle Enterprise Repository Asset Editor を使用する方法とアセット登録プロセスについては、『Oracle Enterprise Repository Registrar Guide』を参照してください。
| 注意 : | リポジトリ ユーザが [Submit an Asset] リンクを使用してアセットを送信する場合は、「Community Acceptance (コミュニティ受け入れ)」フローまたは「Automated Acceptance (自動受け入れ)」フローを有効にしないでください。このコンフィグレーションは、現在 Oracle Enterprise Repository ではサポートされていません。 |
コミュニティ フローは、自動割り当てルールのコンフィグレーションを許可することによってアセットの受け入れ、割り当て、および登録のプロセスを自動化する方法を提供し、さまざまな権限間の「フェデレーション レジストラ」の概念を導入します。システム レジストラ通知を使用してすべてのコミュニティに多数のレジストラを送信するのではなく、システム レジストラを 1 つまたはいくつかのコミュニティに制限し、コミュニティのレジストラの代わりに自動受け入れフローによってアセットの受け入れを行うことができます。コミュニティ フロー機能では、コミュニティのアセットの送信を承認する権限を持つコミュニティにアセットの送信を配布できます。
コミュニティはフロー コンフィグレーション内でコンフィグレーションされ、アセットの種類や生成プロジェクトなどはコミュニティを参照することができます。
図 5-2 は、アセット用のコミュニティをフローによって配置する方法と、自動受け入れのルールをフローによって配置する方法を示しています。

| 注意 : | 自動登録についても同じフローチャートを使用できます。その場合は、autoAccept を autoRegister に置き換えてください。 |
<producingProjectSettings> 要素を使用して、プロジェクト用のコミュニティを定義します。次の例は、「SOA Center of Excellence」コミュニティの「Registry」という名前のプロジェクト (ID は 40000) の作成を示しています。
<producingProjectSettings>
<producingProject name=”Registry” community=”SOA Center of Excellence
id=”40000”/>
</producingProjectSettings>
<assetType> 要素を使用して、アセットの種類用のコミュニティを定義します。次の例は、「SOA Center of Excellence」コミュニティの「Application」という名前のアセットの種類 (ID は 158) の作成を示しています。
<assetType name=”Application” community=”SOA Center of Excellence
id=”158”>
<allTabs>
workflow.xml でアセット用のコミュニティを設定する代わりに、Type Manager と Asset Editor を使用して、アセットの種類用のコミュニティを設定することができます。
次に、Asset Editor の場合は、次の手順に従います。
「アセットの種類用のコミュニティの設定」のコミュニティの設定手順に従い、Asset Editor でアセットのコミュニティ名を設定した場合は、そのコミュニティ名によって workflows.xml ファイルに設定されたコミュニティ名がオーバーライドされます。
次の例は、アセットを自動的に受け入れる「SOA Center of Excellence」コミュニティを設定する方法を示しています。
<communities name=”SOA Center of Excellence autoAccept=”true”>
| 注意 : | リポジトリ ユーザが [Submit an Asset] リンクを使用してアセットを送信する場合は、「Community Acceptance (コミュニティ受け入れ)」フローまたは「Automated Acceptance (自動受け入れ)」フローを有効にしないでください。このコンフィグレーションは、現在 Oracle Enterprise Repository ではサポートされていません。 |
AssetSubmitted イベントがコミュニティ フローに関連付けられている場合は、そのコミュニティ フローによって自動的に割り当てられる承認者のリストが<approvers> 要素で作成されます。
<communities name=”Java” autoAccept=”true”>
<approvers>
<alerid>5003</alerid>
<alerid>5004</alerid>
</approvers>
タブ承認フローにおける <alerid> の使い方については、「タブ承認での <alerid> の使用」を参照してください。
多層割り当ては多層フローと同じですが、これはコミュニティ内で機能します。多層フローの詳細については、「多層自動割り当てフロー」を参照してください。
| 注意 : | コミュニティの多層コンフィグレーション内で提供されるタブは、すべてのアセットの種類に共通のタブである必要があります。 |
次の例は、アセットを自動的に受け入れて登録する「SOA Center of Excellence」コミュニティを設定する方法を示しています。
<communities name=”SOA Center of Excellence autoAccept=”true”
autoRegister=”true”>
アセットの受け入れ、割り当て、および登録にはレジストラのユーザ名とパスワードが必要です。コミュニティ フローでは、アセットが属するコミュニティからレジストラ情報をロードします。アセットがコミュニティに属していない場合や、レジストラ情報がコミュニティに見つからない場合は、コミュニティ フローによってグローバル レジストラが使用されます。
コミュニティ フローによってコミュニティ タグを取得する優先順位を次に示します (図 5-1 を参照)。
コミュニティ フローを使用してアセットを自動的に受け入れて登録するだけでなく、以下のルールを使用してアセットの受け入れおよび登録を行うことができます (図 5-1 を参照)。
| 注意 : | リポジトリ ユーザが [Submit an Asset] リンクを使用してアセットを送信する場合は、「Community Acceptance (コミュニティ受け入れ)」フローまたは「Automated Acceptance (自動受け入れ)」フローを有効にしないでください。このコンフィグレーションは、現在 Oracle Enterprise Repository ではサポートされていません。 |
AssetType 要素内の autoAccept フラグと autoRegister フラグを使用すると、アセットを自動的に受け取るか、または登録することができます。
<assetType name=”Application” autoAccept=”true” autoRegister=”true”
id=”158”>
<allTabs>
<tab name=”Overview”/>
<tab name=”Application Lifecycle”/>
</allTabs>
検索はパフォーマンスに影響を与える可能性があるため、デフォルトでは、フローで autoAccept フラグと autoRegister フラグを検索することはありません。ただし、<action> フラグを使用してこの検索を有効にすることができます。
Categorization の設定をフローで使用する必要がある場合は、次の例に示すように、<action> フラグを true に設定する必要があります。この設定を行わない場合、Categorization の設定は無視されます。
<catgorizationTypeSettings action=”true”>
<catgorizationType name=”AssetFunction” type “100”>
<catgorizations name=”Application Adapters” autoAccept=”false”/>
<catgorizations name=”Customer Information Acquisition” autoAccept=”false”/>
<catgorizations name=”eCommerce Frameworks” autoAccept=”false”/>
</catgorizationType>
サブミッタ ロールを使用すると、アセットを自動的に受け取るか、または登録することができます。次のコンフィグレーションで指定したロールがサブミッタ ロールに一致する場合は、アセットが自動的に受け入れられます。
<automation>
<autoRoles>
<role>admin</role>
<role>accesAdminstrator</role>
</autoRoles>
<autoApprovalTabs>
<tab name=”Documentation”/>
</autoApprovalTabs>
</automation>
複数のルールが特定のイベント トリガに一致する場合もあるため、受け入れや登録などのための自動受け入れおよび自動登録フローによるそれぞれのルールの評価を示す階層が存在します (図 5-1 を参照)。このフローでは、以下の順序でメタデータをスキャンし、メタデータが見つかるとすぐにスキャンを中断してそのメタデータの設定を使用します。
多層フローは、「層」と呼ばれる複数の手順でアセット タブ承認プロセスを構成します。アセット承認タブは複数の層に分類できます。多層フローでは、それぞれの層を追跡し、指定の承認者によってすべてのタブが承認されるかどうかを検証します。ある層の最後のタブが承認されるとすぐに、次のレベルの指定の承認者にアセットを割り当てて、次の層の検証が開始されます。
図 5-5 は、多層プロセスのフローを示しています。

workflow.xml ファイルが生成されると、<allAssetSettings> セクションの下に次の XML セクションが作成されます。これらは、Oracle Enterprise Repository で作成されるすべてのユーザです。
<alerUsers>
<user name="admin" alerid="99"/>
<user name="allpriv" alerid="50000"/>
<user name="nopriv" alerid="50001"/>
<user name="tier1" alerid="50002"/>
<user name="tier2" alerid="50003"/>
<user name="mrsmith" alerid="50004"/>
</alerUsers>
ワークフロー管理者は、アセット タブの承認に使用するユーザを名前で識別し、対応する <alerid> を使用する必要があります。次に、その <alerid> をワークフロー XML (次に示す多層承認フローなど) で使用することができます。
<tiers>
<tier name="Tier1">
<approvers>
<alerid>50001</alerid>
</approvers>
<tabs>
<tab name="Overview"/>
<tab name="Technical"/>
<tab name="Documentation"/>
</tabs>
</tier>
次の例は、「SOA Center of Excellence」コミュニティのタブ承認者用に多層フローをコンフィグレーションしてタブを自動的に受け入れる方法を示しています。
<communities name=”SOA Center of Excellence autoAccept=”true”>
<tiers>
<tier name=”Tier1”>
<approvers>
<alerid>5002</alerid>
</approvers>
<tabs>
<tab name=”Overview”>
<tab name=”Taxonomy”>
</tabs>
</tier>
<tier name=”Tier2”>
<approvers>
<alerid>5003</alerid>
</approvers>
<tabs>
<tab name=”Architecture”>
</tabs>
</tier>
</tiers>
</communities>
| 注意 : | コミュニティの多層コンフィグレーション内で提供されるタブは、すべてのアセットの種類に共通のタブである必要があります。 |
次の例は、アセットの種類が「Application」のタブを多層承認のためにコンフィグレーションする方法を示しています。
<assetType name=”Application” id=”158”>
<allTabs>
<tab name=”Oveview”/>
<tab name=”Application Lifecycle”/>
<tab name=”License Information”/>
<tab name=”Certification Tracking”/>
<tab name=”Taxonomy”/>
<tab name=”Documentation”/>
<tab name=”Relationships”/>
<tab name=”Support”/>
<tab name=”Cost Categories”/>
<tab name=”Ownership”/>
<tab name=”Technology Stack”/>
<tab name=”Operational Information”/>
<tab name=”Miscellaneous”/>
</allTabs>
<tiers>
<!--「_CHANGE_TIER1_NAME_」を層の名前に変更してください-->
<!--例 :- Tier1-->
<tier name=”Tier1”>
<approvers>
<alerid>99</alerid>
</approvers>
<tabs>
<!--「_CHANGE_TABNAME_」をタブの名前に変更してください-->
<!--例 :- Documentation-->
<tab name=”Overview”>
<tab name=”Taxonomy”>
</tabs>
</tier>
</tiers>
メタデータ フローは、アセットのメタデータ要素が変更されるときに 1 つまたは複数のアクションを実行するフローの集まりです。変更されるメタデータ要素は、1 つまたは複数のフローに関連付けられたイベントをトリガします。イベントをフローに関連付ける方法については、「フローへのアセット イベントの関連付け」を参照してください。
メタデータ変更フローを適用できるいくつかの使用例を次に示します。
メタデータ変更フローに関連付けることのできる、使用可能な状態を以下に示します。
| 注意 : | これらのイベントの他にも、カスタム カテゴリを含む任意のカテゴリ変更を関連付けることができます。 |
<state name=”urn:com:bea:aler:events:type:MetaDataChange:name”>
<state name=”urn:com:bea:aler:events:type:MetaDataChange:version”>
<state name=”urn:com:bea:aler:events:type:MetaDataChange:description”>
<state name=”urn:com:bea:aler:events:type:CategorizationChanged:
assetLifecycleStage”/>
<state name=”urn:com:bea:aler:events:type:CategorizationChanged:classification”>
<state name=”urn:com:bea:aler:events:type:MetaDataChange:supported”>
<state name=”urn:com:bea:aler:events:type:MetaDataChange:organizationalOwnership”>
<state name=”urn:com:bea:aler:events:type:MetaDataChange:usageFee”>
ほとんどのアセットの種類の場合、usageFee フィールドは Asset Editor の [Miscellaneous] タブにあります。
あらかじめ定義されているフローのうち、アクションに関連付けることのできるものを以下に示します。これらのフローの名前は、<action> 要素内のコンテンツとして表示されます。この要素は、イベントの発生時に実行する必要のあるアクションを示します。<action> 以外のすべての要素は、特定のフローによって使用されるパラメータです。
ChangeCAS - 1 つまたは複数のカスタム アクセス設定をアセットに適用します。ChangeAssetLifecycle - アセットのアセット ライフサイクル ステージを設定します。ChangeClassification - アセットの分類を設定します。ReAssignAssetToRegistrar - アセットをレジストラに割り当てます。AddCommunityTag - アセットの「コミュニティ」を Oracle Enterprise Repository に保存します。NotifySubscriber - メタデータ変更についてサブスクライバに通知します。NotifyRegistrationActors - メタデータ変更についてレジストラ、サブスクライバ、オーナーなどに通知します。NotifyCustomUser - メタデータ変更についてコンフィグレーション済みのカスタム ユーザに通知します。UnapproveChangeManagementTab - 変更管理プロセスをトリガします。ResetChangeManagementTab - [Change Management] タブが承認されるとすぐに、そのタブの [Reason for reassignment] フィールドをリセットします。CommunityAccept - アセットの送信時に使用されるコミュニティ受け入れフローを呼び出します。CommunityAssign - アセットの受け入れ時に使用されるコミュニティ割り当てフローを呼び出します。MultiTier_Tier1_Assign - アセットの受け入れ時に使用される多層フローを呼び出します。MultiTier_NextTier_Assign - タブの承認時に使用される多層フローを呼び出します。ApproveTabAction - 1 つまたは複数のタブを承認します。UnapproveTabAction - 1 つまたは複数のタブの承認を解除します。AutoApproveTabAction - サブミッタのロールに基づいて 1 つまたは複数のコンフィグレーション済みのタブを承認します。AllTabsApproval_Register - すべてのタブが承認されたときにアセットを登録するためのフローを呼び出します。ReAssignAssetToRegistrar - アセットをレジストラに割り当てて承認します。このフローでは、コミュニティ レジストラ (コンフィグレーションされている場合) を使用します。コミュニティ レジストラがコンフィグレーションされていない場合は、グローバル レジストラを使用します。ResetFlowState - タイマーベースのフローで使用される状態情報をリセットします。これは、未送信のアセットをタイマー フローで追跡する場合や、状態が未送信から送信済みに変更された場合に役立ちます。この場合、状態情報をリセットできます。情報をリセットしない場合、アセットの状態が未送信に戻ると、ワークフローでは以前に設定されたものと同じ状態を使用します。これが必ずしも望ましい設定とは限りません。ResetFlowState アクションを適切なイベントまたは状態で使用して、状態情報をリセットできます。UnRegisterAssetAction - アセットが登録済みの状態の場合に、そのアセットの登録を解除します。autoSyncAlerToUddi - サービスを Oracle Enterprise Repository から Oracle Service Registry に移動するタイマーベースのワークフローです。このワークフローの詳細については、Oracle Enterprise Repository の Oracle Registry Repository Exchange Utility のマニュアルにある「ワークフローを使用した Oracle Registry Repository Exchange Utility の起動」を参照してください。autoSyncUddiToAler - サービスを Oracle Service Registry から Oracle Enterprise Repository に移動するタイマーベースのワークフローです。このワークフローの詳細については、Oracle Enterprise Repository の Oracle Registry Repository Exchange Utility のマニュアルにある「ワークフローを使用した Oracle Registry Repository Exchange Utility の起動」を参照してください。PublishAssetToUddi - 個々のサービスとそのメタデータを Oracle Service Registry に移動します。そのためには、サービスが登録された場合やサービスのライフサイクルが変更された場合にトリガするイベントを関連付けます。このワークフローの詳細については、Oracle Enterprise Repository の Oracle Registry Repository Exchange Utility のマニュアルにある「ワークフローを使用した Oracle Registry Repository Exchange Utility の起動」を参照してください。
次のサンプル コンフィグレーションでは、アセットが登録されたときに「NotifySubscriber」と「ChangeCAS」という 2 つのフローを呼び出すように指定します。<customAccessSettings> 要素は、ChangeCAS フローのパラメータです。このパラメータは、適用する必要のある CAS の名前をフローに通知します。
<state name=”urn:com:bea:aler:events:type:AssetRegister”>
<action>NotifySubscriber</action>
<action>ChangeCAS</action>
<customAccessSettings>
<customAccessSetting>MyCAS</customAccessSetting>
<customAccessSetting>MyCAS2</customAccessSetting>
</customAccessSettings>
</state>
<state name=”urn:com:bea:aler:events:type:AssetUnAccept”>
<action>NotifySubscriber</action>
<action>ChangeClassification</action>
<classification>Approved</classification>
</state>
メタデータ要素の変更時だけでなく、メタデータ要素が特定の値を使用する場合にもフローを呼び出すことができます。たとえば、アセットの「アセット ライフサイクル ステージ」メタデータ要素を「ビルド」から「リリース」に変更する場合は、カスタム アクセス設定の 1 つのセットを適用できます。さらに、メタデータ要素の値を「プラン」から「ビルド」に変更すると、別のセットを適用できます。次に例を示します。
<state name=”urn:com:bea:aler:events:type:CategorizationChanged:AssetLifecycleStage” value=”Stage 4 - Release”>
<action>ChangeCAS</action>
<customAccessSettings>
<customAccessSetting>MyCAS</customAccessSetting>
</customAccessSettings>
</state>
<state name=”urn:com:bea:aler:events:type:CategorizationChanged:AssetLifecycleStage” value=”Stage 3 - Build”>
<action>ChangeCAS</action>
<customAccessSettings>
<customAccessSetting>MyCAS2</customAccessSetting>
</customAccessSettings>
</state>
アセットの分類を設定します。ChangeClassification では、次の要素を使用して分類を設定します。
<state name=”urn:com:bea:aler:events:type:AssetRegister”>
<action>ChangeClassification</action>
<classification>Approved</classification>
</state>
1 つまたは複数のカスタム アクセス設定をアセットに適用します。ChangeCAS では、次の要素を使用してカスタム アクセス設定を行います。
<state name=”urn:com:bea:aler:events:type:AssetRegister”>
<action>ChangeCAS</action>
<customAccessSettings>
<customAccessSetting>MyCAS</customAccessSetting>
<customAccessSetting>MyCAS2</customAccessSetting>
</customAccessSettings>
</state>
アセットのアセット ライフサイクル ステージを設定します。ChangeAssetLifeCycle では、次の要素を使用してアセット ライフサイクルを設定します。
<state name=”urn:com:bea:aler:events:type:AssetRegister”>
<action>ChangeAssetLifeCycle</action>
<assetLifeCycle>Stage 3 - Build</assetLifeCycle>
</state>
ApproveTabAction フローでは、アセットの 1 つまたは複数のタブを承認します。次のコンフィグレーションでは、[Overview] タブと [Taxonomy] タブを承認します。
<state name=?urn:com:bea:aler:events:type:MetaDataChange:name?>
<action>ApproveTabAction</action>
<approveTabs>
<tab name=?Overview?>
<tab name=?Taxonomy?>
</approveTabs>
</state>
次の要素では、タブのリストをコンフィグレーションして、UnapproveTabAction フローで承認が解除されるようにします。
<state name=”urn:com:bea:aler:events:type:MetaDataChange:name”>
<action>UnApproveTabAction</action>
<unapproveTabs>
<Tab name=”Overview”>
<Tab name=”Taxonomy”>
</unapproveTabs>
</state>
AutoApproveTabAction フローでは、サブミッタのロールに基づいてタブを承認します。たとえば、<allAssetSettings> の下にある次の要素では、サブミッタのロールに基づいて自動的に承認する必要のあるタブのリストをコンフィグレーションします。この場合、受け入れ可能なロールもコンフィグレーションされます。
<automation>
<autoRoles>
<role>admin</role>
<role>accesAdminstrator</role>
</autoRoles>
<autoApprovalTabs>
<tab name=”Documentation”/>
</autoApprovalTabs>
</automation>
<state name=”urn:com:bea:aler:events:type:AssetRegister”>
<action>AutoApproveTabAction</action>
</state>
要素のメタデータ要素を変更する場合は、アセットを「変更管理」承認プロセスで処理することができます。このプロセスには以下の処理が含まれます。
<state name=”urn:com:bea:aler:events:type:MetaDataChange:name”>
<action>UnApproveChangeManagementTab</action>
</state>
このフローでは、[Change Management] タブが承認されるとすぐに、そのタブの [Reason for reassignment] フィールドをリセットします。
<state name=”urn:com:bea:aler:events:type:AssetTabApproved”>
<action>MultiTier_NextTier_Assign</action>
<action>ResetChangeManagementTab</action>
</state>
メタデータ変更についてコンフィグレーション済みのカスタム ユーザに通知します。次に示すように、ユーザの電子メール アドレスは、<allAssetSettings> の下にある <customNotification> 要素内にコンフィグレーションされます。
<allAssetSettings>
<notification timerInterval=”id”>
<customNotification>
<emailAddress>smith@bea.com</emailAddress>
</customNotification>
</notification>
次に示すように、メタデータ変更フローは、特定のタブの承認に基づいて実行できます。
<state name="urn:com:bea:aler:events:type:AssetTabApproved" value ="Overview">
<action>MultiTier_NextTier_Assign</action>
<action>ChangeAssetLifecycle</action>
<assetLifecycle>Stage 3 - Build</assetLifecycle>
</state>
時間ベースのエスカレーション フローでは、さまざまな状態のアセットを追跡し、関連するすべての担当者に通知します。以下の節では、時間ベースのエスカレーション フローをコンフィグレーションする方法について説明します。時間ベースのエスカレーション フローには 4 種類あり、各フローを個別にコンフィグレーションできます。手順については、以下の節を参照してください。
workflow.xml コンフィグレーション ファイルを開き、<notification> 要素を探します。
<notification timerInterval=”1d”>
<numTimesNotify>10</numTimesNotify>
<daysBeforeNextNotification>2</daysBeforeNextNotification>
"1d" に設定する必要があります。この場合、フローは 1 日に 1 回トリガされます。ただし、テストを行う場合は、"1m" または "5m" に設定してフローを毎分または 5 分ごとにトリガすることができます。また、更新ツールを使用して更新できる他のフィールドの変更とは異なり、このフィールドが変更されるたびにイベント エンジンを再起動する必要があります。| 注意 : | 分単位でフローをトリガするように timerInterval 要素が分単位でコンフィグレーションされている場合は、daysBeforeNextNotification に指定された間隔も分単位であると解釈されます。 |
図 5-8 は、時間ベースのエスカレーション フローを示しています。

このフローでは、「未送信」状態のアセットを追跡し、オーナーに通知を送信してアクションを実行します。
<owner_resubmit action=”false” days=”0” regressOnInaction=”true” queryOperator=”eq”/>
このフローでは、「未受け入れ」状態のアセットを追跡し、レジストラに通知を送信してアクションを実行します。
<registrar_accept action=”false” days=”0” regressOnInaction=”true” queryOperator=”eq”/>
action="true" はフローを有効にし、action="false" はフローを無効にします。days="10" は、10 日前に未送信状態になったアセットを追跡します。時間ベースのエスカレーション フローでは、今日の日付を使用して、この属性から値を減算します。regressOnInaction="true" は、アクションが実行されていないアセットを元の状態に戻すことができます。たとえば、送信済みのアセットを未送信に戻すことができます。queryOperator="eq" は、クエリに日付が使用される場合に等価演算子を使用します。指定できるその他の値は "lte"、"gte" などです。
このフローでは、「未承認」状態のアセットを追跡し、承認者に通知を送信してアクションを実行します。
<assignees_approve action=”false” days=”0” regressOnInaction=”true” queryOperator=”eq”/>
action="true" はフローを有効にし、action="false" はフローを無効にします。days="10" は、10 日前に未送信状態になったアセットを追跡します。時間ベースのエスカレーション フローでは、今日の日付を使用して、この属性から値を減算します。regressOnInaction="true" は、アクションが実行されていないアセットを元の状態に戻すことができます。たとえば、受け入れ済みのアセットを未受け入れに戻すことができます。queryOperator="eq" は、クエリに日付が使用される場合に等価演算子を使用します。指定できるその他の値は "lte"、"gte" などです。
このフローでは、「登録解除済み」状態のアセットを追跡し、承認者に通知を送信してアクションを実行します。
<registrar_register action=”false” days=”0” regressOnInaction=”true” queryOperator=”eq”/>
action="true" はフローを有効にし、action="false" はフローを無効にします。days="10" は、10 日前に未送信状態になったアセットを追跡します。時間ベースのエスカレーション フローでは、今日の日付を使用して、この属性から値を減算します。regressOnInaction="true" は、アクションが実行されていないアセットを元の状態に戻すことができます。たとえば、受け入れ済みのアセットを未受け入れに戻すことができます。queryOperator="eq" は、クエリに日付が使用される場合に等価演算子を使用します。指定できるその他の値は "lte"、"gte" などです。
検証の有効期限フローでは、有効期限前および有効期限当日に期限の切れるアセットを追跡し、関連するすべての担当者に警告の通知を送信します。有効期限の X 日後に、フローはアセットの登録を解除します。有効期限の Y 日後に、フローはアセットを非アクティブにします。有効期限の Z 日後に、フローはアセットを削除します。
<notification timerInterval=”1d”>
<numTimesNotify>10</numTimesNotify>
<daysBeforeNextNotification>2</daysBeforeNextNotification>
timerInterval 属性は、フローがトリガされるまでの間隔をコンフィグレーションします。この属性は "1d" に設定する必要があります。この場合、間隔は 1 日です。ただし、テストを行う場合は、"1m" または "5m" に設定して毎分または 5 分ごとにトリガすることができます。また、更新ツールを使用して更新できる他のフィールドの変更とは異なり、このフィールドが変更されるたびにイベント エンジンを再起動する必要があります。numTimesNotify 要素は、検証の有効期限フローで通知を送信する回数を指定します。daysBeforeNextNotification 要素は、通知を送信する間隔を日数で指定します。<expiration>
<expiration_warning action=”false” days=”10” owner=”false” subscriber=”false” contact=”99”/>
<unregister_after_expire action=”true” days=”10” queryOperator=”eq”/>
<inactive_after_expire action=”true” days=”10” queryOperator=”eq”/>
<delete_after_expire action=”true” days=”10” queryOperator=”eq”/>
</expiration>
図 5-9 は、検証の有効期限フローを示しています。

アセットの有効期限を設定するには、図 5-10 に示す Asset Editor の [Miscellaneous] タブにある [Expiration Date (YYYY-MM-DD)] フィールドに日付を指定します。
![Asset Editor の [Miscellaneous] タブにある [Expiration Date (YYYY-MM-DD)] フィールド](wwimages/exp_date.gif)
次に示す行では、警告の通知を有効にして、その通知を受け取るユーザを指定します。
<expiration_warning action=”false” days=”10” owner=”false” subscriber=”false” contact=”99”/
| 注意 : | days 要素では、警告を送信する必要のある、有効期限までの日数をコンフィグレーションします。 |
次に示す行では、メタデータ変更フローを有効にして、有効期限の 10 日後にアセットの登録を解除します。
<unregister_after_expire action=”true” days=”10” queryOperator=”eq”/>
次に示す行では、メタデータ変更フローを有効にして、有効期限の 10 日後にアセットを非アクティブにします。
<inactive_after_expire action=”true” days=”10” queryOperator=”eq”/>
次に示す行では、メタデータ変更フローを有効にして、有効期限の 10 日後にアセットを削除します。
<delete_after_expire action=”true” days=”10” queryOperator=”eq”/>
自動登録フローでは、さまざまな状況で自動的に電子メール通知が送信されます。新しいフローのための新しい電子メール テンプレートは 5 つあります。電子メール テンプレートは Oracle Enterprise Repository 内に格納され、フローでは名前と値のペアを渡して Oracle Enterprise Repository API を呼び出します。この名前と値のペアは、後から Oracle Enterprise Repository によって置き換えられます。
管理者は、他の電子メール テンプレートの場合と同様に、電子メールの件名や本文などをカスタマイズできます。Advanced Registration Flow で使用されるテンプレートを以下に示します。
<%asset.reg.status%> が <%action.pending.days%> 日以上変更されていないことを通知します。
電子メール テンプレートの詳細については、『Oracle Enterprise Repository Administration Guide』を参照してください。
|