Reporting Services Scenarios
If you are new to SQL Server Reporting Services, you can read the scenario descriptions in this topic to learn how Reporting Services technology is typically used.
Many companies use reporting software to distribute information to users who use reports to make decisions, identify opportunities, or analyze threats. Reporting Services includes a full range of ready-to-use tools and services so that you can create, deploy, and manage reports for your organization. Although you can manipulate report programmatically, no programming is required if you want to use Reporting Services "off the shelf". Authoring and administration tools include Report Designer, SQL Server Management Studio, Report Manager, and Reporting Services Configuration tool. Business users can use Report Manager, SharePoint Web parts, or a Web browser to view reports on demand, or subscribe to reports that are delivered through e-mail.
Ad hoc Reporting
Users who work with business data often require the ability to create and refine reports on an ad-hoc basis. Reporting Services includes Report Builder, a tool that allows you to select a report template and report model from the report server, drag data fields and graphical elements onto a design surface to create basic reports, save the report definition files to the server, and modify the reports. Ad hoc reports require predefined report models that are created by a model designer and then published to the report server for use throughout the organization.
If you are a developer, you can use Reporting Services to provide reporting features in your application. For some applications, the addition of reports completes a feature set by providing a way to present data that the application tracks, creates, or monitors. Use Report Designer to create the reports either based on a data source that you provide in your application or that is publicly available. Use the API to define access and add support for any built-in report server features you want to include in your application. As part of your application deployment, include both a report server and the report server database that contains reports and other metadata. At run time, when the user requests a report, your application code invokes the Report Server Web service, which then retrieves the report definition from the report server database and processes the report with the latest data.
Alternately, if your application does not require all of the features provided in a report server, you can use the ReportViewer controls included in Microsoft Visual Studio 2005. In contrast with Reporting Services, the ReportViewer controls are freely distributable with your application. For more information, see Reporting Services and ReportViewer Controls in Visual Studio.
Because reports can accommodate and present data from a variety of sources, many organizations use the interactive reporting features of Reporting Services to distribute tabular or chart data in portal applications. You can host reports in a portal page or create a report that mimics a dashboard-style Web application by embedding multiple reports, charts, and data-driven images into a single free-form report layout. Whenever you need to incorporate tabular or chart data into a line-of-business application, consider adding a report instead.
You can make reports available to staff who work off-site or in regional offices by deploying a report server on an Internet-facing Web server. Note that Internet report deployment usually requires that you create a custom security extension to support forms-based authentication. Expertise in Web security and Internet deployment, and programming skills to write the necessary extensions, are required.
Building Custom Report Design and Report Management Tools
The tools and applications included with Reporting Services are based on programmatic interfaces that are available to all users. This means that you can replace the applications and tools included in Reporting Services with a custom tool set that you create. For example, if you want an alternative to the Visual Studio authoring environment used for Report Designer, you can develop a custom report authoring tool to replace it. To build a custom Web portal or report management tool, review the API to learn about the report server management functions that you must support. Reporting Services includes a Windows Management Instrumentation (WMI) provider that you can use to develop Windows-based tools used for server administration.
Extending Reporting Services Functionality
Reporting Services is designed for extensibility. You can create custom extensions to support additional kinds of data sources, delivery approaches, security models, and report items. When creating custom extensions, the degree of difficulty can vary considerably depending on the kind of extension you are creating and the functionality you need it to support. Data processing extensions are typically the most straightforward to create, while rendering extensions can be very difficult if you are supporting the entire report schema. For more information about extending Reporting Services functionality, see Reporting Services Extensions and Report Definition Language.