배달 확장 프로그램 개요

SQL Server Reporting Services를 사용하면 사용자가 만들고 게시한 후 다양한 위치에 배달할 수 있는 보고서를 만들고 게시할 수 있습니다. 또한 Reporting Services에는 여러 배달 확장 프로그램 및 개발자가 Reporting Services에서 배달 기능을 더욱 확장하기 위해 더 많은 배달 확장자를 만들 수 있는 배달 API가 포함되어 있습니다.

다음 표에서는 Reporting Services에 포함된 배달 확장 프로그램을 나열합니다.

배달 확장 프로그램 설명
보고서 서버 전자 메일 SMTP 서버를 사용하여 개별 사용자 또는 그룹에 보고서를 전자 메일로 전송합니다.
보고서 서버 파일 공유 조직 내의 보고서를 네트워크 파일 공유에 배포하는 데 사용됩니다. 지정된 일정에 따라 보고서를 파일 공유에 자동으로 복사할 수 있습니다.

Screenshot of the Reporting Services delivery extension architecture.

Reporting Services 배달 확장 프로그램 아키텍처.

배달 확장 프로그램은 구독과 쌍을 이깁니다. 사용자가 구독을 만들 때 사용 가능한 배달 확장 프로그램 중 하나를 선택하여 보고서 배달 방법을 결정할 수 있습니다. Reporting Services에서 구독은 보고서 서버 데이터베이스에 있습니다. 이벤트가 발생하면 Reporting Services에서는 보고서 서버 데이터베이스에 포함된 구독에 대해 이벤트를 일치시킵니다. 이벤트에 연결된 각 구독에 대해 보고서 서버는 알림을 만듭니다. 데이터 기반 구독의 경우 각 받는 사람에 대한 알림이 만들어집니다. 알림이 만들어지면 보고서 서버는 특정 배달 확장자를 호출하고 알림에 지정된 확장 설정에 대한 값을 전달합니다. 배달 확장 프로그램은 선택한 배달 확장 프로그램에서 지정한 대로 사용자에게 알림을 보냅니다.

배달 확장 프로그램은 Reporting Services 배달 확장 API를 구현합니다. Reporting Services 배달 확장 프로그램 API를 지원하면 배달 확장 프로그램이 보고서 서버에서 알림을 받고 알림의 상태 제공할 수 있습니다.

보고서 서버는 알림 및 보고서의 배달 대상을 관리하지 않습니다. 대상 정보 수집은 배달 확장 프로그램에서 작성하는 코드를 통해 수행됩니다.

구독 및 배달 확장 프로그램

클라이언트 애플리케이션에서는 보고서 서버 웹 서비스의 CreateSubscriptionCreateDataDrivenSubscription의 두 메서드를 이용하는 배달 확장 프로그램을 사용하여 구독을 만듭니다. 이미 존재하는 구독을 수정하기 위해 메서드와 SetDataDrivenSubscriptionProperties 메서드가 SetSubscriptionProperties 사용됩니다. 사용자가 구독을 만들 때 구독에 대한 배달 확장 프로그램도 선택하고 필요한 확장 설정에 대한 값을 입력합니다. 사용자가 구독을 저장하면 보고서 서버 데이터베이스에 저장됩니다. 구독에서는 일정이나 이벤트를 기준으로 알림을 만듭니다. 배달이 시작되면 선택된 배달 확장 프로그램이 먼저 구성 파일에서 구성 데이터를 로드합니다. 다음으로 구독에 대한 확장 설정이 검색되고 값이 설정됩니다. 마지막으로 Deliver 메서드가 호출되고 알림이 전송됩니다.

개발자 요구 사항

Reporting Services 배달 확장 프로그램을 개발하려면 다음이 필요합니다.

  • 보고서 서버가 설치된 배포 컴퓨터입니다.

  • Visual Studio 2008 또는 Microsoft .NET Framework SDK(소프트웨어 개발 키트)가 설치된 개발 컴퓨터가 있어야 합니다.

  • Reporting Services 기능, 특히 구독 및 배달에 대해 잘 알고 있어야 합니다.

  • 보고서 관리자에 대한 사용자 고유의 구독 사용자 인터페이스를 구현하려는 경우 ASP.NET 및 웹 컨트롤에 대해 자세히 이해합니다.

  • Microsoft Visual C# 또는 Microsoft Visual Basic .NET과 같은 .NET Framework 언어의 개발 환경입니다.