To understand the needs of a reporting platform, you need to first understand the reporting lifecycle. Reporting platforms can be evaluated by their support for the following areas: authoring, management, and delivery. You look at each of these phases later to see how Reporting Services implements them.
This Figure shows the basic reporting lifecycle.
Authoring is the process of creating and publishing reports. There are two primary methods of report development: end user developed reports and report analyst developed reports. There are some distinct differences between these two methods. End user developed reports generally require a much simpler interface. This interface needs to make report layout and formatting quite simple as well as give end users a way to understand the underlying data. Report analyst developed reports generally consist of a more robust report authoring environment and usually require a better understanding of how to query the underlying data source. Both methods of report development are usually necessary to support an enterprise reporting solution. Below are the common features to expect from a report authoring environment:
- Connects to multiple data sources.
- Query editors for previewing and returning source data.
- Report layout designers.
- Report parameters editors.
- Expression editor for creating formulas and building dynamic formats.
- Ability to set report properties such as height and width.
These capabilities are key to the initial report development. They must be flexible enough to handle complex report requirements as well as easy enough for end users to use effectively.
After developing a report, it must be deployed to some location where users can access it. After publishing, the reporting lifecycle moves into the management phase. This phase includes setting properties that allow end user access and take into consideration different environments. Some of those properties include:
- Data source connection information.
- Default parameter values.
- Report security settings.
- Report caching options.
- Report execution schedules.
- Report delivery schedules (subscriptions).
The management phase is generally performed by system administrators. Most of the user access to reports is defined in this phase.
The delivery phase consists of end users accessing reports. There are two common delivery concepts for accessing reports: push delivery and pull delivery. Push delivery consists of reports being sent to the end user. This might include e-mails, files moved to a file share, or reports sent directly to a printer. The basic ideas is that a report is executed on a given schedule and when completed, it is sent to the user. Push delivery on the other hand consists of the end user accessing some sort of application containing reports. This could be a web portal such as SharePoint or simple links in a custom-built application. Below are some common features of the delivery phase:
- End user interface for report browsing.
- Scheduled report distribution.
- Parameter selection.
- Multiple output formats.
A good reporting platform will support both push and pull delivery and the ability to embed delivery functions into custom applications.