in

Prologika Forums

Business Intelligence to the Masses

This Blog

Syndication

News

Visit prologika.com for information about Teo's publications, the latest on the Microsoft Business Intelligence initiative, and more...

Prologika (Teo Lachev's Weblog)

Teo Lachev is a consultant, mentor, and author focusing on the design and development of Microsoft .NET business intelligence solutions. Read about Teo's work and life. Registered users can post comments.

SSRS-SharePoint Integration in SP2 (the Good, the Bad, and the Ugly)

As noted before, a major SSRS enhancement in the SQL Server 2005 Service Pack 2 is integration with SharePoint v3.0 and Microsoft Office SharePoint Server. After the RTM release of SQL Server 2005, the SSRS team has been hard at work to implement this feature. Starting with the newly released CTP2 build of SQL Server 2005 Service Pack 2, the SharePoint integration mode is available for public review and testing.

Here are my initial high-level observations after testing the SSRS SharePoint integration in CTP2.

The Good

Integrating reports in dashboards and portals is an increasingly popular requirement. It is obvious that the major design goal that the RS team has set up from the get-go was a seamless integration between SSRS and SharePoint. Many changes were made to the SSRS architectural stack to materialize this goal. The final result speaks for itself (see attached screenshot ).

Once the Report Server is configured in a SharePoint mode, the report definitions are equal citizens to the other documents that are deployed to the SharePoint repository. You can carry all of the report management and delivery tasks right within SharePoint. For example, you can upload the report definitions, set up report security, parameters, subscriptions, and view reports. No, no web-based report authoring yet (not in this release). Instead, use the Report Designer or Report Builder to deploy reports to a SharePoint library.

The Report Server security polices get superseded with SharePoint security. In other words, in SharePoint mode, the Report Server honors the SharePoint security policies and groups, e.g. Home Owners. Behind the scenes, viewing reports is carried by a Report Viewer web part which wraps the ASP.NET ReportViewer that debuted in VS.NET 2005.

Overall, you will undoubtedly like the tight SharePoint integration especially if you have used the old SharePoint Report Explorer web part which was just a wrapper on top of the Report Manager UI. As the popular add goes on, everyone can see the difference. SSRS reports just blend in and "light up" SharePoint. Moreover, the new integration model enables new features (native to SharePoint) that the Report Server doesn't support, such as version control of report definitions and workflow support. For example, you can set up a workflow that requires a formal approval when a new report is uploaded.

The Bad

Many moving parts. New web services endpoints (2006) and security extension are installed on the Report Server to support the SharePoint integration model. A Reporting Services add-in needs to be installed on the SharePoint box so SharePoint can "talk" to the Report Server (only single-server deployment scenario is supported in CTP, the final release will support installing SharePoint and Report Server on separate machines) .

Without going into technical details, a synchronization process takes place at runtime to synch the report definitions between the SharePoint repository and the Report Server catalog. In other words, the SharePoint is the master, the Report Server is the slave. Each time you run a report, the Report Server checks if the report definition exists in its catalog and, if not, calls down to SharePoint to retrieve and upload the report definition. That's because some management tasks are carried by SharePoint (mainly storing the report definitions), while others (subscriptions, snapshot caching, rendering) are executed by the Report Server. Upgrading an existing report catalog to SharePoint is not supported. You need to create a new report catalog enabled in a SharePoint integration mode (use the RS Configuration Utility) and upload manually or programmatically the existing report definitions.

The Ugly

My biggest gripe is the lack of backward application compatibility. If you have an existing application(s) that call down to the Report Server APIs and your requirements call for surfacing your reports to SharePoint you may find that this is not that simple. Not only the web service end points have changed but also the report paths are different to reflect the fact that report definitions are now stored in SharePoint, e.g. http://localhost/Reports/ReportsLibrary/AdventureWorks Sample Reports/Company Sales.rdl. Further, some features didn't make to SharePoint because they don't have equivalents, such as linked Reports and batching. These changes will necessitate either rewriting your RS code to bent to the SharePoint integration mode (assuming you want to keep everything in SharePoint) or maintaining two report catalogs (one in the "classic" RS mode and a second for SharePoint integration). Of course, the later scenario would require an additional effort to synchronize both catalogs.

Finally, despite that extensibility has been an RS hallmark since its first release, the SharePoint web parts are not extensible. For example, as with the Report Manager, developers won't be able to change the parameter prompts, e.g. to implement more advanced parameter validation or replace them with custom controls. In short, if your requirement go beyond the built-in feature set, you don't have another choice but to abandon the Microsoft SharePoint implementation altogether and do it yourself.

Since I'd prefer centralizing the report management into a single report catalog whenever possible (as opposed to having multiple catalogs for each integration scenario), I couldn't help it but wish for a "semi-tight" integration where the SharePoint web parts just act as a thin presentation layer to the Report Server similar to the Report Manager. But again, I am not an expert in SharePoint and don't know what compromises this approach would have required or how difficult it could have been to achieve the SharePoint look and feel if the report definitions are not stored in SharePoint.Not to mention that the backward compatability issue I listed above may not be a problem if your requirements call for having two separate sets of reports anyway - one for application consumption (operational reports) and second for a SharePoint dashboard (management reports). In this case, having two distinct report catalogs may be preferable.

Published Nov 25 2006, 07:47 PM by tlachev
Filed under:
Attachment: sps_portal.png

Comments

 

tspascoal said:

What are the implications for extensions? namely custom security extensions

tanks

November 28, 2006 9:15 PM
 

tlachev said:

Once in SPS mode, the Report Server security falls back on the SharePoint security model. So, I don't think you can have RS configured for custom security. Instead, use the SPS forms authentication security.

November 30, 2006 9:42 AM
 

Angi's Tech Trace said:

January 3, 2007 10:43 AM
 

Sumitkute78 said:

Hi,

I am working on sharepoint 2007 integration with reporting service 2005. There are few facts which i am trying to understand and need some clarifications. Please provide your comments

1) While configuring "Database setup" in Repoting Service Configuring Manager" i found two modes 1) Native and 2) SharePoint Integration. When creating a report server database if we check "Create the report server database in Sharepoint Integration Mode"  then it set the mode to "SharePoint Integration Mode". There is no option of switching the same database to native mode. So i have to create another database in "Native Mode". (IS THIS CORRECT. DO WE NEED TO CREATE TWO REPORT SERVER DATABASE SEPERATE FOR SHAREPOINT INTEGRATION AND NATIVE)

2) I am using the new report viewer web part in sharepoint 2007. When i am in sharepoint integration mode i can create datasource, report model and with report builder i can create rdl file. On selecing any RDL file in doument library and it gets displayed in Report Viewer Web Part. When i switch to Native mode i want to configure the web part to use the report created with SQL Server Bussiness Intelligence Dev Studio and deployed on http://localhost:808/ReportServer. (IS THERE ANY WAY SO THAT I CAN EXPORT AND IMPORT ALL .RDL FILE FROM http://localhost:808/ReportServer to http://localhost/ReportServer)  

I AM NOT ABLE TO CONFIGURE WEB PART WHEN I AM IN NATIVE MODE i.e giving path of .RDL in report textbox throw a error saying "Item not found" i tried all combination. THIS can be related to datasource not reading in .RDL file in native mode while confuring report viewer web part.

http://localhost:808/ReportServer (Report Server)

http://localhost/ReportServer (SharePoint Mode) (Default Top Level Site)

3) LAST : I want to create a .RDL file report from the data in sharepoint, say lists or news etc. So when creating a RDL file how can i connect to sharepoint database. I read some where that in previous release they used to DATA EXTENSIONS and get the data from list in sharepoint with something like http://<servername>/<sitename>/List=Announcement when creating RDL file. Is the alternative in new release to create the report based on sharpoint list data.

Thanks and i would really appreciate your help

January 18, 2007 2:15 AM
 

tlachev said:

1) You cannot switch between modes.

2) There isn't an automatic way to do this. You can handle this programatically though.

3) Once in SharePoint mode, I think there should be a new data extension to do this.

January 28, 2007 1:53 PM
 

Prologika (Teo Lachev's Weblog) said:

It's time for my annual presentation for the Atlanta.MDF group. This time, the topic will be the SSRS-SharePoint

February 10, 2007 3:16 PM
Copyright © 2005 Prologika, LLC
Powered by Community Server (Commercial Edition), by Telligent Systems