다음을 통해 공유


클래스: 주요 개념

 

게시 날짜: 2016년 7월

적용 대상: System Center 2012 SP1 - Service Manager, System Center 2012 R2 Service Manager, System Center 2012 - Service Manager

System Center 2012 – Service Manager 의 개체는 특정 기본 클래스의 인스턴스 입니다. 기본 클래스의 모든 인스턴스에는 속성의 공통 집합 및 공통 동작이 있습니다.

모든 관리 팩 요소처럼, 클래스에는 ID표시 이름 속성이 있습니다. 이 문서에서 "ID"는 Authoring Tool에서만 표시되는 고유한 클래스 이름을 나타내며, "이름" 및 "표시 이름"은 Service Manager 콘솔에 나타나는 언어별 이름을 나타냅니다.

참고


클래스를 만들 때 클래스 이름이 관리 팩 중에서 고유한지 확인합니다. 가능한 경우 사용자 환경에서 의미 있는 클래스 이름을 사용합니다. 클래스 브라우저 System Center 2012 – Service Manager Authoring Tool창에서 검색 기능을 사용하여 클래스 이름이 이미 존재하는지 확인할 수 있습니다.

데이터 액세스

특정 클래스의 모든 인스턴스는 속성의 공통 집합을 공유합니다. 이러한 속성의 값은 사용자에 따라 다양한 방법으로 제공되며 인스턴스마다 다를 수 있습니다. 속성은 고유한 이름, 위치, 사용자와 관련되거나 관리 시나리오에 필요한 기타 세부 정보 등 실제 개체의 세부 정보를 나타내는 데 사용됩니다.

키 속성

키 속성 은 특정 클래스의 각 인스턴스를 고유하게 식별합니다. 속성이 키 속성으로 표시되는 경우 클래스의 각 인스턴스에는 해당 속성에 대한 고유한 값이 있으며 이 값은 Null일 수 없습니다. 호스트된 클래스의 경우 값은 동일한 호스트 부모가 있는 클래스의 모든 인스턴스에 대해서만 고유하면 됩니다. 호스트되지 않은 클래스의 경우 값은 관리 그룹에서 클래스의 모든 인스턴스에 대해 고유해야 합니다. 호스트 관계에 대해서는 이 섹션의 뒷 부분에서 더 자세히 설명합니다.

클래스에 항상 키 속성이 필요한 것은 아닙니다. 키 속성은 단일 부모에 대해 클래스의 하나 이상의 인스턴스가 필요한 경우에만 필수입니다. 단일 인스턴스가 필요한 경우에는 키 속성이 필수는 아니지만 여전히 정의할 수 있습니다.

예를 들어 단일 컴퓨터에 Microsoft SQL Server의 인스턴스를 둘 이상 설치할 수 있으므로 SQL 데이터베이스 엔진Instance Name 의 키 속성이 있습니다. SQL 데이터베이스 엔진에 여러 인스턴스가 있는 경우 각 인스턴스는 다른 개체 간에 분명히 구분할 수 있도록 Instance Name 에 대해 다른 값을 포함해야 합니다. 반면, IIS 웹 서버 클래스는 컴퓨터에 단 하나의 인스턴스만 설치할 수 있으므로 키 속성을 정의하지 않습니다.

모든 개체에는 개체의 키 속성 및 호스트 부모에서 계산되는 Path Name 속성이 있습니다. 호스트되지 않는 개체의 경우 Path Name 가 클래스 자체의 키 속성이 됩니다. Path Name 은 관리 그룹의 모든 클래스 인스턴스를 고유하게 식별하는 데 사용할 수 있습니다.

기본 클래스 및 상속

모든 클래스는 새로운 클래스가 특수화 할 기존 클래스를 식별하는 기본 클래스를 지정해야 합니다. Service Manager 와 함께 제공되는 관리 팩 라이브러리에는 관리 팩에서 사용자 지정 클래스의 기본으로 사용할 수 있는 여러 클래스가 포함됩니다. 관리 팩에는 일반적으로 라이브러리 클래스에서 상속되는 최소 한 개의 클래스가 있으며, 동일한 관리 팩의 클래스에서 상속되는 다른 클래스도 포함될 수 있습니다.

기본 클래스의 개념은 Windows Server 운영 체제 관리 팩을 통해 설명할 수 있습니다. 이 관리 팩에는 컴퓨터에 설치된 논리 디스크를 나타내는 클래스가 포함됩니다. 다음 설명은 클래스 Windows Server 2003 논리 디스크Windows Server 2008 논리 디스크를 나타냅니다. 이러한 클래스는 모두 Microsoft.Windows.Server.Library 관리 팩 파일에 정의된 논리 디스크(서버) 에 기반합니다. 논리 디스크(서버)논리 디스크에 기반하며, 논리 디스크는 논리 하드웨어, 논리 엔터티엔터티를 통해 논리 장치에 기반합니다. 모든 클래스는 비슷한 상속 경로를 추적할 수 있으며 항상 클래스 구조의 루트인 엔터티에서 종료됩니다. 엔터티는 기본 클래스가 없는 유일한 클래스이며 다른 클래스는 최종적으로 이 클래스에서 상속됩니다.

클래스 간의 속성 상속

클래스 간의 속성 상속

엔터티 에는 Display Name이라는 단일 속성이 있습니다. 이 속성은 엔터티에서 상속하는 모든 클래스를 통해 상속됩니다. 모든 클래스는 최종적으로 엔터티에서 상속합니다. 모든 클래스가 Display Name 속성을 포함하기 때문입니다. 이 예에서는 논리 장치Name, DescriptionDeviceID를 정의할 때까지 다른 클래스는 속성을 포함하지 않습니다. DeviceID 가 키 속성으로 지정됩니다. 이러한 속성은 모두 논리 디스크 및 **논리 디스크(서버)**를 통해 상속됩니다. 논리 디스크(서버) 는 추가 속성 Size, Drive TypeFile System을 추가합니다. 운영 체제의 버전별 하위 수준 클래스는 상속 트리에서 해당 클래스 위에 있는 클래스에서 제공하는 속성의 전체 집합을 상속합니다.

클래스 형식

대부분의 클래스에는 하나 이상의 실제 인스턴스가 있으며 구체적 클래스라고 합니다. 추상 클래스단일 항목 클래스 는 서로 다르게 동작하며 특정 시나리오에 사용되는 특별한 종류의 클래스입니다.

추상 클래스

추상 클래스에는 인스턴스가 없으며 이와 같은 추상 클래스는 다른 클래스의 기본 클래스 역할로만 존재합니다. 추상 클래스 수준에서 정의되는 모든 속성 및 관계는 자식 클래스를 통해 상속되며 다시 정의할 필요가 없습니다. 관리 팩 라이브러리에 정의된 대부분의 클래스가 사용자 지정 관리 팩에 정의된 클래스의 기본 클래스 역할로만 제공되므로 추상적입니다.

클래스의 모든 특수화에서 정의될 수 있는 속성, 관계 또는 그룹화의 공통 집합이 있는 경우 추상 클래스가 사용됩니다. 이전 예에서 Windows Server 2003 논리 디스크Windows Server 2008 논리 디스크 위에 표시된 모든 클래스는 추상적입니다. 이러한 클래스는 상속할 하위 수준 클래스에 대해서만 존재합니다.

단일 항목 클래스

단일 항목 클래스 는 클래스의 인스턴스가 단 하나만 있는 경우 사용됩니다. 클래스는 인스턴스이며 항상 존재합니다. 단일 항목 인스턴스는 관리 팩이 설치될 때 생성됩니다. 마찬가지로 키 속성에는 단일 인스턴스만 있으므로 단일 항목 클래스에는 키 속성이 필요하지 않습니다. 관리 그룹에 필요한 이 클래스의 인스턴스가 하나만 있기 때문에 단일 항목 클래스는 보통 그룹 클래스에 사용됩니다.

클래스 확장

클래스를 사용자 지정하려면 기존 클래스 정의에 새로운 속성을 추가하여 확장할 수 있습니다. 새로운 속성은 이미 존재하는 클래스의 모든 인스턴스 및 생성되는 새로운 모든 인스턴스에 포함됩니다. 추상 클래스는 확장할 수 없습니다.

관계

관계 는 한 클래스의 특정 인스턴스와 다른 클래스의 특정 인스턴스 간의 연결을 나타내기 위해 클래스 간에 정의됩니다. 관계의 형식은 세 가지이며 다음 섹션에서 자세히 설명합니다.

  • 호스트 관계

  • 포함 관계

  • 참조 관계

클래스 관계는 다음과 같은 방법으로 개체에 영향을 줍니다.

관계 유형 키 속성 및 존재 사용 가능한 속성
Hosting 키 속성의 값은 관리 그룹에서 클래스의 모든 인스턴스에 대해 고유해야 합니다. 호스트된 클래스의 경우 키 속성 값은 동일한 호스트 부모가 있는 모든 개체에 대해서만 고유해야 합니다.

호스트된 개체를 고유하게 식별하려면 개체 및 개체의 부모 모두의 키 속성이 필요하며 호스트된 클래스의 키는 호스트 클래스 키 속성 및 호스트된 클래스 키 속성 모두의 결합입니다.

호스트된 클래스의 존재는 호스트 클래스의 존재에 따라 결정됩니다.
클래스에서 대상이 되는 워크플로는 호스트 부모의 속성 외에도 해당 클래스의 속성에 액세스할 수 있습니다.

예를 들어 대상으로 SQL 2008 DB 엔진 클래스를 사용하는 워크플로의 스크립트에는 SQL Server 2008의 인스턴스가 설치된 컴퓨터의 이름이 필요할 수 있습니다. 개체의 호스트 부모는 하나만 포함할 수 있으므로 SQL 2008 DB 엔진 클래스의 특정 인스턴스를 호스트하는 컴퓨터를 확인할 수 있습니다. 워크플로 스크립트는 대상이 되는 개체의 속성 및 해당 대상의 호스트 부모 속성에 액세스할 수 있습니다.
포함 키 속성 및 존재는 컨테이너 개체에 종속되지 않습니다. 클래스를 대상으로 하는 워크플로는 컨테이너 부모의 속성 외에도 해당 클래스의 속성에 액세스할 수 있습니다.

예를 들어 인시던트 클래스를 대상으로 하는 워크플로의 스크립트는 컨테이너 큐 클래스의 속성에 액세스할 수 있습니다.
참조 키 속성 및 존재는 참조 개체에 종속되지 않습니다. 클래스를 대상으로 하는 워크플로는 해당 클래스의 속성에만 액세스할 수 있습니다.

참조 관계

참조 관계 는 가장 일반적인 관계 유형입니다. 참조 관계는 부모 및 자식 클래스가 서로 종속되지 않는 경우, 예를 들어 데이터베이스가 복제 중인 다른 데이터베이스를 참조할 수 있는 경우 사용됩니다. 한 데이터베이스는 다른 데이터베이스에 종속되지 않으며 개체는 별도로 존재합니다.

포함 관계

포함 관계 유형은 호스트 관계보다 덜 제한적입니다. 한 클래스가 다른 클래스에 대해 필요하지 않더라도 관련되었음을 의미합니다. 호스트 관계와 달리 포함 관계는 다대다입니다. 즉, 하나의 개체에 여러 개체가 포함될 수 있으며 하나의 개체가 여러 개체에 포함될 수 있습니다. 예를 들어 하나의 그룹에 여러 개체가 포함될 수 있으며 하나의 개체가 여러 그룹의 구성원이 될 수 있습니다.

포함 관계는 일반적으로 그룹과 구성원 개체 간의 포함 관계를 통해 개체가 그룹에 포함되는 그룹 멤버 자격에 사용됩니다.

호스트 관계

클래스 간의 가장 제한적인 관계는 호스트 관계입니다. 다른 클래스가 호스트하는 클래스를 호스트된 클래스라고 하며 클래스의 인스턴스를 호스트된 개체라고 합니다. 클래스가 다른 클래스를 통해 호스트되지 않는 경우 호스트되지 않는 클래스라고 하며 클래스의 인스턴스를 호스트되지 않는 개체라고 합니다.

개체가 다른 개체를 통해 호스트된 경우 해당 개체는 호스트 부모에 따라 존재 여부가 결정됩니다. 호스트 부모가 제거되는 경우 호스트된 자식도 제거됩니다. 예를 들어 논리적 디스크는 해당 디스크가 설치된 컴퓨터 없이는 존재할 수 없습니다.

호스트된 개체에는 단 하나의 호스트 부모만 있을 수 있지만 하나의 부모는 여러 자식을 호스트할 수 있습니다. 예를 들어 특정 디스크는 하나의 컴퓨터에만 설치할 수 있지만 하나의 컴퓨터에 여러 디스크를 설치할 수 있습니다.

SQL Server 관리 팩은 호스트 관계의 다른 예를 제공합니다. Windows 컴퓨터 클래스, SQL 2008 DB 엔진 클래스, SQL 2008 DB 클래스 간의 호스트 관계가 여기에 표시되어 있습니다.

SQL Server 2008 클래스의 호스트 관계

SQL Server 2008 클래스의 호스팅 관계

SQL 2008 DB 엔진 클래스는 특정 컴퓨터에 설치된 SQL Server 2008의 인스턴스를 나타냅니다. 데이터베이스는 하나의 데이터베이스 엔진에만 설치할 수 있으므로 SQL 2008 DB 엔진 클래스는 SQL 2008 DB 클래스를 호스트합니다. 관리 그룹에 동일한 이름의 데이터베이스가 여러 개 있을 수 있지만 SQL Server 클래스의 특정 인스턴스에 설치된 모든 데이터베이스의 이름은 고유해야 합니다. 데이터베이스 엔진은 Windows 컴퓨터 클래스를 통해 호스트됩니다. 관리 그룹에 동일한 이름의 SQL Server 인스턴스가 여러 개 있을 수 있습니다. 특정 컴퓨터의 각 인스턴스 이름은 고유해야 합니다.

두 개의 호스트 관계가 있으므로 각 데이터베이스에 대한 경로 이름은 컴퓨터 이름과 인스턴스 이름, 데이터베이스 이름을 차례로 나열한 것입니다. 다음 그림에서는 이러한 예를 보여 줍니다.

데이터베이스 호스트 관계 예

샘플 데이터베이스 호스팅 관계

참고 항목

클래스: 사용자 지정 및 제작