Some of the requirements that a reporting solution must meet are:
The following sections detail these features in Reporting Services.
Just as Excel or Word require a file format (.xls or .doc) that includes data and information relevant to those applications, reporting solutions need a report definition file. Microsoft Reporting Services uses Report Definition Language (RDL) files to perform this duty. RDL files are XML files that comply with a publicly available schema.
Therefore, all you need for creating reports compatible with Reporting Services is a tool that allows you to create XML (RDL) files. You might even, with perseverance, write a report definition file using Notepad. Fortunately, this is not the standard way to create reports. Microsoft SQL Server 2005 allows creating Reporting projects in Microsoft SQL Server Business Intelligence Development Studio (BIDS) through the classic designer interface.
Once a report is defined, it should be put in a place where applications and/or users can find it and request its processing. Reporting Services includes the infrastructure needed to keep reports in a central, secure repository.
Deploying can occur through three different methods: from BIDS itself, by uploading RDL files from Report Manager, or by scripting the RDL upload operation and using the rs.exe utility to execute those scripts.
Once a report is deployed, some mechanism should allow applications and/or users to find the desired report and to request its processing. Reporting Services includes a Web application, the Report Manager, tailored for administrators and interactive users. For unattended access via applications, Reporting Services includes several application programming interfaces (APIs).
The default format for report processing output is HTML 4.0. For users and/or applications that need the output in a different format, an exporting feature is provided. Reporting Services includes out-of-the-box support for the most popular formats, such as Adobe Acrobat (PDF), Microsoft Excel, and HTML.
Additionally, Reporting Services includes, by default, the ability to deliver rendered reports to file shares or to send them by e-mail.
Extending Reporting Services
You might have noticed that the expressions "by default" and "out-of-the-box" appeared in the previous feature descriptions. Reporting Services is an extensible platform that allows for adding custom code in several areas: security, data source access, rendering, and delivery. These custom code blocks are actually .NET assemblies that should be registered with Reporting Services.
Administering Reporting Services
As mentioned above, one of the enterprise reporting goals is to serve reports to any enterprise user in their preferred format and in their preferred location. Of course, not all users should, nor would, have access to all the company reports. Therefore, Reporting Services provides for administering the reporting environment.
An important enterprise reporting benefit is the ability to schedule report processing. This feature allows administrators to decide when, and how often, a report should be processed. For example, an administrator might need to schedule certain reports to be processed when some process is finished or prevent users from processing huge reports during work hours. By leveraging this Reporting Services feature, administrators can fine-tune the reporting workload according to enterprise business requirements and to the real capacity of the system.