SOAP-Windows 응용 프로그램을 사용 하 여 Reporting Services 통합Integrating Reporting Services Using SOAP - Windows Application

Reporting Services SOAP API를 통해 보고서 서버의 전체 기능에 액세스할 수 있습니다.You can access the full functionality of the report server through the Reporting Services SOAP API. SOAP API는 웹 서비스이므로 쉽게 액세스하여 사용자 지정 비즈니스 응용 프로그램에 엔터프라이즈 보고 기능을 제공할 수 있습니다.The SOAP API is a Web service and, as such, can be easily accessed to provide enterprise reporting features to your custom business applications. 서비스를 호출하는 코드를 작성하기만 하면 Windows 응용 프로그램에서 웹 서비스에 액세스할 수 있습니다.You can access the Web service in a Windows application simply by writing code that makes calls to the service. 사용 하 여 MicrosoftMicrosoft .NET Framework.NET Framework, 속성을 표시 하는 프록시 클래스를 생성할 수 있습니다 및 웹 서비스 메서드와 기반의 비즈니스 응용 프로그램을 빌드하는 데 친숙 한 인프라와 도구를 사용할 수 있습니다 Reporting ServicesReporting Services 기술 합니다.Using the MicrosoftMicrosoft .NET Framework.NET Framework, you can generate a proxy class that exposes the properties and methods of the Web service and enables you to use a familiar infrastructure and tools to build business applications built on Reporting ServicesReporting Services technology.

Windows Forms를 사용하여 보고서 관리 기능 통합Integrating Report Management Functionality Using Windows Forms

URL 액세스와 달리 SOAP API는 보고서 서버를 통해 사용 가능한 전체 관리 기능 집합을 표시합니다.Unlike URL access, the SOAP API exposes the complete set of management functions that are available through the report server. 다시 말해서 개발자가 SOAP을 통해 보고서 관리자의 전체 관리 기능을 사용할 수 있습니다.This means that the entire administrative functionality of Report Manager is available to developers through SOAP. 그러므로 Windows Forms를 사용하여 완전한 관리 도구를 개발할 수 있습니다.As such, you can develop a complete management and administration tool using Windows Forms. 예를 들어 Windows 응용 프로그램에서 사용자들이 보고서 서버 네임스페이스의 내용을 검색할 수 있도록 설정해야 할 경우가 있습니다.For example, in your Windows application, you might want to enable your users to retrieve the contents of the report server namespace. 이런 경우 웹 서비스 ListChildren 메서드를 사용하여 보고서 서버 데이터베이스의 모든 항목을 나열한 다음 Listview, Treeview 또는 Combobox 컨트롤을 사용하여 이러한 항목을 사용자에게 표시할 수 있습니다.To do this, you could use the Web service ListChildren method to list all the items in the report server database and then use a Listview, Treeview, or Combobox control to display those items to your users. 다음 웹 서비스 코드를 사용하면 사용자가 폼에서 단추를 클릭할 때 사용자의 내 보고서 폴더에서 사용 가능한 보고서의 현재 목록을 검색하도록 할 수 있습니다.The following Web service code might be used to retrieve the current list of available reports in a user's My Reports folder when a user clicks a button on a form:

' Button click event that retrieves a list of reports from  
' the My Reports folder and displays them in a combo box  
Private Sub listReportsButton_Click(sender As Object, e As System.EventArgs)  
   ' Create a new Web service object and set credentials  
   ' to Windows Authentication  
   Dim rs As New ReportingService2010()  
   rs.Credentials = System.Net.CredentialCache.DefaultCredentials  

   ' Return the list of items in My Reports  
   Dim items As CatalogItem() = rs.ListChildren("/Adventureworks 2008 Sample Reports", False)  

   Dim ci As CatalogItem  
   For Each ci In  items  
      ' If the item is a report, add it to   
      ' a combo box  
      If ci.TypeName = "Report" Then  
         catalogComboBox.Items.Add(ci.Name)  
      End If  
   Next ci  
End Sub 'listReportsButton_Click  
// Button click event that retrieves a list of reports from  
// the My Reports folder and displays them in a combo box  
private void listReportsButton_Click(object sender, System.EventArgs e)  
{  
   // Create a new Web service object and set credentials  
   // to Windows Authentication  
   ReportingService2010 rs = new ReportingService2010();  
   rs.Credentials = System.Net.CredentialCache.DefaultCredentials;  

   // Return the list of items in My Reports  
   CatalogItem[] items = rs.ListChildren("/Adventureworks 2008 Sample Reports", false);  

   foreach (CatalogItem ci in items)  
   {  
      // If the item is a report, add it to   
      // a combo box  
      if (ci.TypeName == "Report")  
         catalogComboBox.Items.Add(ci.Name);  
   }  
}  

여기서 사용자가 콤보 상자에서 보고서를 선택하고 웹 브라우저 컨트롤이나 이미지 컨트롤을 사용하여 폼에서 보고서를 미리 볼 수 있도록 설정할 수 있습니다.From there, you might enable users to select the report from the Combo box and preview the report on the form either using a Web browser control or an image control.

Windows Forms를 사용하여 보고서 보기 및 탐색 사용Enabling Report Viewing and Navigation Using Windows Forms

보고서를 Windows Forms 응용 프로그램에 통합하는 데 사용할 수 있는 두 가지 메서드가 있습니다.There are two methods available for integrating reports into your Windows Forms applications.

SOAP API를 사용하여 지원되는 모든 Render 메서드 사용 렌더링 형식으로 보고서를 렌더링할 수 있습니다.You can use the SOAP API to render reports to any of the supported rendering formats using the Render method. SOAP을 통해 보고서 보기 및 탐색을 사용하면 다음과 같이 약간의 단점이 있습니다.There are slight disadvantages to enabling report viewing and navigation through SOAP:

  • URL 액세스를 통한 HTML 뷰어에 포함된 보고서 도구 모음의 기본 제공 기능을 활용할 수 없습니다.You cannot take advantage of the built-in functionality of the report toolbar that is included with the HTML Viewer through URL access.

  • HTML로 렌더링할 경우 RenderStream 메서드를 사용하여 이미지나 리소스를 추가 스트림 형태로 별도로 렌더링해야 합니다.If you render to HTML, you must separately render any images or resources as additional streams using the RenderStream method.

  • URL 액세스를 사용하면 SOAP API에 비해 보고서 렌더링 성능이 약간 높아집니다.There is a slight performance advantage to rendering reports using URL access over using the SOAP API.

    하지만 SOAP API의 Render 메서드를 사용하면 보고서를 렌더링하여 프로그래밍 방식으로 다양한 출력 형식으로 저장할 수 있습니다.However, the Render method of the SOAP API can be used to render reports and save them to various output formats programmatically. 이 점을 사용자 개입이 필요한 URL 액세스에 비해 이점으로 손꼽을 수 있습니다.This is an advantage over URL access, which requires user interaction. SOAP API Render 메서드를 사용하여 보고서를 렌더링하는 경우 지원되는 모든 출력 형식으로 렌더링할 수 있습니다.When you render a report using the SOAP API Render method, you can render to any of the supported output formats.

    에 포함 되어 있는 무료 배포 가능 ReportViewer 컨트롤을 사용할 수도 있습니다 MicrosoftMicrosoft Visual Studio 2008Visual Studio 2008합니다.You can also use the freely distributable ReportViewer controls that are included with MicrosoftMicrosoft Visual Studio 2008Visual Studio 2008. ReportViewer 컨트롤을 통해 Reporting ServicesReporting Services 기능을 사용자 지정 응용 프로그램에 쉽게 포함시킬 수 있습니다.The ReportViewer controls make it easy to embed Reporting ServicesReporting Services functionality into custom applications. ReportViewer 컨트롤은 사전 디자인을 갖추어 완전히 제작된 보고서를 응용 프로그램 기능 집합의 일부로 제공하려는 개발자에게 적합합니다. 예를 들어 웹 사이트 관리 응용 프로그램에 회사 웹 사이트에서의 클릭 동향 분석을 보여 주는 보고서를 포함할 수 있습니다.The ReportViewer controls are intended for developers who want to provide predesigned, fully authored reports as part of an application feature set (for example, a Web site management application might include reports that show click-stream analysis on company Web sites). 응용 프로그램에 컨트롤을 포함하는 것은 Reporting ServicesReporting Services 서버 구성 요소를 응용 프로그램 배포에 포함하는 대신 사용할 수 있는 간소화된 방법입니다.Embedding the controls in an application provides a streamlined alternative to including the Reporting ServicesReporting Services server components in your application deployment. 이러한 컨트롤은 보고서 기능을 제공하며 단, Reporting ServicesReporting Services에서 제공되는 보고서 제작, 게시, 배포 및 배달에 대한 추가 지원은 없습니다.The controls provide report functionality, but without the additional report authoring, publication, or distribution and delivery support that you find in Reporting ServicesReporting Services.

    ReportViewer 컨트롤에는 기능이 풍부한 Windows 클라이언트 응용 프로그램용과 ASP.NETASP.NET 응용 프로그램용의 두 가지 버전이 있습니다.There are two versions of the ReportViewer controls, one for rich Windows client applications and one for ASP.NETASP.NET applications. 이러한 컨트롤은 로컬 처리 및 원격 처리 모드를 모두 지원합니다.The controls support both local processing and remote processing modes. 로컬 처리 모드의 경우 응용 프로그램은 보고서 정의 및 데이터 집합을 제공하고 보고서 처리를 시작합니다.In local processing mode, your application provides the report definition and datasets and triggers report processing. 원격 처리 모드의 경우에는 데이터 검색 및 보고서 처리는 보고서 서버에서 수행되며 컨트롤은 표시 및 보고서 탐색에 사용됩니다.In remote processing mode, data retrieval and report processing happen on the report server and the control is used for display and report navigation. 이 모델에서는 데스크톱에서 엔터프라이즈 수준까지 확장될 수 있는 기능이 풍부한 응용 프로그램을 구축할 수 있습니다.This model allows you to build rich applications that can be scaled from desktop to the enterprise.

    ReportViewer 컨트롤은 Visual StudioVisual Studio 온라인 도움말에 설명되어 있습니다.ReportViewer controls are documented in Visual StudioVisual Studio online Help. 자세한 내용은 Visual StudioVisual Studio 제품 설명서를 참조하십시오.For more information, see the Visual StudioVisual Studio product documentation.

관련 항목:See Also

웹 서비스와.NET Framework를 사용 하 여 응용 프로그램 빌드 Building Applications Using the Web Service and the .NET Framework
응용 프로그램에 Reporting Services 통합 Integrating Reporting Services into Applications
SOAP API를 사용 하 여 웹 응용 프로그램Using the SOAP API in a Web Application