Esquema do banco de dados Inventário no ZfD

A seção a seguir descreve as classes do esquema do banco de dados e as extensões e associações feitas para o esquema CIM para uso no ZfD. Essas extensões possuem ZENworks ou ManageWise como seus nomes de esquema. ZENworks.classname se refere à classe estendida no esquema ZENworks e ManageWise.classname se refere à classe estendida no esquema ManageWise.

As seções a seguir ajudarão você a compreender o esquema do banco de dados do ZfD 4:


Estudo de caso da implementação do esquema CIM no ZfD

O cenário a seguir descreve uma estação de trabalho inventariada que possui duas portas paralelas com um número de interrupção especificado.

No diagrama de esquema a seguir, o CIM_UnitaryComputerSystem representa um sistema de inventário gerenciado.

Nesta ilustração a classe CIM.PointingDevice se associa a CIM.UnitaryComputerSystem usando a associação CIM.SystemDevice com SystemDevice.GroupComponent apontando para CIM.UnitaryComputerSystem e SystemDevice.PartComponent apontando para CIM.PointingDevice. O relacionamento entre as duas classes é de um para vários. Isso significa que um sistema de computador pode ter mais de um dispositivo apontador.

A classe CIM.IRQ se associa a CIM.PointingDevice usando a associação CIM.AllocatedResource. Dependent apontando para CIM.PointingDevice e Antecedent apontando para CIM.IRQ.

A classe ZENworks.ZENKeyboard se associa a CIM.UnitaryComputerSystem usando a associação CIM.SystemDevice com SystemDevice.GroupComponent apontando para CIM.UnitaryComputerSystem e SystemDevice.PartComponent apontando para ZENworks.ZENKeyboard. O relacionamento entre as duas classes é de um para um. Isso significa que um sistema de computador pode ter somente um teclado.

A classe ZENworks.BIOS se associa a CIM.UnitaryComputerSystem usando a associação CIM.SystemDevice com SystemDevice.GroupComponent apontando para CIM.UnitaryComputerSystem e SystemBIOS.PartComponent apontando para ZENworks.BIOS. O relacionamento entre as duas classes é de um para um. Isso significa que um sistema de computador pode ter somente um BIOS.

A classe CIM.ZENworks.ParallelPort se associa a CIM.UnitaryComputerSystem usando a associação CIM.SystemDevice com SystemDevice.GroupComponent apontando para CIM.UnitaryComputerSystem e SystemDevice.PartComponent apontando para CIM.ZENworks.ParallelPort. O relacionamento entre as duas classes é de um para vários. Isso significa que um sistema de computador pode ter mais de uma porta paralela.

A classe ZENworks.BUS se associa a CIM.UnitaryComputerSystem usando a associação CIM.SystemDevice com SystemDevice.GroupComponent apontando para CIM.UnitaryComputerSystem e SystemBUS.PartComponent apontando para ZENworks.BUS. O relacionamento entre as duas classes é de um para um. Isso significa que um sistema de computador pode ter somente um BUS.

A classe ManageWise.User se associa a CIM.UnitaryComputerSystem usando CurrentLoginUser e LastLoginUser. Na associação CurrentLoginUser, a instância específica de usuário é quem está atualmente conectado à estação de trabalho inventariada. Na associação LastLoginUser, a instância específica de usuário é quem efetuou login por último na estação de trabalho inventariada.

A classe CIM.IRQ se associa a CIM.ParallelPort usando a associação CIM.AllocatedResource. Dependent apontando para CIM.ParallelPort e Antecedent apontando para CIM.IRQ.


O diagrama de esquema para CIM_UnitaryComputerSystem com suas associações

O diagrama do esquema ilustra o seguinte:

Todas as outras classes seguem representação semelhante. Para diagramas de esquema de outras classes, consulte Diagramas de esquema CIM e o esquema de extensão no ZfD .


Legendas de diagramas de esquema

As legendas para leitura dos diagramas de esquema são as seguintes:

Para obter uma explicação sobre o esquema CIM, consulte a especificação de esquema CIM 2.2 no site do DMTF na Web.


Classes CIM e classes de extensão no ZfD

A tabela a seguir descreve as classes CIM e as de extensão que o ZfD usa.

Classe CIM e classe de extensão no ZfD Descrição dos detalhes que a classe modela

CIM.PointingDevice

Qualquer dispositivo apontador disponível no sistema gerenciado. Usado, na maioria das vezes, para modelar o mouse.

ZENworks.SystemInfo

Detalhes de identificação sobre o sistema, tais como número de série e etiqueta de patrimônio.

ZENworks.PointingDeviceDeviceDriver

Driver de dispositivo instalado com o dispositivo apontador.

ZENworks.SerialPort

Portas seriais no sistema gerenciado.

ZENworks.ParallelPort

Portas paralelas no sistema gerenciado.

ZENworks.ZENKeyboard

Atributos que modelam as propriedades do teclado do sistema.

ZENworks.BIOS

Software BIOS no sistema.

ZENworks.Bus

Barramento do sistema no sistema.

ManageWise.User

Detalhes do usuário que efetuou login na estação de trabalho inventariada.

ManageWise.MSDomainName

Nome do domínio ao qual a estação de trabalho inventariada do Windows NT está anexada.

ManageWise.NDSName

Nome de DN e árvore sob a qual a estação de trabalho inventariada gerenciada está registrada no Novell eDirectoryTM.

CIM.VideoBIOSElement:

Driver do vídeo.

CIM.Processor

Processador da estação de trabalho inventariada.

ZENworks.Videoadapter

Propriedades do monitor e do adaptador conectados a ele.

ZENworks.ZENOperatingSystem

Detalhes do sistema operacional.

ZENworks.InventoryScanner

Detalhes do scanner de inventário que explorou detalhes de hardware e de software da estação de trabalho inventariada.

ZENworks.NetwareClient

Versão do NetWare client da estação de trabalho inventariada.

CIM.Product

Software instalado no sistema gerenciado. Atributos da chave são os nomes do produto, do fornecedor e da versão.

ZENworks.ZENNetworkAdapter

Informações sobre as propriedades do adaptador de rede.

ZENworks.NetworkAdapterDriver

Informações sobre o driver do adaptador da placa de rede.

CIM.IPProtocolEndpoint

Endereço IP da estação de trabalho inventariada.

CIM.IPXProtocolEndpoint

Endereço IPX da estação de trabalho inventariada.

CIM.LANEndpoint

Endereço MAC ativo.

ManageWise.DNSName

Nome DNS da estação de trabalho inventariada.

ZENworks.SoundAdapter

Descrição do adaptador de multimídia da estação de trabalho inventariada.

ZENworks.ZENPOTSModem

Configuração física do dispositivo de modem.

CIM.DMA

Informações sobre os canais DMA do sistema.

CIM.CacheMemory

Informações sobre o cache do sistema configurado.

CIM.IRQ

Lista de canais de interrupção e seus status no sistema. Eles também são associados aos dispositivos que usam o número de interrupção especificado.

ZENworks.MotherBoard

Informações sobre a placa-mãe da estação de trabalho inventariada.

CIM.PowerSupply

Informações sobre a unidade da fonte de alimentação da estação de trabalho inventariada.

CIM.Battery

Detalhes físicos da bateria do sistema.

CIM.Card

Detalhes das placas do adaptador montadas na placa do sistema.

CIM.Slot

Slots de expansão disponíveis na placa do sistema.

ZENworks.StoragePhysicalMedia

Informações físicas sobre os dispositivos de armazenamento na estação de trabalho inventariada, tais como disco rígido, unidades de disquete, unidades de CD e outros.

ZENworks.LogicalDiskette

Unidade mapeada para a unidade de disquete.

ZENworks.PhysicalDiskette

Derivado de ZENworks.StoragePhysicalMedia para modelar a unidade de disquete.

ZENworks.PhysicalDiskDrive

Derivado de ZENworks.StoragePhysicalMedia para modelar o disco rígido.

ZENworks.LogicalDiskDrive

Informações sobre as unidades locais no disco rígido.

CIM.LocalFileSystem

Informações sobre o sistema de arquivos locais instalado nos servidores Windows.

ZENworks.PhysicalCDROM

Derivado de ZENworks.StoragePhysicalMedia para modelar a unidade de CD.

ZENworks.WinOperatingSystem

Detalhes do sistema operacional Windows.

ZENworks.ZENDiskDrive

Detalhes das unidades de disco removíveis ou fixas.

ZENworks.LogicalCDROM

Unidade mapeada para a unidade de CD.


Diagramas de esquema CIM e o esquema de extensão no ZfD

Os diagramas a seguir do esquema CIM e de extensão modelam o banco de dados Inventário no ZfD.

No diagrama de esquema a seguir, o CIM_UnitaryComputerSystem representa um sistema de inventário gerenciado.

Nesta ilustração a classe CIM.PointingDevice se associa a CIM.UnitaryComputerSystem usando a associação CIM.SystemDevice com SystemDevice.GroupComponent apontando para CIM.UnitaryComputerSystem e SystemDevice.PartComponent apontando para CIM.PointingDevice. O relacionamento entre as duas classes é de um para vários. Isso significa que um sistema de computador pode ter mais de um dispositivo apontador.

A classe CIM.IRQ se associa a CIM.PointingDevice usando a associação CIM.AllocatedResource. Dependent apontando para CIM.PointingDevice e Antecedent apontando para CIM.IRQ.

A classe ZENworks.ZENKeyboard se associa a CIM.UnitaryComputerSystem usando a associação CIM.SystemDevice com SystemDevice.GroupComponent apontando para CIM.UnitaryComputerSystem e SystemDevice.PartComponent apontando para ZENworks.ZENKeyboard. O relacionamento entre as duas classes é de um para um. Isso significa que um sistema de computador pode ter somente um teclado.

A classe ZENworks.BIOS se associa a CIM.UnitaryComputerSystem usando a associação CIM.SystemDevice com SystemDevice.GroupComponent apontando para CIM.UnitaryComputerSystem e SystemBIOS.PartComponent apontando para ZENworks.BIOS. O relacionamento entre as duas classes é de um para um. Isso significa que um sistema de computador pode ter somente um BIOS.

A classe CIM.ZENworks.ParallelPort se associa a CIM.UnitaryComputerSystem usando a associação CIM.SystemDevice com SystemDevice.GroupComponent apontando para CIM.UnitaryComputerSystem e SystemDevice.PartComponent apontando para CIM.ZENworks.ParallelPort. O relacionamento entre as duas classes é de um para vários. Isso significa que um sistema de computador pode ter mais de uma porta paralela.

A classe ZENworks.BUS se associa a CIM.UnitaryComputerSystem usando a associação CIM.SystemDevice com SystemDevice.GroupComponent apontando para CIM.UnitaryComputerSystem e SystemBUS.PartComponent apontando para ZENworks.BUS. O relacionamento entre as duas classes é de um para um. Isso significa que um sistema de computador pode ter somente um BUS.

A classe ManageWise.User possui duas associações com CIM.UnitaryComputerSystem, CurrentLoginUser e LastLoginUser. Na associação CurrentLoginUser, a instância específica de usuário é quem está atualmente conectado à estação de trabalho inventariada. Na associação LastLoginUser, a instância específica de usuário é quem efetuou login por último na estação de trabalho inventariada.

A classe CIM.IRQ se associa a CIM.ParallelPort usando a associação CIM.AllocatedResource. Dependent apontando para CIM.ParallelPort e Antecedent apontando para CIM.IRQ.


Diagrama de esquema para CIM_UnitaryComputerSystem e o modelo de esquema de extensão


Diagrama de esquema para CIM_UnitaryComputerSystem


Diagrama de esquema para CIM_UnitaryComputerSystem


Diagrama de esquema para CIM_UnitaryComputerSystem


Diagrama de esquema para CIM_UnitaryComputerSystem


Diagrama de esquema para CIM_UnitaryComputerSystem


Esquema de inventário personalizado

Um atributo de inventário personalizado possui os seguintes qualificadores no banco de dados:

Qualificador Descrição

Nome

O nome do atributo personalizado

Valor

O valor designado ao atributo personalizado

Tipo

O tipo de dados do atributo personalizado. ZfD 4 trata todos os atributos personalizados para serem somente do tipo "String".

ClassName

A Classe de Inventário (tabela) à qual o atributo personalizado é associado.

Instância

O número de valores atribuídos a um atributo personalizado específico. No ZfD 4, você não pode ter mais de um valor para um atributo personalizado.

ID

O id (id$) do objeto Inventário ao qual o atributo personalizado será associado.

CID

O ID exclusivo do nome de atributo personalizado.

As informações de inventário personalizadas são armazenadas em duas tabelas: ZENworks.CustomName e Zenworks.CustomValue.

A tabela ZENworks.CustomName contém o nome de atributo, o ID, o tipo (não usado) e o nome da classe. O ID de atributo é automaticamente incrementado quando um novo atributo personalizado é armazenado.

Uma tabela ZENworks.CustomName de amostra é da seguinte forma:

ID Nome Nome da Classe

1

Cost

ZENworks.VideoAdapter

2

ProductUnit

CIM.UnitaryComputerSystem

A tabela Zenworks.CustomValue contém o ID de instância de objeto, o valor de atributo e a referência ao nome de atributo personalizado associado. Na tabela CustomValue, um atributo personalizado pode ter vários valores para instâncias diferentes de um objeto Inventário, mas não para a mesma instância do objeto Inventário.

Uma tabela Zenworks.CustomValue de amostra é da seguinte forma:

ID Instância CID Valor

28147497671065605

1

1

200.39

28147497671065606

1

1

345

69147497671045662

1

2

BAY-2

No exemplo anterior, a tabela CustomName possui dois atributos personalizados, Custo e ProductUnit. Há três linhas na tabela CustomValue; duas delas descrevem o custo do adaptador de vídeo e a terceira é o valor do atributo ProductUnit designado diretamente a ComputerSystem.


Consultas de amostra do banco de dados Inventário

A seguir, consultas de amostra para recuperar as informações de inventário do banco de dados Inventário do ZfD.

Consulte os diagramas de esquema em Diagramas de esquema CIM e o esquema de extensão no ZfD para encontrar as classes de esquema associadas e as informações de atributo.

  1. Recupere o nome e o ID de todas as estações de trabalho inventariadas do banco de dados e também da árvore do eDirectory na qual essas estações de trabalho estão registradas. A consulta é a seguinte:

    SELECT u.id$,m.label,m.tree FROM managewise.NDSName
    m,cim.UnitaryComputerSystem u,managewise.Designates s
    where s.Designation=m.id$and s.HOST=u.id$

    Na consulta acima, o nome de árvore é parte do nome do sistema de computador.

  2. Recupere a etiqueta de patrimônio, o fabricante e o número de modelo de todas as estações de trabalho inventariadas no banco de dados. A consulta é a seguinte:

    SELECT m.Tag as AssetTag,m.Manufacturer,m.SerialNumber as ModelNumber FROM cim.UnitaryComputerSystem u,zenworks.SystemInfo m,cim.ComputerSystemPackage s WHERE s.Antecedent=m.id$ and s.Dependent=u.id$

  3. Recupere todos os aplicativos Microsoft com suas versões e IDs que estão instalados na estação de trabalho inventariada 'SJOHN164_99_139_79' registrada sob a árvore 'NOVELL_AUS' do eDirectory. A consulta é a seguinte:

    SELECT m.name,m.version,m.IdentifyingNumber FROM cim.Product m,cim.UnitaryComputerSystem u, zenworks.InstalledProduct s WHERE (s.Product=m.id$ and s.ComputerSystem=u.id$) AND u.name='SJOHN164_99_139_79.Novell_AUS'AND m.Vendor LIKE 'Microsoft%'

  4. Recupere as informações do processador para a estação de trabalho inventariada 'SJOHN164_99_139_79.NOVELL_AUS'. A consulta é a seguinte:

    SELECT m.DeviceID,m.Family,m.Stepping,m.OtherFamilyDescription,m.MaxClockSpeed,m.CurrentClockSpeed,m.Role,m.UpgradeMethod FROM cim.Processor m,cim.UnitaryComputerSystem u,cim.ComputerSystemProcessor s WHERE (s.PartComponent=m.id$ and s.GroupComponent=u.id$) AND u.name='SJOHN164_99_139_79.Novell_AUS'

  5. Recupere o ID de UnitaryComputerSystem usado para a estação de trabalho inventariada 'SJOHN164_99_139_79.NOVELL_AUS'. A consulta é a seguinte:

    SELECT id$ FROM CIM.UnitaryComputerSystem u,ZENworks.InventoryScanner m, CIM.InstalledSoftwareElement s  WHERE u.name='SJOHN164_99_139_79.Novell_AUS'AND m.id$=s.Software AND u.id$=s.System

  6. Encontre o número de máquinas inventariadas no banco de dados. A consulta é a seguinte:

    SELECT count(u.*) FROM CIM.UnitaryComputerSystem u,ZENworks.InventoryScanner m, CIM.InstalledSoftwareElement s  WHERE m.id$=s.Software AND u.id$=s.System

  7. Quando você sabe o ID do UnitaryComputerSystem para uma estação de trabalho inventariada específica da consulta como mostrado na consulta 5, a consulta 4 pode ser modificada como em:

    SSELECT m.DeviceID,m.Family,m.Stepping,m.OtherFamilyDescription,m.MaxClockSpeed,m.CurrentClockSpeed,m.Role,m.UpgradeMethod FROM cim.Processor m,cim.UnitaryComputerSystem u,cim.ComputerSystemProcessor s u.id$=? and s.PartComponent=m.id$ and s.GroupComponent=u.id$

    Substitua o valor ?, para u.id na consulta pelo ID da estação de trabalho inventariada especificada.

  8. Liste os endereços IP, IPX e MAC de todas as estações de trabalho inventariadas no banco de dados. A consulta é a seguinte:

    SELECT ip.Address, ipx.Address, mac.MACAddress FROM
    cim.IPProtocolEndpoint ip, cim.IPXProtocolEndpoint ipx,
    cim.LANEndpoint mac, cim.UnitaryComputerSystem u,
    cim.HostedAccessPoint s WHERE (s.Dependent=ip.id$ and
    s.Antecedent=u.id$) AND (s.Dependent=ipx.id$ and
    s.Antecedent=u.id$) AND (s.Dependent=mac.id$ and
    s.Antecedent=u.id$)

    Modifique a mesma consulta para obter as informações de uma estação de trabalho inventariada específica da seguinte forma:

    SELECT ip.Address, ipx.Address, mac.MACAddress FROM
    cim.IPProtocolEndpoint ip, cim.IPXProtocolEndpoint ipx,
    cim.LANEndpoint mac, cim.UnitaryComputerSystem u,
    cim.HostedAccessPoint s WHERE (s.Dependent=ip.id$ and
    s.Antecedent=u.id$) AND (s.Dependent=ipx.id$ and
    s.Antecedent=u.id$) AND (s.Dependent=mac.id$ and
    s.Antecedent=u.id$)AND u.id$=?

    Use a consulta conforme mostrado na consulta 5 para recuperar o ID da estação de trabalho inventariada específica e substituir o valor ? para u.id na consulta pelo ID.

  9. Recupere o nome e outras propriedades das unidades no disco rígido da estação de trabalho inventariada especificada. A consulta é a seguinte:

    SELECT m.id$,n.id$,m.DeviceID,n.FileSystemSize,
    n.AvailableSpace,m.VolumeSerialNumber,m.caption as
    VolumeLabel, n.FileSystemType FROM
    ZENworks.LogicalDiskDrive m,CIM.LocalFileSystem
    n,CIM.HostedFileSystem s,CIM.ResidesOnExtent r WHERE
    (s.GroupComponent=? and s.PartComponent=n.id$) AND
    (r.Antecedent=m.id$and r.Dependent=n.id$)

  10. Recupere todas as informações de atributo personalizadas armazenadas no banco de dados. A consulta é a seguinte:

    SELECT * FROM Zenworks.CustomInformation

  11. Recupere todas as informações de atributo personalizadas associadas à classe CIM.UnitaryComputerSystem. A consulta é a seguinte:

    SELECT * FROM Zenworks.CustomInformation WHERE extractClass(id) IN  (SELECT id FROM MW_DBA.t$Class WHERE ClassName='CIM.UnitaryComputerSystem')