SharePoint In het kort:
Integratieconfiguratie eenvoudiger Downloaden en installeren op elke moment Rapporten maken, wijzigen en publiceren vanuit SharePoint
Integratie van SQL Server 2008 R2 Reporting Services in SharePoint 2010 A l an L e Marquand
SQL Server en SharePoint hebben altijd prima samengewerkt. De komst van SharePoint Server 2010 en SQL Server 2008 R2 boden aanzienlijke verbeteringen in de integratie tussen SharePoint en SQL Server 2008 R2 Reporting Services (SSRS). Hieronder laat ik u zien hoe u de recente verbeteringen configureert en gebruikt. Architectuur voor serverintegratie De Reporting Services Add-in voor SharePoint is de drijvende kracht achter de integratie tussen de twee servers. U installeert de invoegtoepassing, die u gratis kunt downloaden bij het Microsoft Download Center, op alle SharePoint 2010 WFE-servers (Web Front End) die u wilt integreren met een Report Server. In Figuur 1 ziet u de architectuur van de integratiecomponenten. Met de invoegtoepassing worden er drie componenten geïnstalleerd op de SharePoint 2010 WFE-server: de SSRS-proxy, het webonderdeel Report Viewer en de applicatiepagina's waarmee u de Report Server-content op een SharePointsite of -farm kunt bekijken, opslaan en beheren. De SSRS-proxy vereenvoudigt de communicatie tussen de WFE-server en de Report Server. Op
56
juli 2010
de pagina's voor Reporting Services van Central Administration in SharePoint kunt u de proxy configureren voor de Report Server die u wilt gebruiken en kunt u de authenticatiemethode en referenties instellen om toegang tot de server te krijgen. U moet de Report Server uitvoeren in de modus SharePoint Integrated om de integratie te laten werken. Een belangrijk onderdeel in Figuur 1 is het SharePoint-objectmodel op de Report Server. De Report Server moet toegang tot de configuratie- en contentdatabase op uw SharePointsite of -farm hebben om de rapportagegegevens in SharePoint te kunnen interpreteren en beveiligen. U kunt hiervoor een uitgeklede versie van SharePoint op de Report Server installeren en de server aan de farm toevoegen. De versie van SharePoint die u op de Report Server installeert, moet hetzelfde zijn als de versie die u op de farm gebruikt. U hoeft dit alleen te doen als u de Report Server op een afzonderlijke computer draait. Als u SharePoint en Reporting Services op dezelfde computer draait, hoeft u alleen de invoegtoepassing te installeren. Integratie configureren Over het geheel genomen is de integratieconfiguratie eenvoudiger geworden met SharePoint 2010 en SQL Server 2008 R2. De volgorde waarin u de configuratie uitvoert, is afhankelijk van wat u al hebt geïnstalleerd. Zelfs als u helemaal vanaf het begin of met een bestaande installatie begint, moet u in elk geval de hoofdcomponenten installeren voordat u de SSRS-proxy in TechNet Magazine
SharePoint configureert. Als u helemaal vanaf het begin begint, kunt u het beste deze volgorde aanhouden voor optimale resultaten bij de integratie van SQL Server Reporting Service 2008 R2 met SharePoint 2010: 1. Voer de voorbereidende installer van SharePoint 2010 uit. Hiermee wordt de SSRS 2008 R2 Add-in voor SharePoint geïnstalleerd. 2. Installeer en configureer SharePoint 2010 in een farmconfiguratie. 3. Herhaal stappen 1 en 2 op de computer met de Report Server als die niet op dezelfde computer als SharePoint WFE staat en voeg de Report Server aan de SharePoint-farm toe die u bij stap 2 hebt gemaakt. 4. Installeer SQL Server Reporting Services in de modus SharePoint Integrated. 5. Configureer de SSRS-proxy op de pagina Reporting Services Integration en activeer de functie Reporting Services. 6. Als er in het menu Document | New geen contenttypen voor Reporting Services worden weergegeven, moet u deze handmatig toevoegen. Verderop in dit artikel, onder Integratie met Report Builder 3.0, beschrijf ik hoe u de contenttypen voor de Report Server toevoegt. Voor dit scenario kunt u het beste gebruikmaken van SQL Server voor de SharePoint-database, in plaats van de embedded versie waarvan SharePoint standaard gebruikmaakt. Als u alle componenten op één computer installeert, kunt u stap 5 overslaan. U kunt stappen 1 en 2 combineren bij het installatieproces van SQL Server. Als u een bestaande Sharepoint-installatie hebt, kunt u de invoegtoepassing op elk gewenst moment downloaden en installeren. Bij het installatieproces van de invoegtoepassing worden de benodigde pagina's toegevoegd aan SharePoint Central Administration en worden de nieuwe contenttypen voor Report Server toegevoegd voor bestaande SharePoint-bibliotheken op sites met de Business Intelligence (BI) Centersitesjabloon. Aan de SharePoint-kant kunt u de integratie configureren op SharePoint Server 2010 of SharePoint Foundation 2010. Beide ondersteunen de installatie van de invoegtoepassing Reporting Services. Als u SharePoint en Reporting Services op verschillende computers installeert, moet u dezelfde versie van SharePoint op de Report Server installeren. Zo kunt u SharePoint Foundation 2010 niet op de Report TechNet Magazine
Figuur 1 Architectuur voor server integratie.
Server installeren als u SharePoint Server 2010 als WFE gebruikt. De installatie van de invoegtoepassing is heel eenvoudig: u hoeft alleen uw naam en bedrijf in te voeren. Er is verder geen configuratie nodig. Als u SharePoint voor het eerst installeert, installeert u de invoegtoepassing voordat u SharePoint installeert. Dit wordt automatisch gedaan als u de voorbereidende installer van SharePoint 2010 uitvoert. De configuratie van de Report Server wijst zich vanzelf. De belangrijkste overwegingen zijn: • De editie van SQL Server moet Standard, Enterprise of hoger zijn. • De Report Server-database moet voor de modus SharePoint Integrated zijn gemaakt. • Als u SharePoint en Report Server op afzonderlijke computers installeert, moet u een minimale versie van SharePoint op de Report Server installeren en toevoegen aan de farm. Een Report Server wordt geïmplementeerd als Windows-service die onder een ingebouwde account, een lokale Windows-gebruikersaccount of een Windows-domeinaccount wordt uitgevoerd. Bij de modus SharePoint Integrated wordt de Report Server-serviceaccount ingericht voor toegang tot de configuratie- en contentdatabase van SharePoint en de resources van het SharePoint-objectmodel. Dit gebeurt tijdens de configuratie van de integratie tussen Reporting Services en SharePoint op de pagina Reporting Services Integration. Als de authenticatiemodus Windows Integrated wordt gebruikt, wordt de Windowsgebruiker die is aangemeld bij SharePoint geïmiteerd bij verbinding van de WFE met de Report Server. Als de authenticatiemodus een vertrouwde account is, wordt de SharePointgebruikerscontext van de gebruiker die is aangemeld bij SharePoint doorgegeven aan de Report Server in de vorm van het SharePointgebruikerstoken. De account voor de groep van
juli 2010
57
SharePoint de URL voor de Report Server en de authenticatiegegevens op en geeft u aan of u de functie Reporting Services wilt activeren voor alle of alleen bepaalde siteverzamelingen in de farm. Zodra u de pagina die u ziet in Figuur 2 hebt ingevuld, is het integratieconfiguratieproces voltooid. Figuur 2 De Reporting Services-proxy configureren. toepassingen van de SharePoint WFE wordt gebruikt om verbinding te maken tussen de WFE en de Report Server. Lees het TechNet-artikel "Configuring Reporting Services for SharePoint 2010 Integration" voor meer informatie over de configuratie van serviceaccounts. Als u Reporting Services al hebt geïnstalleerd met de standaardinstellingen, werkt de Reporting Services-database in de native modus. Als u met de modus SharePoint Integrated wilt werken, start u de configuratietool voor Reporting Services en wijzigt u op de pagina Database Settings de modus van Native in SharePoint Integrated. U kunt de Report Server-modus op elk gewenst moment wijzigen van Native in SharePoint Integrated. De bestaande database wordt hierbij echter niet geconverteerd. Telkens als u de modus wijzigt, moet u een nieuwe database maken of verbinding met een bestaande database maken. Voordat u de proxy-opties voor Reporting Services configureert in SharePoint, moet u nog één andere configuratie instellen. U moet ervoor zorgen dat anonieme toegang is uitgeschakeld voor de webapplicatie. Hoewel u geen problemen zult ondervinden bij de configuratie van de proxy-instellingen voor Reporting Services, krijgen uw gebruikers een foutmelding als ze rapporten uitvoeren. U kunt Windowsauthenticatie of een andere claimauthenticatie van een authenticatieprovider gebruiken. Als u de integratie tussen een Report Server en een SharePoint-farm configureert, kunt u elke SharePoint-webapplicatie in de farm desgewenst configureren voor gebruik van verschillende authenticatieproviders. Met de invoegtoepassing wordt een nieuwe sectie Reporting Services Integration gemaakt op de pagina General Application Settings in SharePoint Central Administration. Op de pagina Reporting Services Integration geeft u
58
juli 2010
Integratie met Report Builder 3.0 Het grootste voordeel van de integratie tussen SharePoint en Reporting Services is dat gebruikers rapporten kunnen maken, wijzigen en publiceren vanuit SharePoint. Reporting Services biedt een aantal vooraf gedefinieerde contenttypen waarmee diverse bestanden worden beheerd, zoals de gedeelde bestanden voor rapportgevensbronnen (.rsds), de bestanden voor Report Builder-modellen (.smdl) en de bestanden voor rapportdefinities van Report Builder (.rdl). Nadat u voor de integratie hebt ingesteld dat gebruikers deze nieuwe contenttypen kunnen maken en beheren vanuit de ribbon en de snelmenu's, moet u de nieuwe contenttypen inschakelen voor die bibliotheken. Als u de BI Center-sitesjabloon gebruikt, hoeft u niets te doen: met deze sjabloon worden de contenttypen automatisch ingeschakeld voor alle sites die met de sjabloon worden gemaakt. Voor de overige sites en documentbibliotheken moet u twee configuratiestappen uitvoeren. Ten eerste moet u het beheer van contenttypen inschakelen in de bibliotheken (deze instelling is standaard uitgeschakeld). Vervolgens moet u de contenttypen inschakelen voor de bibliotheek. Volg de procedure in het TechNet-artikel "How to: Add Report Server Content Types to a Library (Reporting Services in SharePoint Integrated Mode)" om het beheer van contenttypen in te schakelen voor een documentbibliotheek. Zodra u de nieuwe contenttypen hebt toegevoegd aan een bibliotheek, verschijnen er drie nieuwe opties in de vervolgkeuzelijst New Document op het tabblad Documents. Als u de optie Report Builder Report kiest, wordt Report Builder 3.0 gedownload naar de client en uitgevoerd. U kunt deze optie aanpassen in SharePoint Central Administration. Met de instellingen van Reporting Services Server Defaults kunt u deze optie uitschakelen en een andere URL voor Report Builder opgeven. Het webonderdeel Report Viewer gebruiken op een SharePoint-site Het webonderdeel Report Viewer is een aangepast webonderdeel dat bij de invoegtoepassing TechNet Magazine
Reporting Services wordt geïnstalleerd. Met dit webonderdeel kunt u rapporten op een Report Server bekijken, doorbladeren, afdrukken en exporteren. U kunt de procedure gebruiken die wordt beschreven in het TechNet-artikel "How to: Add the Report Viewer Web Part to a Web Page (Reporting Services in SharePoint Integrated Mode)" om dit webonderdeel aan een pagina toe te voegen. Met elk webonderdeel Report Viewer wordt één rapport tegelijk weergegeven op basis van de absolute URL van het rapportbestand (.rdl) dat is opgegeven bij de eigenschap Report. De URL moet het volledig gekwalificeerde pad zijn naar een rapport op de huidige SharePoint-site of een site in dezelfde webapplicatie of farm. De URL moet verwijzen naar een documentbibliotheek of naar de map in een documentbibliotheek met het rapport. De rapport-URL moet de bestandsextensie .rdl bevatten. Als het rapport afhankelijk is van een model of gedeelde gegevensbronbestanden, hoeft u deze bestanden niet op te geven in de URL. Het rapport zelf bevat verwijzingen naar de vereiste bestanden. Claimauthenticatie en Reporting Services Een van de nieuwe functies in SharePoint Server 2010 is ondersteuning voor authenticatie op basis van claims. In claimbewuste applicaties geven clients 'claims' aan de applicatie door. Deze claims zijn gegevens over de gebruiker, zoals gebruikersnaam, e-mailadres of naam van de manager. Hiermee ontvangt de applicatie meer informatie dan met Kerberos. Neem bijvoorbeeld een inkoopapplicatie: twee van de claims die aan de applicatie worden doorgegeven, kunnen het e-mailadres van de manager van de gebruiker en de inkooplimiet van de gebruiker zijn. Bij een niet-claimbewuste applicatie moeten deze gegevens door de applicatie worden beheerd. In een SharePoint-omgeving lost claimauthenticatie het probleem op van het delen van SharePoint-sites tussen verschillende organisaties. Met een product als Active Directory Federation Services (ADFS) kunnen twee organisaties met verschillende authenticatiemethoden claims instellen waarmee SharePoint een gebruiker kan identificeren en de juiste toegangsrechten kan toewijzen. Omdat deze functionaliteit is ingebouwd in SharePoint 2010-producten, kan Reporting Services met dit authenticatiemodel werken. Reporting Services is niet claimbewust, TechNet Magazine
maar communiceert met SharePoint via een vertrouwde account. De proxyservice in de SQL Server 2008 R2-invoegtoepassing maakt gebruik van het SharePoint-objectmodel om het claimtoken te converteren naar een overeenkomstige SharePoint-gebruikerscontext in de vorm van een SharePoint-gebruikerstoken. Dit token kan door de Report Server worden geïnterpreteerd en worden gevalideerd op basis van de SharePoint-database. Kort gezegd werkt het proces als volgt: 1. SharePoint voert de relevante claimauthenticatie uit en geeft het claimtoken aan de Reporting Services-proxy door via de SharePoint Secure Token Service. 2. De Reporting Services-proxy gebruikt het claimtoken vervolgens om te communiceren met het SharePoint-objectmodel en genereert een overeenkomstig SharePointgebruikerstoken dat wordt doorgestuurd naar de Report Server. 3. De Report Server vergelijkt het SharePointgebruikerstoken met het lokale SharePointobjectmodel en genereert de juiste SharePoint-gebruikerscontext. 4. Als de gebruiker de vereiste toegangsrechten heeft, wordt de aangevraagde informatie teruggezonden naar SharePoint met de juiste SharePoint-gebruikerscontext. Ingebouwde lijstrapportage SQL Server 2008 R2 Reporting Services ondersteunt nu SharePoint-lijsten als gegevensbron. Dankzij deze ondersteuning kunt u lijstgegevens ophalen uit SharePoint Foundation 2010, SharePoint Server 2010, Windows SharePoint Services 3.0 en Office SharePoint Server 2007. De toegang tot lijstgegevens is niet afhankelijk van de invoegtoepassing of het uitvoeren van Report Server in de modus Native of SharePoint Integrated. De functionaliteit is ingebouwd in Report Server. Het enige dat in de verschillende configuraties verandert, is de toegangsmethode. U kunt op twee manieren toegang krijgen tot SharePoint-lijstgegevens: via de webservice lists. asmx en via de API's voor het SharePoint-objectmodel. Als u in een willekeurige SharePointinstallatie de URL invoert, krijgt u een XMLlijst van lijsten op de SharePoint-site waartoe u toegang hebt. Report Builder 3.0 gebruikt deze methode om de lijsten op te halen. Deze methode wordt ook gebruikt door een Report Server die in de modus Native is geconfigureerd. De toegangsmethode via de API's voor het SharePoint-objectmodel kan bij twee scenario's
juli 2010
59
SharePoint configureert in SharePoint Central Administration, wordt de URL-structuur gehandhaafd in de invoegtoepassing Reporting Service. Zowel http://sql-01 als http://www.contoso.com genereren hetzelfde rapport.
Figuur 3 De ondersteunde versies van SQL en SharePoint.
Rapporteren zonder Reporting Services Tot dusverre heeft alle informatie in dit artikel betrekking op de zogenaamde modus verbonden. In eerdere versies van Reporting Services was dit de enige beschikbare modus. Hierbij moest SharePoint zijn verbonden met een Report Server die in de modus Integrated was geconfigureerd om rapporten te genereren met de Reporting Services Report Viewer. worden gebruikt. Bij het eerste scenario is een Report Server geconfigureerd in de modus SharePoint Integration en staat de lijst op de SharePoint-farm waarmee Reporting Services is geïntegreerd, en is alles op dezelfde computer geïnstalleerd. Zoals gezegd, wordt in dit scenario een kopie van SharePoint uitgevoerd op de Report Server die toegang tot de API-set geeft. Bij het andere scenario hebt u SharePoint 2010 en de invoegtoepassing geïnstalleerd, maar geen Report Server. Dit wordt lokale modus genoemd (zie "Rapporteren zonder Reporting Services" verderop in dit artikel). Als u gegevens uit een SharePoint-lijst in een rapport wilt gebruiken, moet u een gegevensbron maken en vervolgens een gegevensset die gebruikmaakt van die gegevensbron. In Report Builder 3.0 vindt u een nieuw verbindingstype op de eigenschappenpagina voor de gegevensbron: Microsoft SharePoint List (datasource properties). Bij deze optie geeft u de URL van uw SharePoint-site op, waarbij u lists.asmx niet aan de URL hoeft toe te voegen. U kunt de gegevensbron ook met diverse referenties configureren om de toegang tot de SharePointserver in te stellen. Als u een nieuwe gegevensset maakt op basis van deze gegevensbron, krijgt u een lijst van alle SharePoint-lijsten op de site waartoe u toegang hebt. U kunt afzonderlijke lijstitems weergeven, filters maken, parameters maken en rapporten maken, net als met een SQL-databasetabel. Ondersteuning van Alternate Access Mapping Een andere integratieverbetering is de ondersteuning van Alternate Access Mapping (AAM). AAM maakt al deel uit van SharePoint sinds de 2007-versie, maar werd niet ondersteund door Reporting Services. Als u nu een AAM
60
juli 2010
Met de komst van SQL Server 2008 R2 kunt u rapporten weergeven zonder uw SharePointsite of -farm te integreren met een Reporting Services Report Server. U kunt nu de Report Viewer gebruiken om rechtstreeks vanuit SharePoint rapporten weer te geven als de gegevensextensie rapportage in lokale modus ondersteunt. Standaard wordt dit alleen ondersteund door de gegevensextensies van SharePoint List en Microsoft Access 2010. In lokale modus kunt u ook rapporten met een embedded gegevensbron of een gedeelde gegevensbron uit een rsds-bestand weergeven. De lokale modus ondersteunt echter geen beheer van het rapport of de bijbehorende gegevensbron. Ondersteunde combinaties van de SharePointinvoegtoepassing en Report Server Met de komst van SQL Server 2008 R2 en SharePoint Server 2010 kunt u nu kiezen uit drie versies van SQL, drie versies van de invoegtoepassing en twee versies van SharePoint. De integratiecomponenten werken met elk release, maar u moet de juiste versies gebruiken. In de tabel in Figuur 3 vindt u de ondersteunde productcombinaties. ■ A lan Le Marquand is IT-Pro content architect voor Microsoft in Groot-Brittannië. U kunt meer van Le Marquand lezen in zijn blog Alan’s World of IT.
Verwante artikelen • Reporting Services with SharePoint Integration • SharePoint Security: The Fundamentals of Securing SharePoint Deployments • Protect SharePoint Data
TechNet Magazine