Boekrecensie: Pro SQL Server Reporting Services
 |
| ISBN: |
1590594231 |
| Auteur(s): |
Rodney Landrum, Walter J. Voytek II |
| Adviesprijs:
|
€ 37.60
|
| Pagina's: |
320 |
| Uitgever: |
Apress |
| Datum: |
9/1/2004 |
Het boek is ter recensie beschikbaar gesteld door Roodveldt Import B.V.
Onlangs heb ik voor de eerste keer een boek gelezen van uitgeverij ‘Apress’. Ik was in het verleden nogal ‘verslaafd’ aan de boeken van Wrox, maar sinds die uitgeverij failliet gegaan is (en weliswaar opnieuw gestart maar met een veel kleiner assortiment) ben ik overgestapt op Microsoft Press en op de boeken van O’Reilly (die met al die dieren op de cover). Ik heb uiteraard nog te weinig boeken van Apress gelezen om een algehele indruk te krijgen, maar het boek wat ik ontving over SQL Server Reporting Services bevatte duidelijk minder sample code dan ik in andere boeken gewend ben. De totale dikte is er dan ook naar.
Maar tot zover een subjectieve waarneming, nu de feiten op een rij. Het is nog steeds moeilijk om boeken over Reporting Services 2005 te vinden. Ik had de stille hoop dat dit boek daar wel over ging, maar ook hier weer uitsluitend aandacht voor de 2000 versie van Reporting Services. Niet dat er nou zo’n wereld van verschil tussen 2000 en 2005 zit (voor wat betreft Reporting Services althans), maar de Report Builder is toch wel een zeer interessante uitbreiding. Ik was erg benieuwd wat een boek nog toe kan voegen op dat onderdeel aan de kennis die ik tot dusver in de praktijk heb opgedaan met de Report Builder.
Het boek is geschreven door Rodney Landrum en Walter J. Voytek II. Rodney is een MSCE’er bij een softwarehuis in Floria en gespecialiseerd in het schrijven van applicaties voor de zorgwereld. Je kunt hem als schrijver ook regelmatig vinden in SQL Server magazine, MCP magazine en nog enkele andere bladen. Walter is eigenaar van Healthware Corp, een bedrijf dat net als de onderneming van Rodney ook gespecialiseerd is in IT-oplossingen voor de zorg. Jim is frequent spreker op verschillende conferenties in Amerika.
Het boek hanteert een vrij logische volgorde waarin de verschillende facetten van SQL Server Reporting Servies worden toegelicht. Er wordt eerst een overview gegeven van de architectuur van SRS. Belangrijk is dat het begrip ontstaat dat SRS meer is dan een standaard Report Designer. SRS is een server platform dat via webservices ontsloten is, gericht op reporting met de meest uiteenlopende features.
In het tweede hoofdstuk wordt ingegaan op het schrijven van (efficiente) queries. Het zal niemand verbazen dat, gezien de herkomst van beide schrijvers, de voorbeelden gebaseerd zijn op zorg verlenende scenario’s. Wie bekend is met SQL Server zal dit hoofdstuk over kunnen slaan; het heeft feitelijk weinig te maken met SRS. De tools die toegelicht worden zijn uiteraard de SQL Server 2000 applicaties zoals de Enterprise Manager en Query Analyser.
Een handige tip uit dit hoofdstuk was het gebruik van een Report Template
Het derde hoofdstuk is geheel gewijd aan de werking van de Report Designer. Zonder afbreuk te willen doen aan de features van de Report Designer is deze vergelijkbaar met andere bekende tools zoals Chrystal Report, Dundas Reporting, etc. Een handige tip uit dit hoofdstuk was het gebruik van een Report Template. SRS voorziet daar zelf niet in, maar met een eenvoudige trucje kun je toch een Report Template file plaatsen in het Visual Studio ‘Add new item’ scherm. Wil je weten hoe? Lees ISBN 1-59059-423-1, uitgeverij Apress ;-).
De andere tip had te maken met het printen van labels door een report te voorzien van kolommen. Jammer vind ik wel dat er in dit hoofdstuk veel ruimte gespendeerd wordt aan het afdrukken van de inhoud van de Report Definition Language (RDL) bestanden. Hoe interessant zijn die nou eigenlijk echt…? Je kijkt toch ook niet steeds onder de motorkap van je auto?
Het vierde hoofdstuk gaat over de Report Builder. Je hebt hierbij de kennis nodig van de werking van de Report Designer, maar in dit hoofdstuk wordt die kennis aangevuld met de datasource die nodig is als gegevensbron en de manier waarop er omgegaan wordt met filters, parameters en zelfs het gebruik van een stored procedure als datasource. (Je kunt in SRS zelf T-SQL queries schrijven, maar het is ook mogelijk om bestaande stored procedures te gebruiken).
Het vijfde hoofdstuk trok mijn aandacht, ‘Using custom .NET code in Reports’. Andere boeken die ik gelezen heb gaan op dit onderwerp amper of niet in. Dit boek is een positieve uitzondering op die regel: er is een aanzienlijk hoofdstuk aan gewijd. In grote lijnen is het invoegen van .NET code mogelijk door te refereren naar een externe assembly of het direct schrijven van (VB).NET code in het report zelf. Die laatste mogelijkheid wordt afgeraden: je zit min of meer in Notepad te programmeren. Het werkt, of het werkt niet. Het aanroepen van externe assemblies geeft wat security gerelateerde problemen, maar in dit hoofdstuk wordt uitvoerig aandacht besteed aan het werken met externe assemblies.
Hoofdstuk zes gaat over het programmatisch renderen van reports, zowel vanuit Win als Web. Belangrijk is je te realiseren dat SRS een server platform is, niet alleen een Report Designer. In dit hoofdstuk worden de rendering methods beschreven van de SRS webservices. Er zijn twee uitgewerkte voorbeelden te vinden (nl. voor beide omgevingen).
In hoofdstuk zeven wordt aandacht besteed aan deployment van aangemaakte reports. Een report file wordt opgeslagen als .RDL (Report Definition Language) bestand met een XML inhoud. Doordat de gehele definitie van een report in één enkel bestand zit, is deployment ervan uitermate simpel. Uiteraard kan dat programmatisch, maar ook via een ‘Upload’ functie op de Report Manager website.
De in hoofdstuk 7 genoemde Report Manager website wordt in hoofdstuk 8 verder beschreven. Deze website is in ieder geval bedoeld voor de applicatiebeheerders van SRS, maar kan ook door users gebruikt worden om subscriptions te maken op reports zodat reports automatisch op schedule basis bezorgd worden. Ook is het via deze website vrij eenvoudig om rechten in te stellen op rapportages. Het subscriben van gebruikers op rapportages is uiteraard ook programmatisch mogelijk via webservices; ook hiervan wordt door de schrijvers voorbeeldcode vermeld.
De beveiliging van rapportages is een niet te onderschatten onderwerp
De beveiliging van rapportages is een niet te onderschatten onderwerp. Hoofdstuk 9 gaat in op beveiliging, via de Active Directory van Windows. Ook wordt het gebruik van een SSL (Secure Socket Layer) certificaat toegelicht, zodat je een beveiligde, encrypte verbinding opbouwt met de Report Manager.
Integratie en samenwerking was bij de introductie van Visual Studio 2005 een key item van Microsoft. Hoofdstuk 10 sluit aan op dat onderwerp. Er wordt getoond hoe SRS integreert met Microsoft CRM en op Sharepoint Portal Server. SRS kan als webpart in Sharepoint geplaatst worden op een website, zodat rapportages vanuit Portal Server op te vragen zijn. Ook wordt de link gelegd met SQL Analysis Server: er kunnen vanuit OLAP cubes rapportages worden samengesteld in SRS. Met SQL Analysis Server heb ik zelf nog nooit iets gedaan, dus misschien is nu het moment daar om eens te kijken naar de werking ervan en de toepasbaarheid richting SRS…
In het laatste hoofdstuk 11 geven de schrijvers hun verwachting en visie op SRS in de toekomst. Uiteraard wordt daar de inmiddels in SRS 2005 gerealiseerde Report Builder genoemd, zodat Power Users eigen rapportages kunnen samenstellen zonder dat ze vergaande kennis van het achterliggende datamodel hoeven te hebben. Ook wordt melding gemaakt van het renderen van reports zonder dat de server beschikbaar is (lokale rendering). Hiervoor worden .LRDL files gebruikt (Local Report Definition Language) en is het dus mogelijk om in een offline situatie toch rapportages te kunnen genereren.
Samengevat:
Hoewel het boek over SQL Server Reporting Services voor SQL Server 2000 gaat en een belangrijke vernieuwing als de Report Builder dus niet beschreven staat, is er verder aan SRS weinig ingrijpends veranderd. In dat opzicht is dit boek snel uit te lezen. De hoofdstukken zijn redelijk compact en de schrijfstijl is zodanig dat in korte stappen onderwerpen uitgelegd worden. Voor wie nog weinig tot geen kennis van SRS heeft, is dit boek een goede opstap als inleiding. De gevorderde SRS-gebruiker zal dit boek hooguit gebruiken om eigen kennis nogmaals te toetsen, en kan derhalve beter uitkijken naar een boek wat meer op details ingaat. Momenteel heb ik echter nog geen boeken kunnen vinden die ik voor die groep ontwikkelaars kan aanraden, en de MSDN website lijkt op dit moment het meest voor de hand liggende alternatief.