3

Common Information Model (CIM)を使用していますインフラストラクチャをモデル化します。モデルは、さまざまな IT システムの多数のクラスを記述します。これは包括的であるため、1 つではなく一連の階層で構成されています。たとえば、物理サーバー シャーシを表すには、CIM_Chassis のインスタンスを定義します。次に、そのハードウェアで実行される論理サーバーを表すために、CIM_ComputerSystem のインスタンスを定義します。次に、2 つを CIM_SystemPackaging のインスタンスに関連付けて、一方が他方によって提供されることに注意してください。どちらのクラスにも、あるクラスを別のクラスのプロパティとして設定できるプロパティはありません。これらは 2 つの別個のクラスであり、3 番目のクラスによって関連付けられています。モデルは XML で記述され、CIM の現在の XML スキーマによって検証されます。CIM_SystemPackaging の XSD から、どのようなコンテンツが含まれているのかわかりません。

この XML は問題を示しています (chassis は CIM_Chassis.xsd などのエイリアスです)。

<chassis:CIM_Chassis>
  <chassis:CreationClassName>CIM_Chassis</chassis:CreationClassName>    
  <chassis:Manufacturer>Cisco</chassis:Manufacturer>
  <chassis:Model>Catalyst 6000</chassis:Model>
  <chassis:Tag>6548431</chassis:Tag>
</chassis:CIM_Chassis>

<computer:CIM_ComputerSystem>
  <computer:CreationClassName>CIM_ComputerSystem</computer:CreationClassName>
  <computer:Name>Switch1</computer:Name>
</computer:CIM_ComputerSystem>

<sp:CIM_SystemPackaging>
  <sp:Antecedent>?</sp:Antecedent>
  <sp:Dependent>?</sp:Dependent>
</sp:CIM_SystemPackaging>

どこに何を入れればいいですか?それは?スキーマのドキュメントはこの件について沈黙しており、Web 上には XML の例はないようです。これは検証されません:

E [Xerces] cvc-complex-type.2.4.b: The content of element 'sp:Antecedent' is not complete. One of '{WC[##other:"http://schemas.dmtf.org/wbem/wscim/1/common",""]}' is expected.

スキーマでは、Dependent と Antecedent は cimReference 型であり、次のとおりです。

<xs:complexType name="cimReference">
  <xs:sequence>
    <xs:any namespace="##other" maxOccurs="unbounded" processContents="lax"/>
  </xs:sequence>
  <xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:complexType>

だから、それは私をあまり助けません。インスタンスを前提条件内に埋め込むつもりなのかどうか疑問に思いました。

<sp:CIM_SystemPackaging>
  <sp:Antecedent>
    <chassis:CIM_Chassis>
      ...etc...
    </chassis:CIM_Chassis>
  </sp:Antecedent>
  <sp:Dependent>
    <computer:CIM_ComputerSystem>
      ...etc...
    </computer:CIM_ComputerSystem>
  </sp:Dependent>
</sp:CIM_SystemPackaging>

これは問題ありませんが、スケーリングしないようです。シャーシ内の各ハードウェアのオブジェクトが存在する可能性があり、それらはすべて同様の関連付けクラスでシャーシに関連付ける必要があるため、すぐに不可能になります。また、アソシエーション モデル全体に​​反しているようにも見えます。CIM がどのように機能するかを説明できるほど、CIM に詳しい人はいますか?

4

2 に答える 2

1

私は最終的にDSP0230で以下を見つけました:

「この定義の xs:any 要素 [cim:cimReference] は、参照されたエンティティに対してメッセージが送信される可能性のある場所を一意に識別する単一のトランスポート参照の構造を表します。この構造は、完全なトランスポート参照が場所を一意に識別するために複数の要素を必要とする場合、トランスポート参照または一連の要素。」

与えられた例:

<AssociatedComponent xmlns:wsa="http://www.w3.org/2005/08/addressing">
  <wsa:Address>. . .</wsa:Address>
</AssociatedComponent>

CIM が静的な表現ではなく、ネットワーク経由の管理を目的としていることを考えると、それが何か他のものではなく他の場所への参照になることは、ある程度理にかなっています。好きなものを何でも入れることができ、参照を処理するためにアプリケーションロジックで必要になると結論付けています。ほとんどのオブジェクトには InstanceID 要素があるため、それを参照ターゲットとして使用します。

<chassis:CIM_Chassis>
  <chassis:CreationClassName>CIM_Chassis</chassis:CreationClassName>    
  <chassis:InstanceID>uniqueid1</chassis:InstanceID>
  <chassis:Manufacturer>Cisco</chassis:Manufacturer>
  <chassis:Model>Catalyst 6000</chassis:Model>
  <chassis:Tag>6548431</chassis:Tag>
</chassis:CIM_Chassis>

<computer:CIM_ComputerSystem>
  <computer:CreationClassName>CIM_ComputerSystem</computer:CreationClassName>
  <computer:InstanceID>uniqueid2</computer:InstanceID>
  <computer:Name>Switch1</computer:Name>
</computer:CIM_ComputerSystem>

<sp:CIM_SystemPackaging>
  <sp:Antecedent>
    <chassis:InstanceID>unqiueid1</chassis:InstanceID>
  </sp:Antecedent>
  <sp:Dependent>
    <computer:InstanceID>unqiueid2</computer:InstanceID>
  </sp:Dependent>
</sp:CIM_SystemPackaging>
于 2012-11-30T13:43:58.747 に答える
0

あなたが CIM をあきらめたにもかかわらず、私は他の人の利益のためにこれに答える必要があると感じました。

(1) アソシエーションにどの値を入れるかという質問について: あなたは正しい答えを見つけました。値は、DSP0230 で定義された XML の場合、WS-Addressing を使用する CIM インスタンスへの参照です。リファレンスを含む CIM の一般的な概念は、DSP0004で説明されています。

(2) IT 要素の静的表現に CIM を使用する場合: CIM (モデル) はそれを行うことができます。ただし、表された CIM インスタンスにキー値を割り当てる必要があります (行ったように)。基本的に、WBEM サーバー (WMI など) から CIM インスタンスを取得するときに実行時に何が起こるかをシミュレートします。

(3) 表示形式を選択できます。DSP0230 に記載されている WS-CIM を使用しましたが、これは XSD がモデルに依存するという性質があります。これは、あなたが何をしたいかによって、あなたにとって良いことにも悪いことにもなります。固定の XML スキーマを持つ CIM-XML (DSP0201、DSP8044) もあります (もちろん、そのため、WS-CIM よりも肥大化しています)。DSP0211 で説明されている最新の JSON 表現は、WBEM 操作のプロトコル表現のみを目的としており、CIM スキーマの表現はサポートしていません。

(4) CIM は複雑であると述べた回答に対するコメントについて: CIM スキーマの定義だけから CIM モデルを理解しようとしている場合、それには独自の問題がある可能性があります。「管理プロファイル」という概念があります。それらは、CIM スキーマのクラスが特定の管理領域でどのように使用されるかを正確に定義します。DMTF によって公開されている管理プロファイルを参照してください。

アンディ

于 2013-05-25T07:04:43.163 に答える