Benefits of Reporting Services in Your Application

Microsoft SQL Server 2005 Reporting Services is an open and extensible solution for managed reporting. The flexible architecture enables software developers and enterprises alike to integrate Reporting Services with legacy systems, enterprise portals, or custom applications. For example, developers can use the open interfaces and extensibility to:

Create applications that generate reports using the Report Definition Language (RDL).

Create applications that embed or link to a Web browser to present and manipulate report output through URLs.

Create applications to manage one or more report servers through the Web services interface.

Create additional rendering, delivery, and data processing extensions using the Microsoft .NET Framework.

The functionality in Reporting Services enables developers to focus on providing business value rather than building generic reporting infrastructure in their applications.

Generate Report Definitions

While the Report Designer that is included with Reporting Services will meet the needs of many report authors, custom applications often have specific report authoring requirements. A key feature of Reporting Services is that reports are defined using an XML schema called Report Definition Language (RDL). RDL is a documented, extensible format covering all aspects of the report including data retrieval, expressions, and layout information. Applications can use the .NET XML classes to generate report definitions then publish them to the Report Server using the Web services application programming interface (API). Reporting Services even allows tools to include custom elements that are not part of the RDL schema.

Top of pageTop of page

View Reports Through URL Access

If you are building an application that requires users to view and navigate individually rendered reports, you can access the Report Server through URL access over HTTP. URL access provides report viewing and navigation functionality in a Web browser or supported HTML viewer control that is hosted within a client application. URL requests can contain parameters that are passed to the report for processing or control the viewing experience. URL access is straightforward, quick, and efficient, and makes it easy to integrate the viewing of reports into your application.

Top of pageTop of page

Integrate with Web Services

The Reporting Services Web service is an Extensible Markup Language (XML) Web service with a Simple Object Access Protocol (SOAP) API. You can use the Web service to add the full functionality of Reporting Services to your business applications. Like URL access, the Web service interface provides a set of rendering and viewing functions. However, the Web service also provides additional functionality for managing the contents of a Report Server through an extensive set of more than 75 Web methods.

For scenarios in which the management of reports, subscriptions, schedules, data sources, and other Report Server items is a requirement, the Web service provides a single entry point to the full report-management functionality of the Report Server. It is easy to develop applications that take advantage of the Web service using Microsoft Visual Studio .NET or any other SOAP-enabled development tools.

Top of pageTop of page

Extend Reporting Services

While Reporting Services provides a complete set of built-in reporting functionality, the modular architecture of Reporting Services is designed for extensibility. Server extensions are managed code that execute inside the Report Server. Reporting Services supports three types of extensions:

Data processing, which communicates to data sources and returns data. Data processing extensions are responsible for returning a result set based on connection information, a query, and optional parameter values. Developers can build data extensions to connect to legacy or custom data sources. A data extension implements a subset of the .NET Managed Data Provider interfaces. Developers may optionally implement a set of extended interfaces to provide additional design-time information.

Delivery, which delivers reports over different protocols and to different devices. Delivery extensions are responsible for delivering processed reports or notifications to a specified destination. Given a fully processed report and a set of subscription options, the delivery extension delivers the appropriate report output. The Report Server handles the delivery status and retry logic.

Rendering, which renders reports to specific formats and devices. Rendering extensions are responsible for producing format-specific output for a processed report. Developers implement an interface that returns an output stream from a processed report object and optional formatting parameters. Other methods are responsible for returning ancillary streams such as images and so on.

Deploying an extension is as straightforward as copying a .NET assembly to the Report Server and adding a line of code to the sever configuration file. The Report Server automatically detects the new extension and makes it available to users.


Top of pageTop of page