다음을 통해 공유


4단원: 알림 클래스 추가

이 단원에서는 ADF(응용 프로그램 정의 파일)에 알림 클래스를 추가한 다음 Notification Services 인스턴스를 업데이트하여 변경 내용을 응용 프로그램 데이터베이스에 적용합니다. 그런 후 응용 프로그램 데이터베이스의 변경 내용을 검토할 수 있습니다.

알림 클래스 소개

알림 클래스는 Notification Services 응용 프로그램에 의해 생성된 한 가지 알림 유형을 나타냅니다. 알림 클래스를 정의할 때 다음 정보를 정의합니다.

  • 데이터 형식을 비롯한 알림 데이터의 필드. 이 필드는 구독자에 보내는 데이터를 정의합니다.
  • 알림 클래스의 알림을 서식 지정하는 데 사용되는 콘텐츠 포맷터에 대한 정보. 기본 제공 XSLT(Extensible Stylesheet Language Transformations) 콘텐츠 포맷터를 사용하거나 사용자 지정 콘텐츠 포맷터를 사용할 수 있습니다.
  • 알림을 배달할 때 배달 프로토콜이 어떻게 사용되는지에 대한 정보

다이제스트 또는 멀티캐스트 배달, 알림 만료 기간 같은 선택적 설정을 정의할 수도 있습니다. 알림 클래스에 대한 자세한 내용은 알림 클래스 정의를 참조하십시오.

응용 프로그램을 만들거나 업데이트할 때 Notification Services는 알림 클래스 정의를 사용하여 알림 데이터를 저장하고 관리하기 위한 테이블, 뷰, 인덱스 및 저장 프로시저를 만듭니다.

알림 테이블 및 뷰를 만들 때 Notification Services는 SubscriberId, DeviceNameSubscriberLocale 필드를 추가합니다. 이 필드는 Notification Services에 필요하며 이후 단원에 설명되어 있습니다.

WeatherAlerts 알림 클래스

이 응용 프로그램에서는 WeatherAlerts 알림 클래스를 ADF에 추가합니다. 이 알림 클래스에는 5개의 알림 필드, XSLT 콘텐츠 포맷터 및 파일 배달 프로토콜이 있습니다.

  • 알림 필드는 City, Date, Low, HighForecast입니다. 이 응용 프로그램에서는 알림 클래스 필드가 이벤트 클래스 필드와 일치하지만 반드시 그래야 하는 것은 아닙니다.

  • Notification Services는 알림을 배포할 때 기본 제공 XSLT 콘텐츠 포맷터를 사용하여 원시 데이터를 사용자 지정된 메시지로 포맷합니다. XSLT 파일 이름은 WeatherTransform.xslt이며 파일 위치는 %_AppPath_% 매개 변수에 의해 정의됩니다. 이 매개 변수의 값은 ICF에서 제공됩니다.
    XSLT 콘텐츠 포맷터에 대한 자세한 내용은 XSLT 콘텐츠 포맷터를 참조하십시오.

  • 포맷 후에 Notification Services는 기본 제공 파일 배달 프로토콜을 사용하여 파일에 알림을 배달합니다. 파일 이름 및 위치는 ICF의 DeliveryChannels 요소에서 정의됩니다.
    프로토콜 정의는 메시지 헤더의 필드 정의(예: SMTP에 필요한 필드 정의)와 재시도, 오류 및 제한 시간 설정을 구성하기 위한 프로토콜 실행 설정을 포함합니다. 파일 트로토콜은 이러한 설정을 사용하지 않지만 다른 대부분의 프로토콜은 헤더 필드를 사용합니다.

    [!참고] 파일 배달 프로토콜은 주로 프로토타입 및 테스트 목적으로 사용됩니다.

ADF에 알림 클래스 XML 추가

이 섹션의 XML은 알림 클래스를 정의합니다. XML을 검토한 후 지침에 따라 XML을 ADF로 복사합니다.

ADF에 알림 클래스 XML 추가

  1. 코드 복사를 클릭하여 XML을 Windows 클립보드로 복사합니다.

    <!-- Notification Classes -->
    <NotificationClasses>
      <NotificationClass>
        <NotificationClassName>
          WeatherAlerts</NotificationClassName>
        <Schema>
          <Fields>
            <Field>
              <FieldName>City</FieldName>
              <FieldType>nvarchar(35)</FieldType>
            </Field>
            <Field>
              <FieldName>Date</FieldName>
              <FieldType>datetime</FieldType>
            </Field>
            <Field>
              <FieldName>Low</FieldName>
              <FieldType>float</FieldType>
            </Field>
            <Field>
              <FieldName>High</FieldName>
              <FieldType>float</FieldType>
            </Field>
            <Field>
              <FieldName>Forecast</FieldName>
              <FieldType>nvarchar(3500)</FieldType>
            </Field>
          </Fields>
        </Schema>
        <ContentFormatter>
          <ClassName>XsltFormatter</ClassName>
          <Arguments>
            <Argument>
              <Name>XsltBaseDirectoryPath</Name>
              <Value>%_AppPath_%</Value>
            </Argument>
            <Argument>
              <Name>XsltFileName</Name>
              <Value>WeatherTransform.xslt</Value>
            </Argument>
          </Arguments>
        </ContentFormatter>
        <Protocols>
          <Protocol>
            <ProtocolName>File</ProtocolName>
          </Protocol>
        </Protocols>
      </NotificationClass>
    </NotificationClasses>
    
  2. 솔루션 탐색기에서 WeatherADF.xml을 엽니다.

  3. 다음 XML을 방금 복사한 XML로 바꿉니다.

    <!-- Notification Classes -->

    <NotificationClasses></NotificationClasses>

  4. 파일 메뉴에서 WeatherADF.xml 저장을 선택합니다.

Notification Services 인스턴스 업데이트

ADF를 수정한 후에 Notification Services 인스턴스를 업데이트하여 알림 클래스 개체를 응용 프로그램 데이터베이스에 추가합니다.

Notification Services 인스턴스를 업데이트하려면

  1. 개체 탐색기에서 Notification Services를 확장합니다.

  2. Tutorial을 마우스 오른쪽 단추로 클릭하고 작업을 가리킨 다음 업데이트를 선택합니다.

  3. 인스턴스 업데이트 대화 상자에서 찾아보기를 클릭하고 TutorialICF.xml 파일을 찾은 다음 열기를 클릭합니다.

  4. 매개 변수 표에서 매개 변수 값을 검토합니다. 인스턴스를 만들 때 사용한 것과 동일한 값을 사용합니다.

  5. 확인을 클릭합니다.

  6. Notification Services - 업데이트 요약 대화 상자를 검토한 다음 업데이트를 클릭합니다.

  7. 업데이트 작업이 완료되면 닫기를 클릭합니다.

데이터베이스 변경 내용 검토

인스턴스를 업데이트할 때 Notification Services는 TutorialWeather 응용 프로그램 데이터베이스에서 알림 클래스의 테이블, 뷰 및 저장 프로시저를 추가합니다.

  • dbo.WeatherAlerts 뷰는 알림 생성 규칙이 알림을 삽입하는 곳입니다.
  • dbo.NSWeatherAlertsFileNotifications 뷰에는 파일 배달 프로토콜을 사용하여 WeatherAlerts 알림 클래스로부터 받은 알림이 포함됩니다. 이 뷰는 내부에서 사용하기 위한 것입니다.
  • dbo.NSWeatherAlertsNotificationDistribution 뷰는 여러 내부 Notification Services 테이블에서 받은 데이터를 결합하여 알림 배포 시도에 대한 정보를 제공합니다.
  • dbo.NSWeatherAlertsNotifications 테이블은 알림 클래스의 알림 데이터를 포함하는 기본 테이블입니다. 알림 데이터는 vacuumer 데이터 제거 프로세스에 의해 제거될 때까지 이 테이블에 남아 있습니다. 이 테이블은 내부에서 사용하기 위한 것입니다.
    ms170473.Caution(ko-kr,SQL.90).gif주의:
    알림 테이블 및 뷰에서 데이터를 직접 수정하지 마십시오.

개체 탐색기를 사용하여 TutorialWeather 데이터베이스에서 이러한 개체를 검토할 수 있습니다. 내부에서 사용하기 위한 테이블 및 뷰는 내부 작업에 사용되는 데이터만 포함합니다. 이 데이터는 이해하지 않아도 됩니다.

새 개체를 확인하기 위해 개체 탐색기를 새로 고쳐야 할 수도 있습니다.

다음 단원

5단원: 구독 클래스 추가

참고 항목

개념

Notification Services 자습서

관련 자료

이벤트 클래스 정의
알림 솔루션 빌드
SQL Server Notification Services 소개

도움말 및 정보

SQL Server 2005 지원 받기