Compartilhar via


Classes: Principais Conceitos

 

Publicado: julho de 2016

Aplicável a: System Center 2012 SP1 - Service Manager, System Center 2012 R2 Service Manager, System Center 2012 - Service Manager

Objetos no System Center 2012 - Service Manager são instâncias de uma classe base específica. Todas as instâncias de uma classe base têm um conjunto comum de propriedades e comportamento comum.

Assim como todos os elementos do pacote de gerenciamento, as classes têm propriedades ID e Nome para Exibição . Nesta documentação, “ID” se refere ao nome exclusivo da classe que é visto somente na Ferramenta de Criação, enquanto “Nome” e “Nome para Exibição” se referem ao nome específico do idioma que aparece no Service Manager Console.

System_CAPS_ICON_note.jpg Observação


Quando você estiver criando uma classe, sempre verifique se os nomes de classe são exclusivos entre os pacotes de gerenciamento. Se possível, use nomes de classe que sejam significativos em seu ambiente. Você pode determinar se um nome de classe já existe usando o recurso de pesquisa na janela Navegador de Classes do System Center 2012 – Ferramenta de Criação do Service Manager.

Propriedades

Todas as instâncias de uma classe específica compartilham um conjunto comum de propriedades. Os valores dessas propriedades são fornecidos em vários métodos por usuários e podem variar entre instâncias diferentes. As propriedades são usadas para representar detalhes do objeto real, como um nome exclusivo, um local e outros detalhes que possam ser interessantes para o usuário ou que sejam necessários para os cenários de gerenciamento.

Propriedades da chave

Uma propriedade de chave identifica exclusivamente cada instância de uma determinada classe. Se uma propriedade for marcada como uma propriedade de chave, cada instância da classe deverá ter um valor exclusivo para essa propriedade e o valor não poderá ser nulo. Para classes hospedadas, o valor deve ser apenas exclusivo para todas as instâncias da classe que têm o mesmo pai de hospedagem. Para classes não hospedadas, ele deve ser exclusivo para todas as instâncias da classe no grupo de gerenciamento. As relações de hospedagem são descritas posteriormente nesta seção.

Classes nem sempre exigem uma propriedade de chave. Uma propriedade de chave é necessária apenas se mais de uma instância de uma classe é esperada para um único pai. Se apenas uma instância é esperada, uma propriedade de chave não é necessária, mas ainda pode ser definida.

Por exemplo, o Mecanismo de Banco de Dados do SQL tem uma propriedade de chave igual a Instance Name , pois um único computador pode ter mais de uma instância do Microsoft SQL Server instalada. Quando há várias instâncias do Mecanismo de Banco de Dados do SQL, cada instância deve ter um valor diferente para Instance Name , a fim de distinguir claramente entre os diferentes objetos. Por contraste, a classe Servidor Web do IIS não define uma propriedade de chave porque pode haver apenas uma instância instalada em qualquer computador.

Todos os objetos têm uma propriedade Path Name que é calculada a partir de uma ou mais propriedades de chave do objeto e daquelas de seus pais de hospedagem. Para objetos não hospedados, Path Name será a propriedade de chave da classe em si. OPath Name pode ser usado para identificar exclusivamente qualquer instância de uma classe no grupo de gerenciamento.

Classes base e herança

Cada classe deve especificar uma classe base que identifica uma classe existente em que a nova classe se especializará. As bibliotecas do pacote de gerenciamento que são incluídas com o Service Manager contêm várias classes que podem ser usadas como a base para classes personalizadas nos pacotes de gerenciamento. Um pacote de gerenciamento geralmente tem pelo menos uma classe herdada de uma classe de biblioteca e, possivelmente, outras classes herdadas de classes no mesmo pacote de gerenciamento.

O conceito de uma classe base pode ser ilustrado com o pacote de gerenciamento do Sistema Operacional Windows Server. Esse pacote de gerenciamento inclui classes que representam os discos lógicos instalados no computador. A ilustração a seguir mostra as classes Disco Lógico do Windows Server 2003 e Disco Lógico do Windows Server 2008. Essas classes são baseadas no Disco Lógico (Servidor) que é definido no arquivo de pacote de gerenciamento Microsoft.Windows.Server.Library. Disco Lógico (Servidor) é, sucessivamente, baseado em Disco Lógico, que por si só é baseado em Dispositivo Lógicoe assim por diante por Hardware Lógico, Entidade Lógicae, finalmente, Entidade. Todas as classes podem rastrear um caminho de herança semelhante e sempre terminarão em Entidade, que é a raiz da estrutura de classe. Essa é a única classe que não tem uma classe base e todas as outras classes são, consequentemente, herdadas dela.

Herança de propriedades entre classes

Herança de propriedades entre classes

Entidade tem uma propriedade única, denominada Display Name. Essa propriedade é herdada por todas as classes que são herdadas de Entidade. Consequentemente, todas as classes são herdadas de Entidade. É por este motivo que todas as classes têm uma propriedade Display Name . Nenhuma outra classe neste exemplo tem propriedades até Dispositivo Lógico, que define Name, Descriptione DeviceID. DeviceID é especificado como a propriedade de chave. Essas propriedades são todas herdadas por Disco Lógico e Disco Lógico (Servidor). Disco Lógico (Servidor) adiciona outras propriedades, como Size, Drive Typee File System. As classes de nível inferior que são específicas para a versão do sistema operacional herdam o conjunto inteiro de propriedades fornecidas por essas classes acima delas na árvore de herança.

Tipos de classe

A maioria das classes tem uma ou mais instâncias reais e é conhecida como classes concretas. Classes abstratas e classes singleton são tipos especiais de classes que se comportam de forma diferente e são usadas para cenários específicos.

Classes abstratas

Classes abstratas não têm instâncias e existem somente para atuar como uma classe base para outras classes. Todas as propriedades e relações definidas no nível de classe abstrata são herdadas por classes filhas e não precisam ser definidas novamente. A maioria das classes definidas nas bibliotecas de pacote de gerenciamento é abstrata, uma vez que são fornecidas apenas para atuar como classes base para as classes definidas nos pacotes de gerenciamento personalizados.

As classes abstratas são usadas onde há um conjunto comum de propriedades, relações ou agrupamentos que possam ser definidos em todas as especializações adicionais de uma classe. No exemplo anterior, todas as classes mostradas acima, Disco Lógico do Windows Server 2003 e Disco Lógico do Windows Server 2008 são abstratas. Elas existem somente para as classes de nível inferior herdar.

classes singleton

Asclasses singleton são usadas quando há uma e apenas uma instância de uma classe. A classe é a instância e ela sempre existe. A única instância está sendo criada quando o pacote de gerenciamento está instalado. De maneira semelhante, uma propriedade de chave não é exigida para uma classe singleton, pois ela terá somente uma única instância. Um uso comum de classes singleton é para a classe Grupos , pois existe apenas uma única instância dessa classe necessária em todo o grupo de gerenciamento.

Extensões de classe

Para personalizar uma classe, você pode estendê-la adicionando novas propriedades à definição de classe existente. As novas propriedades agora serão incluídas em todas as instâncias dessa classe que já existe e em qualquer nova instância que será criada. Uma classe abstrata não pode ser estendida.

Relações

Relações são definidas entre classes para indicar uma associação entre uma instância específica de uma classe e a instância específica de outra. Existem três tipos de relações e elas são detalhadas nas seções a seguir:

  • Relação de hospedagem

  • Relação de confinamento

  • Relação de referência

As relações de classe afetam objetos das seguintes maneiras.

Tipo de relação Propriedade de chave e existência Propriedades disponíveis
Hospedagem O valor da propriedade de chave deve ser exclusivo para todas as instâncias da classe no grupo de gerenciamento. No entanto, para classes hospedadas, o valor da propriedade de chave deve ser exclusivo somente para todos os objetos que têm o mesmo pai de hospedagem.

Para identificar exclusivamente um objeto hospedado, a propriedade de chave do objeto e do pai do objeto é necessária e a chave da classe hospedada será a combinação da propriedade de chave da classe de hospedagem e a propriedade de chave da classe hospedada.

A existência de uma classe hospedada depende da existência da classe de hospedagem.
Qualquer fluxo de trabalho que esteja direcionado a uma classe tem acesso às propriedades dessa classe, além das propriedades de qualquer um de seus pais de hospedagem.

Por exemplo, um script em um fluxo de trabalho que usa a classe Mecanismo do Banco de Dados do SQL 2008 como seu destino pode exigir o nome do computador em que a instância do SQL Server 2008 está instalada. Como um objeto pode ter apenas um pai de hospedagem, sabemos o computador que hospeda qualquer instância específica da classe Mecanismo do Banco de Dados do SQL 2008 . O script do fluxo de trabalho pode acessar as propriedades do objeto de destino e as propriedades do pai de hospedagem desse destino.
Confinamento A propriedade de chave e a existência não são dependentes do objeto contêiner. Qualquer fluxo de trabalho que esteja direcionado a uma classe tem acesso às propriedades dessa classe, além das propriedades de qualquer um de seus pais de contêiner.

Por exemplo, um script em um fluxo de trabalho que direciona para uma classe de incidente pode acessar as propriedades da classe da fila do contêiner.
Referência A propriedade de chave e a existência não são dependentes do objeto referenciado. Qualquer fluxo de trabalho direcionado a uma classe tem acesso apenas às propriedades dessa classe.

Relação de referência

A relação de referência é o tipo de relação mais geral. Uma relação de referência é usada quando as classes pai e filha não dependem de outra; por exemplo, um banco de dados poderá fazer referência a outro banco de dados que ele está replicando. Um banco de dados não depende do outro, e os objetos existem separadamente.

Relação de confinamento

O tipo de relação de confinamento é menos restritivo que a relação de hospedagem. Ele declara que uma classe está relacionada à outra, embora uma não seja necessária para a outra. Ao contrário de uma relação de hospedagem, uma relação de confinamento é muitos para muitos. Isso significa que um objeto pode conter vários objetos, e um único objeto pode ser contido por vários outros objetos. Por exemplo, um grupo pode conter vários objetos e um único objeto pode ser um membro de vários grupos.

As relações de confinamento geralmente são usadas para associação de grupo, em que objetos são incluídos em um grupo por meio de uma relação de confinamento entre o grupo e o objeto do membro.

Relação de hospedagem

A relação mais restritiva entre classes é a relação de hospedagem . Uma classe hospedada por outra classe é chamada classe hospedada, e uma instância da classe é chamada objeto hospedado. Se uma classe não for hospedada por outra, ela será chamada de classe não hospedada, e uma instância da classe será chamada de objeto não hospedado.

Quando um objeto for hospedado por outro, esse objeto conta com seu pai de hospedagem devido a seu longo período de existência. Se o pai de hospedagem for removido, o filho hospedado também será removido. Por exemplo, um disco lógico não pode existir sem que esteja instalado no computador.

Um objeto hospedado pode ter apenas um pai de hospedagem, mas um pai pode hospedar vários filhos. Por exemplo, um disco específico pode ser instalado apenas em um só computador, mas um computador pode ter vários discos instalados.

O pacote de gerenciamento do SQL Server oferece outro exemplo de relações de hospedagem. A relação de hospedagem entre as classes Computador do Windows , Mecanismo do Banco de Dados do SQL 2008 e Banco de Dados do SQL 2008 é mostrada aqui.

Relações de hospedagem para classes do SQL Server 2008

Relacionamento de hospedagem para classes do SQL Server 2008

A classe Mecanismo do Banco de Dados do SQL 2008 representa uma instância do SQL Server 2008 instalada em um computador específico. Como um banco de dados pode ser instalado em apenas um único mecanismo de banco de dados, a classe Mecanismo do Banco de Dados do SQL 2008 hospeda a classe Banco de Dados do SQL 2008 . Pode haver vários bancos de dados com o mesmo nome em um grupo de gerenciamento, mas alguns bancos de dados instalados em uma instância específica da classe SQL Server devem ter um nome exclusivo. Por sua vez, o mecanismo do banco de dados é hospedado pela classe Computador do Windows . Pode haver diversas instâncias do SQL Server com o mesmo nome em um grupo de gerenciamento. Cada um em um computador específico deve ter um nome exclusivo.

Como existem duas relações de hospedagem, o nome de caminho para cada banco de dados será o nome do computador, seguido pelo nome da instância, seguido pelo nome do usuário. Um exemplo é mostrado no diagrama a seguir.

Exemplo de relações de hospedagem do banco de dados

Exemplo de Relacionamento de Hospedagem do Banco de Dados

Consulte também

Classes: Personalizando e criando