トラバーサル構成

トラバーサル構成は、オブジェクト間の対象とする関係と除外する関係からなります。

デフォルトでは、ビジネス・アプリケーション合成時に、既存のすべての CI とそれらの関係がトラバースされます。 ビジネス・アプリケーションは、グループ化パターンの処理中に合成されます。 ただし、トラバーサル構成を使用することで、この処理で一部の関係をスキップできます。 つまり、コンポジターは、除外された関係をそれ以上処理しません。 この構成は、共通データ・モデルで定義されている暗黙的関係、または任意の CI をリンクできて、TADDM API または TADDM UI で作成可能な明示的関係のいずれかに適用されます。 ただし、explicitrel.sh スクリプトを使用して暗黙的関係に対して生成された明示的関係は、デフォルトで無視されます。このような関係を構成することはできません。

以下の例では、最初の 2 つの relation タグにより、すべての入出力関係を除外して、CI タイプ全体が完全に除外されます。 3 つ目の relation タグにより、1 つの単純な関係のみが除外されます。

例:
<traversalConfiguration>
		<excludedRelationships>
				<exclude relation="{any}" source="admin.AdminInfo" target="{any}"/>
				<exclude relation="{any}" source="{any}" target="admin.AdminInfo"/>
				<exclude relation="only relation.DeployedTo" source="app.j2ee.J2EEApplication" target="app.j2ee.websphere.WebSphereCell"/>
				...
		<includedRelationships>
				<include relation="{any}" source="admin.AdminInfo" target="{any}"/>
				<include relation="{any}" source="{any}" target="admin.AdminInfo"/>
				...
トラバーサル構成は、以下のパラメーターで構成されています。
excludedRelationships
このパラメーターには、一連の除外される関係が含まれます。
includedRelationships
このパラメーターには、一連の組み込まれる関係が含まれます。 デフォルトではすべての関係が組み込まれますが、このパラメーターは、グループ化パターン構成で、デフォルト構成で除外されている関係を組み込む場合に役立ちます。
excludedRelationships パラメーターおよび includedRelationships パラメーターには以下のエレメントが含まれます。
relation
関係または依存タイプの名前。
source
関係ソース・オブジェクト・タイプの名前。 特定のソースを定義しない場合は、この値を {any} に設定できます。
フィックスパック 2 TADDM 7.3.0.2 以降では、モデル・オブジェクトの hierarchyType 属性を関係のソースに追加して、より具体的なものにすることもできます。 関係ソース・オブジェクト・タイプの名前の後に、コロン (:) および hierarchyType 属性の値を追加します。 例えば、source="app.AppServer:IBMTivoliEnterpriseConsole" です。
正しい値を確認するには、以下のようにします。hierarchyTypeTADDM API を使用して、特定のタイプの CI を照会できます。
フィックスパック 3 TADDM 7.3.0.3 以降では、より具体的になるように、モデル・オブジェクトの hierarchyDomain 属性を関係のソースに追加することもできます。 関係ソース・オブジェクト・タイプの名前の後に、コロン (:) および hierarchyDomain 属性の値を追加します。 このフィルターを適用する場合は、hierarchyType 属性の値も追加する必要があります。 例えば、 source="simple.SSoftwareServer:app.placeholder.client.remote.Unknown"と入力します。ここで、 app.placeholder.client.remotehierarchyDomain 属性の値、 UnknownhierarchyType 属性の値です。 hierarchyType 属性は必ず末尾に指定し、hierarchyDomain 属性とドットで区切ります。
アスタリスク (*) を使用することもできます。アスタリスクは、ドメイン・ネームの 1 つ以上の部分、または hierarchyType 属性を表します。 例:
source="simple.SSoftwareServer:app.placeholder.*.Unknown"
source="simple.SSoftwareServer:app.placeholder.client.remote.*"
ターゲット
関係ターゲット・オブジェクト・タイプの名前。 特定のターゲットを定義しない場合は、この値を {any} に設定できます。
フィックスパック 2 TADDM 7.3.0.2 以降では、モデル・オブジェクトの hierarchyType 属性を関係のターゲットに追加して、より具体的にすることもできます。 関係ターゲット・オブジェクト・タイプの名前の後に、コロン (:) および hierarchyType 属性の値を追加します。 例えば、target="app.AppServer:MySql" です。
正しい値を確認するには、以下のようにします。hierarchyTypeTADDM API を使用して、特定のタイプの CI を照会できます。
フィックスパック 3 TADDM 7.3.0.3 以降では、モデル・オブジェクトの hierarchyDomain 属性を関係のターゲットに追加して、より具体的なものにすることもできます。 関係ターゲット・オブジェクト・タイプの名前の後に、コロン (:) および hierarchyDomain 属性の値を追加します。 このフィルターを適用する場合は、hierarchyType 属性の値も追加する必要があります。 例えば、 target="simple.SSoftwareServer:app.placeholder.server.local.Java"と入力します。ここで、 app.placeholder.server.localhierarchyDomain 属性の値、 JavahierarchyType 属性の値です。 hierarchyType 属性は必ず末尾に指定し、hierarchyDomain 属性とドットで区切ります。
アスタリスク (*) を使用することもできます。アスタリスクは、ドメイン・ネームの 1 つ以上の部分、または hierarchyType 属性を表します。 例:
target="simple.SSoftwareServer:*.placeholder.*.Java"
target="simple.SSoftwareServer:app.placeholder.*"
フィックスパック 2direction
フィックスパック 2特定の関係に対して定義される依存関係トラバーサルの方向。 指定可能な値を以下に示します。
  • UP: 現在のトラバーサル方向が、ソース・オブジェクト・タイプから開始して、依存関係チェーンの上方向にトラバースする場合にのみ、除外ルールまたは組み込みルールが適用されます。
  • DOWN: 現在のトラバーサル方向が、ソース・オブジェクト・タイプから開始して、依存関係チェーンの下方向にトラバースする場合にのみ、除外ルールまたは組み込みルールが適用されます。
  • UP_AFTER_DOWN: 現在のトラバーサル方向が、ソース・オブジェクト・タイプから開始して、依存関係チェーンの下方向にトラバースし、次に上方向にトラバースする場合にのみ、除外ルールまたは組み込みルールが適用されます。 これは、LowerUp オプション (データ管理ポータルで選択できます) と同じです。
  • DOWN_AFTER_UP: 現在のトラバーサル方向が、ソース・オブジェクト・タイプから開始して、依存関係チェーンの上方向にトラバースし、次に下方向にトラバースする場合にのみ、除外ルールまたは組み込みルールが適用されます。 これは、HigherDown オプション (データ管理ポータルで選択できます) と同じです。

トラバーサル構成は、共通データ・モデルで定義されている関係の方向に関連付けられます (関係の方向の構成は考慮されません)。 ただし、明示的な依存関係の場合、ソースおよびターゲット・クラスは共通データ・モデルによって制限されないため (任意のクラスを明示的関係のソースまたはターゲットとして使用できます)、明示的依存関係のトラバーサルでは方向が考慮されます。

その他の例

  • 特定のオブジェクトのペアの間の特定の関係をスキップする。
    <exclude relation="relation.RunsOn" source="sys.OperatingSystem" target="sys.ComputerSystem"/>
  • 特定のクラスがソースとなっているすべての関係をスキップする。
    <exclude relation="{any}" source="net.BindAddress" target="{any}"/>
  • 特定のクラスがターゲットとなっているすべての関係をスキップする。
    <exclude relation="{any}" source="{any}" target="net.BindAddress"/>
  • 関係はスキップする一方、そのサブクラスはスキップしない。
    注: dev.RealizesExtentrelation.Realizes のサブクラスであり、 relation.Realizes がスキップされても処理されます。
    <exclude relation="only relation.Realizes" source="sys.FileSystem" target="sys.FileSystem"/>
  • フィックスパック 2 アプリケーション・サーバー・オブジェクト・タイプの IBM Tivoli Enterprise Console オブジェクトがソースとなっているすべての関係をスキップする。
    <exclude relation="{any}" source="app.AppServer:IBMTivoliEnterpriseConsole" target="{any}"/>
    注: カスタム・サーバー・テンプレートの hierarchyType 属性について詳しくは、 カスタム・サーバー・テンプレートの作成および管理を参照してください。
  • フィックスパック 2 特定のオブジェクトのペアの間の特定の関係をスキップする。 また、このような関係がスキップされるのは、オブジェクトを依存チェーンの下方向にトラバースしているときに見つかった場合のみです。
    <exclude relation="relation.RunsOn" source="app.AppServer" target="sys.ComputerSystem" direction="DOWN"/>
    この除外ルールをパターン構成に追加し、これをコンピューター・システム CI がコア CI (トラバーサル開始点) であるパターンに付加すると、アプリケーション・サーバーがコンピューター・システムに依存しているため、このコア CI で実行されるすべてのアプリケーション・サーバー (アプリケーション) がトポロジーに追加されます。 すでに追加済みのアプリケーション・サーバーと接続している他のアプリケーション・サーバーは、IP 接続の依存性を介してトポロジーに追加することもできます。 ただし、上記の例に示した除外ルールが適用されるのは、トラバーサル・エンジンが、これらのアプリケーション・サーバーが稼働しているホスト・コンピューター・システムを追加しようとした場合です。 この場合、「アプリケーション・サーバー」->「実行場所」->「コンピューター・システム」関係が下方向にトラバースされ、除外ルールが適用されます。
  • フィックスパック 3 ターゲットが SSoftwareServer タイプのオブジェクトであり、 hierachyDomain 属性が app.placeholder.client.remoteに設定され、 hierarchyType 属性が Unknownに設定されている関係をスキップします。
    <exclude relation="{any}" source="{any}" target="simple.SSoftwareServer:app.placeholder.client.remote.Unknown"/>
特定の関係のセットのみをトラバースするように BizAppsAgent を構成することもできます。 例えば次のとおりです。
<excludedRelationships>
<exclude source="{any}" target="{any}" relation="{any}"/>
</excludedRelationships>
<includedRelationships>
<include target="{any}" source="sys.SystemPComputerSystem" relation="relation.Virtualizes"/>
<include target="{any}" source="sys.linux.LinuxUnitaryComputerSystem" relation="relation.Virtualizes"/>
<include target="{any}" source="only sys.ComputerSystem" relation="relation.Virtualizes"/>
</includedRelationships>