MSBI # 50 – SSRS # 7 – Deep Dive into SSRS Details for its Components, Architecture, Rendering Extensions

Hi friends

Continuing from my various last post on SSRS

  1. MSBI # 4 – SSRS # 1 – What is SSRS ? – (SQL Server Reporting Services)
  2. MSBI # 7 – SSRS # 2 – Get familiar with BIDS–SSRS ? – (SQL Server Reporting Services)
  3. MSBI # 16 – SSRS # 3 – Some Question about SSRS for Deeper Understanding !
  4. MSBI # 33 – SSRS # 4 – Everything and Explanation of Shared Data Source in SSRS
  5. MSBI # 47 – SSRS # 5 – What is a Report ? and Report Definition Overview Diagrams !
  6. MSBI # 49 – SSRS # 6 – What is a Reporting Services report and Why Use Reporting Services with some more basic information

In this article we are going to cover

  • Components of SSRS:Authoring,Management,Rendering
  • SSRS Data Sources and Datasets
  • Explanation of Reporting Service Architecture:
  • Extensions in SSRS
  • Business Intelligence Development Studio (BIDS)

    Components of SSRS:

    1. Report Authoring:

    The Report Authoring tools produce, as their end-product, RDL files that specify the way that the report will work.

    The report designers of SSRS are of two types: ‘Report Builder’ designed for end users and ‘Report Designer’ designed for developers

    Report Builder

    Report Builder is an ‘ad-hoc reporting tool’, and designed for IT-savvy users (normal users) to allow them to specify, modify and share the reports they need. It can be run directly from the report server on any PC with the .NET 2 framework installed. It allows the creation of reports derived from ‘report models’ that provide a business-oriented model of the data. These reports can then be managed just like any others. The Report Builder allows the users to specify the way data is filtered and sorted, and allows them to change the formulas of calculated columns or to insert new columns. These reports have drill-down features built into them.

    Report Designer:

    It allows you to define, preview and publish reports to the Report Server you specify, or to embed them into applications. It has a Query Builder, and expression editor and various wizards. The main designer has tabs for the data, layout and preview. You can create as many datasets as you need to for representing report data

    Model Designer:

    The Model designer in Visual Studio allows you to define, edit and publish ‘report models’ for Report Builder that is abstractions of the real data. This makes the building of ad-hoc reports easier. The model designer allows the programmer to specify the tables or views that can be exposed to the users who can then use the models to design their reports. One can also use it to determine which roles are allowed access to them.

    2. Report Management:

    Report Manager:

    Report Manager is a web-based tool designed to ease the management task of connections, schedules, metadata, history and subscriptions. It allows the administrator to categorize reports and control user access. The RDF files can be uploaded to the report server using this tool and placed in their logical position within the hierarchical menu.

    3. Report Rendering:

    Viewing Reports on an intranet:

    When SSRS is installed, it sets up a virtual directory on the local IIS. When SSRS is installed, it sets up a virtual directory on the local IIS. From there, users with the correct permissions can gain access to whatever reports you choose to deploy. The idea of allowing users to interact with reports and to drill-down into the detail is fundamental to the system, so it is possible to allow users to design their own reports or to use pre-existing ones and to hyperlink between reports or drill down into data to get more detailed breakdowns. SSRS now provides ‘floating headers’ for tables that remain at the top of the scrolled list so one can easily tell what is in each column

    Reports in Application:

    There are alternatives. Such as using the Web Browser control or the Report Viewer control.

    To use the web browser control in an application, all one needs to do is to provide the URL of the report server. The URL parameters provide precise control over what information is returned. Using the appropriate parameters, not only can you get the report itself for display, you can also access the contents of the Data Source as XML, the Folder-navigation page, the child items of the report, or resource contents for a report

    The report viewer control, ‘Report Viewer’, ships with Visual studio 2005 and can be used in any Windows Form or web form surface, just by dragging and dropping. After you assign a report url and path, the report will appear on the control. You can configure the Report Viewer in a local report-processing mode where the application is responsible for supplying the report data.

    One can use the Report Server Web Service to gain access to the report management functionality such as content, subscription and data source, on top of all the facilities provided by using a URL request. This allows reporting via any development tool that implements the SOAP methods. This Web Service approach provides a great deal of control over the reporting process greatly facilitates the integration of Reporting Services into applications, even where the application is hosted in a different operating environment

    SSRS Data Sources and Datasets

    SSRS Data Sources

    The information contained within a data source definition varies depending on the type of underlying data, but typically includes information such as a server name, a database name, and user credentials. A data source can be contained within a report, or it can be shared by several. In the first case, the definition for a report-specific data source is stored within the report itself, whereas for a shared source, the definition is stored as a separate item on the report server. A report can contain one or more data sources, either report-specific or shared.

    SSRS Data Sets

    A Reporting Services dataset is the metadata that represents the underlying data on a specific data source. It contains a data source definition, a query or stored procedure of the data source and a resulting fields list, and the parameters if any, calculated fields, as well as the collation

    Dataset Fields

    Each dataset in a report contains a collection of fields. These fields generally refer to database fields and contain a pointer to the database field and a name property but this can be overwritten with a more meaningful name where necessary. These fields can, alternatively, be calculated fields, which contain a name and an expression

    Explanation of Reporting Service Architecture:

    clip_image002

    The report server includes three applications that run in the same Windows service:

    · Report Manager, which is represented by the Report Manager component in the diagram. Report Manager is a browser application that provides front-end access to the Reporting Services Web service.

    · Reporting Services Web service, this is represented by the Web service components in the diagram. This application handles on-demand, interactive report processing.

    · Background processing application, which is represented by the Windows service components in the diagram. This application processes reports that are triggered from a schedule and delivers reports to target destinations.

    Data Storage:

    The report server is a stateless server that stores all properties, objects, and metadata in a SQL Server database. Stored data includes published reports, report models, and the folder hierarchy that provides the addressing for all items managed by the report server. A report server database can provide internal storage for a single Reporting Services installation or for multiple report servers that are part of a scale-out deployment.

    Extensions in SSRS:

    The report server supports custom authentication extensions, data processing extensions, report processing extensions, rendering extensions, and delivery extensions. A report server requires at least one authentication extension, data processing extension, and rendering extension. Delivery and custom report processing extensions are optional, but necessary if you want to support report distribution or custom controls.

    Security Extensions

    Security extensions are used to authenticate and authorize users and groups to a report server. The default security extension is based on Windows Authentication. You can also create a custom security extension to replace default security if your deployment model requires a different authentication approach (for example, if you require forms-based authentication for Internet or extranet deployment). Only one security extension can be used in a single Reporting Services installation. You can replace the default Windows Authentication security extension, but you cannot use it alongside a custom security extension.

    Data Processing Extensions:

    Data Processing extensions are used to query a data source and return a flattened row set. Reporting Services uses different extensions to interact with different types of data sources. You can use the extensions that are included in Reporting Services, or you can develop your own extensions. Data processing extensions for SQL Server, Analysis Services, Oracle, SAP NetWeaver Business Intelligence, Hyperion Essbase, Teradata, OLE DB, and ODBC data sources are provided. Reporting Services can also use any ADO.NET data provider. Data processing extensions process query requests from the Report Processor component by performing the following tasks:

    · Open a connection to a data source.

    · Analyze a query and return a list of field names.

    · Run a query against the data source and return a rowset.

    · Pass parameters to a query, if required.

    · Iterate through the rowset and retrieve data.

    Some extensions can also perform the following tasks:

    · Analyze a query and return a list of parameter names used in the query.

    · Analyze a query and return the list of fields used for grouping.

    · Analyze a query and return the list of fields used for sorting.

    · Provide a user name and password to connect to the data source.

    · Pass parameters with multiple values to a query.

    · Iterate through rows and retrieve auxiliary metadata.

    Rendering Extensions:

    Rendering extensions transform data and layout information from the Report Processor into a device-specific format. Reporting Services includes seven rendering extensions: HTML, Excel, CSV, XML, Image, PDF, and Microsoft Word.

    HTML Rendering Extension:

    When you request a report from a report server through a Web browser, the report server uses the HTML rendering extension to render the report. The HTML rendering extension generates all HTML using UTF-8 encoding.

    Excel Rendering Extension:   The Excel rendering extension renders reports that can be viewed and modified in Microsoft Excel 97 or later. This rendering extension creates files in Binary Interchange File Format (BIFF). BIFF is the native file format for Excel data. Reports that are rendered in Microsoft Excel support all of the features available for any spreadsheet.

    CSV Rendering Extension:   The Comma-Separated Value (CSV) rendering extension renders reports in comma-delimited plain text files, without any formatting. Users can then open these files with a spreadsheet application, such as Microsoft Excel, or any other program that reads text files

    XML Rendering Extension:   The XML rendering extension renders reports in XML files. These XML files can then be stored or read by other programs. You can also use an XSLT transformation to turn the report into another XML schema for use by another application. The XML generated by the XML rendering extension is UTF-8 encoded.

    Image Rendering Extension:   The Image rendering extension renders reports to bitmaps or metafiles. The extension can render reports in the following formats: BMP, EMF, GIF, JPEG, PNG, TIFF, and WMF. By default, the image is rendered in TIFF format, which can be displayed with the default image viewer of your operating system (for example, Windows Picture and Fax Viewer). You can send the image to a printer from the viewer. Using the Image rendering extension to render reports ensures that the report looks the same on every client. (When a user views a report in HTML, the appearance of that report can vary depending on the version of the user’s browser, the user’s browser settings, and the fonts that are available.) The Image rendering extension renders the report on the server, so all users see the same image. Because the report is rendered on the server, all fonts that are used in the report must be installed on the server.

    PDF Rendering Extension:   The PDF rendering extension renders reports in PDF files that can be opened and viewed with Adobe Acrobat 6.0 or later

    Microsoft Word Rendering Extension:   The Microsoft Word rendering extension renders a report as a Word document that is compatible with Microsoft Office Word 2000 or later

    Report Processing Extensions:

    Report processing extensions can be added to provide custom report processing for report items that are not included with Reporting Services. By default, a report server can process tables, charts, matrices, lists, text boxes, images, and other report items. If you want to add special features to a report that require custom processing during report execution (for example, if you want to embed a Microsoft MapPoint map), you can create a report processing extension to do so.

    Delivery Extensions

    The background processing application uses delivery extensions to deliver reports to various locations. Reporting Services includes an e-mail delivery extension and a file share delivery extension. The e-mail delivery extension sends an e-mail message through Simple Mail Transport Protocol (SMTP) that includes either the report itself or a URL link to the report. Short notices without the URL link or report can also be sent to pagers, phones, or other devices. The file share delivery extension saves reports to a shared folder on your network. You can specify a location, rendering format, and file name, and overwrite options for the file you create. You can use file share delivery for archiving rendered reports and as part of a strategy for working with very large reports. Delivery extensions work in conjunction with subscriptions. When a user creates a subscription, the user chooses one of the available delivery extensions to determine how the report is delivered.

    Business Intelligence Development Studio (BIDS):

    Business Intelligence Development Studio is Microsoft Visual Studio 2008 with additional project types that are specific to SQL Server business intelligence. Business Intelligence Development Studio is the primary environment that you will use to develop business solutions that include Analysis Services, Integration Services, and Reporting Services projects. Each project type supplies templates for creating the objects required for business intelligence solutions, and provides a variety of designers, tools, and wizards to work with the objects.

    Start Page:

    When you first open Business Intelligence Development Studio, the Start Page appears in the center of the Business Intelligence Development Studio user interface. This page displays a list of recently updated projects; help topics, Web sites, technical articles, and other resources; links to product and event information from Microsoft; and by default, a list of articles from the RSS feed of the specified news channel. After you open an object in a project, the designer for working with that object also appears in the center window.

    Tool Window in BIDS:

    clip_image004

    Business Intelligence Development Studio consists of four main windows:

    · Solution Explorer

    · Properties Window

    · Designer Window

    · Toolbox

    Solution Explorer

    In Solution Explorer, you can create empty solutions and then add new or existing projects to the solution. If you create a new project without first creating a solution, Business Intelligence Development Studio automatically creates the solution too. When the solution includes projects, the tree view includes nodes for project-specific objects. For example, the Analysis Services project includes a Dimensions node, the Integration Services project includes a Packages node, and the Report Model project includes a Reports node.

    Properties Window

    The Properties window lists the properties of an object. You use this window to view and change the properties of objects, such as packages, that are open in editors and designers. You can also use the Properties window to edit and view file, project, and solution properties.

    Fields in the Properties window have different types of controls embedded that open when you click them. The type of edit control depends on the particular property. These edit fields include edit boxes, dropdown lists, and links to custom dialog boxes. Properties that are shown as dimmed are read-only.

    Toolbox Window

    The Toolbox window always displays the General tab, and may also display tabs such as Control Flow Items, Maintenance Tasks, Data Flow Sources, or Report Items.

    Some designers and editors do not use items from the Toolbox. In that case the Toolbox contains only the General tab.

    Designer Window

    The Designer window is the tool window in which you create or modify business intelligence objects. The designer provides both a code view and a design view of an object. When you open an object in a project, the object opens within a specialized designer in this window. For example, if you open a data source view in any of the business intelligence projects, the designer window opens using the Data Source View designer.

    Working with Solutions and Projects:

    When you create a new solution, Business Intelligence Development Studio adds a Solution folder to Solution Explorer and creates files that have the extensions .sln and .suo.

    · The *.sln file contains information about solution configuration and lists the projects in the solution.

    · The *.suo file contains information about your preferences for working with the solution.

    Hope this explanation is useful for you !!

    Thanks for visiting my blog !!

    If you really like reading my blog and understood at lest few thing then please don’t forget to subscribe my blog .

    If you wan daily link and analysis or interesting link go to following website which will give @ your inbox please subscribe our following link resource blog

    Where todays links are

    Link Resource Website