Transcription of Reporting Services Architecture - pearsoncmg.com
1 CHAPTER3IN THIS CHAPTER Report server Web andWindows Service Programmatic Interfaces Report Processor Command-Line Utilities Reporting Services Extensions Report server Databases Scheduling and DeliveryProcessor Report BuilderNEW in 2005 Report ModelDesignerNEW in 2005 Report Designer Report Manager SQL server ManagementStudioNEW in 2005 Reporting ServicesConfiguration Tool NEW in 2005 RSPrintClient Control NEW in 2005 WMI Provider Performance MonitoringObjectsReporting ServicesArchitectureSSRS is a comprehensive and extensible reportingplatform, which includes an integrated set ofprocessing components, programmatic interfaces,and tools. Processing components are the basis forthe multilayered Architecture of SSRS and interactwith each other to retrieve data, process layout,render, and deliver a report to a target supports two categories of components:nProcessors Ensure integrity of SSRS andsupply an infrastructure that enables develop-ers to add a new functionality (extensions).
2 Processors itself are not extendable in thisrelease of Assemblies that are invoked byprocessors and perform specific processingfunctionality, such as data can write custom Services Architecture diagram is depictedin Figure ; components are described in moredetails later in this chapter. Arrows on the diagramshow a data flow between components within and outside of SSRS (external tools, applications, Services , and utilities).FIGURE Services server Web and Windows ServiceThe Report server is implemented as a symbiosis between a web service and Windowsservice. Services work together to host, process, and deliver SSRS 2005, Report server supports multiple instances on a single SSRS Windows service starts, it initially loads basic supporting assemblies (such as aSQL data provider and interface library), but it does not load extensions. In this release,SSRS Windows service handles encryption and decryption and serves as a host for theScheduling and Delivery Processor.
3 The Scheduling and Delivery Processor uses aPollingIntervalconfiguration setting to monitor SSRS catalog s Eventtable for events (such as timed subscription). Events instruct SSRS to wake up and start 3 Reporting Services Architecture36N New for SSRS 2005W Only in Windows applications, andsome SSRS utilities, ManagerSOAP proxyDevelopment tools:Report Designer, ReportBuilder, Model BuilderSQL ServerManagement StudioReporting ServicesConfigurationManagerWeb browser or acustom applicationcapable of HTMLGET/POSTNNN configurationutility( )URL Access(http://<svr>/ReportServer)Report serverProgrammatic InterfacesSOAP http://<svr>/ReportServer/ extensionsModel extensionsEvent extensionsData processingextensionsReportProcessorDeliv eryextensionsScheduling andDeliveryProcessorSQL ServerSSRS server databaseSSRS server temporary DBSQL server Agent(scheduling engine)Data sourcesDelivery channelsDataDataDataData sourcesDataDataDataSecurity providersFileXML :Similar to any.
4 NET web service, SSRS web service is invoked ( wakened up ) via InternetInformation server (IIS) and executes in the worker process ( ). Wake up events are facilitated by programmatic InterfacesThe Reporting Services programmatic interfaces accept SOAP (via SSRS web service) andHTTP requests (via URL Access). For more information about SSRS web service, please seeChapter 25, How to Use Reporting Services Web Service. For more information aboutSSRS URL Access, please see Chapter 24, How to Use URL Access. SSRS 2005 web service provides three endpoints:nhttp://localhost/ is provided for backward compati-bility with SSRS ://< server >/ is the new managementendpoint in SSRS ://< server >/ is the new name of an endpoint describes the purpose. For example, the execution endpoint isdesigned to provide report execution (processing) interfaces and, with that, an access tofunctions, such as Render.
5 Function Renderreturns a rendered report as a stream with aspecified format, such as interfaces facilitate retrieval of information from the SSRS catalog andinformation exchange between SSRS a report is requested, either interactively or by the Scheduling and DeliveryProcessor, programmatic interfaces initialize the Report Processor component and startprocessing a ProcessorThe Report Processor ties components of a report server together and takes care of cachingwithin SSRS. Caching refers to an ability of the SSRS to keep a copy of a processed reportand return that copy when a user opens the report. Caching can shorten the timerequired to retrieve a report, especially if the report is large or is accessed frequently. Allreport caches are stored in the SSRS catalog (specifically ReportServerTempDB database)and survive both SQL server and Report server Processor performs the following operations:nExecution Retrieves a report definition and combines it with data retrieved by thedata-processing extension.
6 This operation generates an intermediate Renders the intermediate format to a requested output format usingrendering Processor37nProcessing of models This is similar to Execution operation for reports that aregenerated by Report Builder and contain a semantic model (or simply a model,which serves as a data source for a report) and a semantic query. Semantic queryrefers to a query performed against a model that, in turn, just like a SQL query,generates a report s data is how Report Processor responds to users requests: nNew interactive report request Intermediate format is generated and passed tothe rendering extension; user receives rendered to generate cache or snapshot Intermediate format is generated andstored in the for cached report or snapshot Intermediate format is retrieved fromcache (or snapshot) and passed to the rendering extension; user receives UtilitiesThree administration assistance utilities are installed automatically during the ReportingServices Host scripting operations.
7 Developers can, for example, create to deploy a set of reports. You can find more details about this utility inChapter Use to modify encrypted connection information to the ReportServer Back up/restore symmetric keys for encrypted data used by a reportserver or delete encrypted data if the key is lost. For more details, please see Chapter21, Deploying and Configuring SSRS. NOTESSRS 2005 discontinued the , which was used in the previousrelease to activate new SSRS instances in a web farm. In SSRS 2005, activation isperformed using the Reporting Services Configuration Services ExtensionsAn extension is a .NET Assembly that is invoked by the Report Processor to performcertain processing functions. There are several types of extensions: Data Processing,Delivery, Rendering, Security (authentication and authorization), SemanticQuery,ModelGeneration, and 3 Reporting Services Architecture38 For an extension to be used by a report server , it has to be installed (assuming defaultSSRS configuration) to the C:\Program Files\Microsoft SQL server \ \ReportingServices\ReportServer\bindirec tory and configured in C:\Program Files\MicrosoftSQL server \ \ Reporting Services \ReportServer\ last part of an extension filename usually implies the extension s functionality.
8 Forexample, the HTML rendering extension s filename is extensions allow developers to add complementing functionality that is notavailable in SSRS out-of-the-box. For example, a company can implement an extensionthat delivers reports to a phone or a fax. You can learn more about extensions in Chapter26, Writing Custom Reporting Services Extensions. NOTEThis release of SSRS does not allow custom SemanticQuery, ModelGeneration, orEventProcessing ExtensionsData-processing extensions retrieve data from the report data source. Some of the tasksperformed by data-processing extensions include open connection to a data source,analyze query and return field names, pass parameters, and retrieve and iterate data outlines the data-processing extensions included and configured with Extensions Configured with SSRSE xtensionDescription/NotesSQL ServerConnects to and retrieves data from the SQL server databaseengine versions through DBConnects to and retrieves data from OLE DB-compliant data SQLC onnects to and retrieves data from the SQL server Analysis server AnalysisServices Services 2000 and 2005.
9 For Analysis Services 2005, thisextension supports both Multidimensional Expressions (MDX) andData Mining Expressions (DMX). For Analysis Services 2000, thisextension supports nonparameterized MDX to and retrieves data from an Oracle database; requiresOracle client 8i Release 3 ( ) to be installed on a computer onwhich Reporting server is to and retrieves data from ODBC-compliant XML data from any XML web source (such as a webserver) that can be accessed through a Services Extensions39 All extensions, which are installed with SSRS (except XML), leverage corresponding .NETdata providers. provides wrapperclasses that supply SSRS data-processing extension interfaces to .NET data can create additional custom data-processing ExtensionsDelivery extensions deliver reports to specific devices or formats. Extensions includedwith RS include email and file share delivery.
10 The delivery method and, therefore, corre-sponding extension are selected when a user (or an administrator) creates a sample of printer delivery extension is included with SQL server samples and discussedin Chapter 26. Table outlines the delivery extensions included and configuredwith Extensions Included with SSRSE xtensionPurposeEmail deliveryDelivers a rendered report to an email inbox. Allows settingdelivery options that control an output format and whether thereport is delivered as a link or as an share deliveryDelivers a rendered report to a shared folder. Allows settingdelivery options that control a destination folder path, anoutput format, and whether the report overrides an olderversion or is added as a new can create additional custom delivery ExtensionsReport server Rendering extensions transform a report s layout and data into a device-specific format.