AspAlliance.com LogoASPAlliance: Articles, reviews, and samples for .NET Developers
URL:
http://aspalliance.com/articleViewer.aspx?aId=619&pId=-1
Book Review: Microsoft Reporting Services in Action
page
by Colt Kwong
Feedback
Average Rating: This article has not yet been rated.
Views (Total / Last 10 Days): 16949/ 26

Book Review: Microsoft Reporting Services in Action - Page 1 of 2

 Microsoft Reporting Services in Action

Authors   : Teo Lachev

ISBN       : 1932394222

Publisher  : Manning Publishing

Pages      : 656

Published  : July 2004


Unlike other general topics such as ASP.NET, there are less than 10 books about Reporting Services in the market so far, and this book is one of the first five books available in the market that paved the way for others in this subject (When you go through this book, Teo will inform you when there is a beta bug, and tell you the workaround, if any)

Chapter 1: Introduction to Microsoft Reporting Services

The author introduces Reporting Services (RS) like the convention and definition, and some brief information of report definition language, security and scalability. Moreover, the author mentions the architecture of RS and different components of RS as well. A quick and short hand on lab is provided to get readers started at the end of this chapter.

Chapter 2: Report Authoring Basics

The author shows how to create RS in Visual Studio (VS) .NET with preview tab, preview window and report server, then he shows how to migrate from MS Access and create a report programmatically. Next, he demonstrates how to use ad hoc report builder and third party tool. The content of authoring report with third party tool is much better than the part in VS.NET though.
 
Chapter 3: Working with Data (Best Pick Chapter)

The author defines and shows how to create a report-specific and shared data source for RS. Then, he explains various types of security and authentication options one by one. With the author’s experience and recommendation, this section is better than just introducing the name and description of each option, especially the author explains why and when you should use each option with the best practice. For example, the author describes how to pass a parameter value back to the application layer and then dynamically generate the SQL query, this is extremely useful for real world application development. The author then explains the Service Oriented architecture and nature of RS (parameter driven) repeatedly, with the use of many figures and diagrams , it made this chapter easy to read (A diagram is better than 1000 words). As a side note, the author mentions the advantages of using stored procedure in RS and SQL injection.

Chapter 4: Designing Reports

This chapter not only shows how to use the report designer and create report layout, but it also shows how to leverage RS to create (sub) reports with business intelligence and wisdom. The author also describes the report elements, sections (bands) and grouping so as to present data on a report. The author nearly describe all of the commonly use report layout in this section. Later, the author introduces some techniques in presenting data as in Excel or Pivot tables. With the importance of Excel and Pivot table, the author uses a step-by-step approach in showing how to construct a complex report at the end.

Chapter 5: Using expressions and functions

In this chapter, the author introduces expressions by showing the expression editor, its syntax, execution order and scope. The author also describes the limitation of current version (and bugs) of RS and resolutions by using expression (this is somehow similar to a Helper Function as in data web control in ASP.NET development, nice trick). Then, the author introduces the use of functions from both external and internal assemblies, such as aggregate calculation, sum, count, total, formatting, page number..etc. This section can be skipped in my opinion as the name of each function explains itself, or the author can describe the new syntax and functions in details. Finally, the author describes various available options for exporting report and uses an example to demonstrate how to create a localized report (localized report is useful as the board or regional directors are required to generate report in their own languages across regions in a real world scenario).

Chapter 6: Using Custom Code

Integrating RS with custom reporting code base on your own needs. The author shows the ability to create RS with custom code by porting a java base open source project, and then prepares a report with some sample codes. The intention is obvious but this is a bit overkill for general readers. The author also demonstrates how to use RS in an embedded code (private assembly as used in various RS application partners) and shared assembly environments. With the increasing popularity of RSS and blogging, author describes XML based report and shows an example of exporting RS to an RSS feed which is a brilliant demo and highlight the RSS schema and flexibility of RS export features.

Chapter 7: Managing the Reporting Services Environment

After showing how to create a RS, data connection, present data in RS and the basic concept of RS, the author changes the topic to a more advanced level and talks about managing a RS. The author drills down into the RS manager web application and explains the functions and features one by one carefully. The author describes (long waiting) caching features in RS and explains the internals and how to select the best practices for your own use. The author finally describes how to deploy and manage RS via Web services and WMI provider. These two sections are pretty short, maybe due to the fact that administrators will most likely to manage RS through the RS Manager Web application directly.

Chapter 8: Securing Reporting Services

The author explains in details for all approaches in securing RS, including authentication and authorization in RS. After describing the fact (>10 pages), the author shows the best practices in securing RS (5 pages only?!). Generally speaking, security is much more important than designing the report layout or retrieving data from data store, so more information or best practices about securing RS are appreciated.

Book Review: Microsoft Reporting Services in Action - Page 2 of 2

Chapter 9: On-demand Report Delivery

The author explains and shows how to deliver a RS via URL, Web services, parameters, commands, etc. The author also uses a short example showing how to integrate RS in a WinForm app via URL, Web service and Web browser ActiveX control. The author then demonstrates how to invoke and render a RS with SOAP with detailed explanations and annotation on the code listings. Last but not least, the author compare and contrast the URL and Web service approach, and tells readers how to choose their best integration method. 

Chapter 10: Reporting for Windows Forms Applications

The very first sentence explains everything: “Reporting is an integral part of every complete Windows-based application.” I have to quote this sentence because I can’t find any better phrase to describe the importance of this chapter! The author uses a complete example and various techniques to create a report in a Windows Forms application. Moreover, he shows the best practices like implementing caching and multithread in calling the report as well (Thumbs up!).

Chapter 11: Reporting for Web-Based Applications

Various ways to report off data with the use of RS in the ASP.NET world. Web reporting is my favorite as it is handy and reaches broad audience of users. However, it is difficult to design and manage due to the stateless nature and variety of requesting browsers. The author shows us how easy it is to create a report for Web application with RS by demonstrating various ways to generate a report through Query String both in client and server sides. Moreover, the author shows the use of Report Viewer control and image handling, and covers security issues as well. This chapter is pretty short and fast in my opinion, but it’s still worth a look.

Chapter 12: Reporting for OLAP Applications

Develop reports for OLAP application in a few steps with RS. Like other readers, SQL Server, data warehousing, DTS and Pivot tables are indispensable in my daily job, so the ease and power of RS in this area are exceptionally important. In this chapter, the author first explains some background information and definition of OLAP models and cubes briefly, and then shows us how to create a multiple dimensions OLAP reports with RS. The author tries to use many screen shots and make complicate business intelligent processes look interesting, and then the author shows how to define and setup each dimension for the example case, create a report dataset and then present the data in a dynamic and custom way. This chapter can go into further details and I would expect this chapter to be the core of this book. I feel that the author tried to make this chapter short (for example, the author just use 2 paragraphs in explaining how to create dynamic and drilldown report only) and favors to beginners. However, the introductory part is insufficient and brief, so the weight of this chapter becomes unbalance.

Chapter 13: Enterprise Reporting

Design a reporting mechanism for enterprise by understanding the requirements and needs. The author first describes the high level view of RS and environment of an enterprise, and then he uses few pages in explaining the security and authorization issues, like configuration of application roles, groups and permission in executing reports.

Chapter 14: Subscribed Report Delivery

Understand and create report subscription services to users in RS. Subscribed report delivery is a cool and fancy feature in RS, the author first describes the basic concept of this service, like the publisher and subscriber in SQL Server, and then he explains and demonstrates each type of available subscription service in RS. Next, the author shows how to configure and manage the delivery options and let the report go into the subscribers’ data store. Delivery report by subscription is a useful and easy chapter, because I believe readers are able to manage the report destination via the build-in RS wizard easily, but the point is to teach them understand the concept behind the scene so that they can design the best approach by understanding the publishing and subscription relationship.

Chapter 15: Extended Reporting Services

Explore the features of RS and integrate RS in custom projects. Readers own the techniques and information of creating and delivering reports from previous chapters, then the author discuss some advanced techniques and concepts about RS, such as the design goal and trade of some features. This chapter is for those experienced developers that want to integrate RS into their own applications. Advanced features like implementing custom delivery extension and customer security extension are covered in this “bonus” chapter.

Chapter 16: Performance and Scalability

Evaluate and examines the performance and scalability of RS by understanding the internal structure and FAQs of using RS. This is the last chapter and contains 2 sections only (exclude the summary and resource sections), but the authors shows the internals of RS like latency, throughput and utilization rate in this chapter. Moreover, the author demonstrates how to set up a testing and evaluation environment Application Center Test (ACT) in Visual Studio .NET.

Conclusion

Microsoft RS provide a platform for customers to deliver report bundle with SQL Server 2000 license. The entry of RS to business intelligent reporting plus the standardization and cooperation with other reporting vendors like Cognos, the reporting market and direction are bright, and this book is definitely a good opening in the reporting services story. However, this book has a serious problem – cross reference. The author and editorial teams used a lot of cross reference, such as “we cover XX in chapter YY”, “We’ll see an example of this in XX”, “We’ll postpone discussing XX until…”. These kind of sentences appeared many times in few chapters, and this might confuse the readers, or in reality this is a fault of the design and structure of this book itself. At any rate, this book is very rich in content and definitely a good read for all reporting developers and administrators.



©Copyright 1998-2024 ASPAlliance.com  |  Page Processed at 2024-03-29 7:39:31 AM  AspAlliance Recent Articles RSS Feed
About ASPAlliance | Newsgroups | Advertise | Authors | Email Lists | Feedback | Link To Us | Privacy | Search