Интеграция служб Reporting Services с помощью SOAP — приложения Windows

С помощью API SOAP служб Reporting Services можно получить доступ ко всем функциональным возможностям сервера отчетов. Поскольку API SOAP является веб-службой, к нему легко получить доступ, чтобы предоставить для пользовательских бизнес-приложений функции создания отчетов в масштабе предприятия. Чтобы получить доступ к веб-службе в приложении Windows, можно просто написать код, который вызывает службу. С помощью Microsoft платформа .NET Framework можно создать прокси-класс, предоставляющий свойства и методы веб-службы. Затем вы можете использовать знакомую инфраструктуру и средства для создания бизнес-приложений, построенных на технологии Reporting Services.

Интеграция функций управления отчетами с помощью Windows Forms

В отличие от доступа по URL-адресу, API SOAP дает доступ к полному набору функций управления, доступных на сервере отчетов. Это значит, что все административные функции диспетчера отчетов становятся доступными для разработчиков по протоколу SOAP. Таким образом, с помощью Windows Forms можно разработать законченное средство по управлению и администрированию. Например, в приложении Windows может понадобиться разрешить пользователям получать содержимое пространства имен для сервера отчетов. Метод веб-службы ListChildren можно использовать для перечисления всех элементов в базе данных сервера отчетов, а затем использовать элемент управления Listview, Treeview или Combobox для отображения этих элементов пользователям. Следующий код веб-службы может использоваться для получения текущего списка доступных отчетов в папке "Мои отчеты" пользователя, когда пользователь выбирает кнопку в форме:

' 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 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 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);  
   }  
}  

Затем можно разрешить пользователям выбрать отчет из поля со списком и просмотреть отчет на форме с помощью элемента управления веб-браузера или элемента управления «Изображение».

Включение просмотра отчетов и навигации с помощью Windows Forms

Для интеграции отчетов в приложения Windows Forms доступно два метода.

Можно использовать API SOAP для подготовки отчетов к просмотру в любом из поддерживаемых форматов с помощью метода Render. Включение просмотра отчетов и переходов по отчетов с помощью протокола SOAP сопряжено с некоторыми недостатками.

  • Вы не можете воспользоваться встроенными функциями панели инструментов отчета, которая включена в средство просмотра HTML через доступ по URL-адресу.

  • При подготовке к просмотру в формате HTML изображения или ресурсы необходимо обрабатывать в отдельных потоках с помощью метода RenderStream.

  • Существует небольшое преимущество производительности для отрисовки отчетов с помощью ДОСТУПА по URL-адресу с помощью API SOAP.

Однако метод Render API SOAP позволяет готовить отчеты к просмотру и сохранять их в различных выходных форматах программным образом. Этот метод является преимуществом по сравнению с доступом по URL-адресу, для которого требуется взаимодействие с пользователем. С помощью метода Render API SOAP отчет можно подготовить к просмотру в любом из поддерживаемых выходных форматов.

Также можно использовать свободно распространяемые элементы управления средства просмотра отчетов, входящие в состав Microsoft Visual Studio 2008. Элементы управления средства просмотра отчетов упрощают внедрение функций служб Reporting Services в пользовательские приложения. Элементы управления "Средство просмотра отчетов" предназначены для разработчиков, которые хотят предоставить готовые, полностью созданные отчеты в рамках набора функций приложения. Например, приложение управления веб-сайтами может включать отчеты, показывающие анализ потоков щелчка на корпоративных веб-сайтах. Внедрение элементов управления в приложение более простым способом достигает того же результата, что и включению серверных компонентов Reporting Services в составе развертывания приложения. Элементы управления предоставляют функциональные возможности отчета, но без дополнительной поддержки разработки, публикации или распространения и доставки, которые находятся в службах Reporting Services.

Существует две версии элементов управления средства просмотра отчетов: одна предназначена для многофункциональных клиентских приложений Windows, а вторая — для приложений ASP.NET. Элементы управления поддерживают режимы локальной и удаленной обработки. В режиме локальной обработки приложение предоставляет определения отчетов, наборы данных и триггерную обработку отчетов. В режиме удаленной обработки получение данных и обработка отчетов выполняется на сервере отчетов, а элементы управления используются для отображения и навигации по отчету. Такая модель позволяет разрабатывать мощные, легкомасштабируемые приложения.

Документацию по элементам управления средства просмотра отчетов см. в справке в Интернете по среде Visual Studio. Дополнительные сведения есть в документации по продукту Visual Studio.

Создание приложений с помощью веб-службы и .NET Framework
Интеграция служб Reporting Services в приложения
Использование API SOAP в веб-приложении