Professional Documents
Culture Documents
RashidKhan ReportsResearchProject
RashidKhan ReportsResearchProject
RashidKhan ReportsResearchProject
XXXXXXXXX, INC.
RESEARCH & DEVELOPMENT
Document Revisions
iPARC_ReportsResearchProject.doc 1
Table of Contents
iPARC_ReportsResearchProject.doc 2
1 Executive Summary
I have evaluated Microsoft SQL Server ™ 2005 Reporting Services (SSRS) and Data Dynamic’s
Active Reports as a potential replacement of existing Web and Crystal versions of reports in
iPARC. Although, Active Reports has some nice features and is gaining popularity, SSRS appears
to be more suited to our needs and comes with a greater degree of sophistication as compared to
the Active Reports. SSRS comes free with the SQL Server database and in the case of iPARC we
already use SQL Server database and consequently migrating to the SSRS should not incur extra
cost to the company, albeit proper edition of the SQL Server database needs to be licensed in order
to harness the full capabilities of the SSRS. SSRS has the potential to increase the performance of
some of the reports used in iPARC and a performance gain of up to 92 % was achieved by me in
the prototyping phase. It should be kept in mind that the performance gain was achieved without
ever re-designing our database architecture and as a result the SSRS has the potential to help us
overcome the limitations of our current database architecture. Furthermore, other features of the
SSRS viz. advanced presentation capabilities, dynamic column sorting, ability to create
subscriptions, and advanced delivery mechanism which includes the ability to simply email the
URL of a report to a user and enabling him/her to view/print/save that report without ever logging
into the iPARC application makes it a strong contender to become the new reporting solution for
iPARC. Also, because of the fact that SSRS comes with many in-built features, it scores high as
compared to the Active Reports for which in order to achieve the same level of functionalities a lot
of custom codes need to be written thereby adding more time to develop and test the new reporting
solution for iPARC.
In the light of the assessment as outlined in this document I would highly recommend migrating to
the Microsoft SQL Server ™ 2005 Reporting Services to ensure the continued viability of iPARC
and to enhance its competitiveness in comparison to other similar products out there in the market.
iPARC_ReportsResearchProject.doc 3
2 Purpose
The goal of this paper is to detail the explorative study of finding an alternative to Business
Objects’ Crystal Reports and the comparative analysis of other reporting technologies available in
the market that could potentially become a replacement of Crystal Reports used in ASE’s state of
the art Parking and Revenue application software, iPARC. The reporting technologies that have
been evaluated are Microsoft SQL Server ™ 2005 Reporting Services, Data Dynamic’s Active
Reports, and Information Builders WebFOCUS. Points of comparison include cost and flexibility
of licensing, richness of features, report lifecycle and management and ease of deployment.
MS SQL Server™ 2005 Reporting Services (SSRS) is an enterprise class reporting solution
provided by Microsoft that is robust, flexible and scalable at the same time. This sophisticated
reporting solution could be used to transform valuable enterprise data into shared information for
insightful, timely decisions at a lower cost of ownership.1
SSRS comes standard with MS SQL Server 2005 and its architectural design that is based
on XML web services, enhances its flexibility and makes customization of reports and the
management of reports easier. The ability to connect to disparate data sources, create additional
output formats, and deliver to variety of devices makes SSRS an attractive alternative to the
existing reporting technology that might be in use in an organization.
iPARC_ReportsResearchProject.doc 4
Fig 1: SQL Server 2005 Reporting Services Architectural Overview (courtesy Microsoft©)
iPARC_ReportsResearchProject.doc 5
Fig 2: SQL Server 2005 Reporting Services Detailed Architecture (courtesy Microsoft©)
SSRS can be broken down into three logical tiers, viz. Report Server, Report Server Catalog and
Client Applications. The following table outlines the functionalities of each of the tiers.
Component Function
iPARC_ReportsResearchProject.doc 6
Component Function
The Report Server also includes a Windows service that is responsible for
scheduled and batch operations.
Report Server Catalog The following two SQL Server databases form the catalog:
The catalog can reside on the same physical system as the Report Server or on
a separate system (remote catalog).
Client Applications Client applications access the server through SOAP Web services and URL
requests. The Report Management tool and Report Viewer application are client
applications that are included with Reporting Services. Microsoft® Visual
Studio® 2005 provides Report Viewer controls for embedding reports in client
systems. Report Builder is a report authoring tool used for ad hoc reports. Many
third-party software vendors also provide their own client applications.
SSRS comes with a set of rich features that makes designing, managing and viewing of reports a
breeze. Some of the salient features of SSRS are as follows:
3.2.1 Presentation
Reports developed for and deployed on the reporting server can be accessed by specifying the
URL for that report or can be embedded in a web application or a windows application where the
report is rendered using the ReportViewer control. The control displays a default navigation bar
(see the following screenshot) that allows users to navigate, zoom in and out, search for a string,
export the report to a file, refresh the report, and print the report.
iPARC_ReportsResearchProject.doc 7
• HTML
• MHTML
• PDF
• XML (with the report data)
• CSV
• TIFF
• EXCEL
SSRS also provides the functionality of allowing dynamic column sorting whereby the result set
can easily be sorted by simply clicking the column header of one of the displayed columns.
Extensive set of charts and graphs are also available in SSRS to create dashboard-type reports that
could provide a meter reading on the business. SSRS also allows the creation of drill down reports
which present a great deal of information in a concise way at the same time allowing users to
expand nodes in order to get more detailed information (see the following screenshot).
iPARC_ReportsResearchProject.doc 8
The rich presentation features of the SSRS make it a strong contender to become a replacement for
not only iParc’s crystal reports but the web version, as well, thereby reducing redundancy and
maintenance overhead associated with keeping two separate versions of the same report in iParc.
3.2.2 Performance
SSRS employs two techniques to enhance the performance of a report. First, the returned result set
of a report can be stored in the session cache and subsequent requests for the same report can be
served using the cached copy of the report. However, the contents of the cache are volatile and
they are reinstated once the server is rebooted. So, caching, although increases the performance, is
not very predictable.
The other technique that can be used in SSRS to improve the performance is by creating snapshot,
which is more persistent in nature and comes with additional benefits. For some of the reports
which are historical in nature snapshots can be created and stored during off peak hours and
instead of actually going to the actual data source to retrieve the result set for the given report,
requests for the report can be served using the snapshot instead. In the context of iParc, snapshots
have the potential to increase the performance of some reports dramatically and help overcome the
performance bottlenecks imposed due to the current database design. In the prototyping phase, Fee
Computer Activities report of iPARC took about 33 seconds to return approximately 30,000
records without the use of snapshots. However, by using snapshot the same report took about 2.5
seconds leading to a performance gain of about 92% (see the following table).
Number of records Time to run the report without Time to run the report using % Gain in
returned using snapshot snapshot performance
Table 2: Performance gain by utilizing snapshots in MS SQL Server™ 2005 Reporting Services
Subscription of a report is a pending request to have a specified report run at a specified time and
format and to have it delivered in a specified way. SSRS allows subscribed reports to be either
emailed in a format chosen by the user or delivered to a file share. Unlike the current limitation
imposed in iParc of not being able to create more than one scheduled job for a given report, in
SSRS multiple subscription of a report based on different filter criteria can be created.
3.2.4 Security
SQL Server 2005 reporting services uses role-based authorization and Windows authentication to
secure the reports that reside on the server. Roles can be of two types – item-level and system-level
roles. Item-level roles are used for securing the reports themselves and the system-level roles are
used to allow/disallow users to do system operations on the reporting server.
iPARC_ReportsResearchProject.doc 9
3.3 Licensing Details and Product Support
Licensing cost for the SSRS depends on the way it is deployed. If the report server and the report
database are deployed on the same server, which would be the typical scenario in case of iPARC,
only one valid license for the SQL Server 2005 is required and no additional cost is involved in
order to use the reporting server.
Microsoft has an extensive support network for its products that includes email support, phone
support, and MSDN tech forums where developers can browse around to find answer to any
technical question related to the SSRS. Furthermore, due to the fact that it has a wide market base
and is a Microsoft product, a plethora of resources are also available on the Internet such as blogs
created by developers.
Report Server
Feature Express Workgroup Standar Enterpris Comments
d e
Caching
Snapshot
History
Delivery
Scheduling
Custom
iPARC_ReportsResearchProject.doc 10
Report Server
Feature Express Workgroup Standar Enterpris Comments
d e
Authentication
SharePoint
Integration
Scale-out
Report Servers
Subscription
Data Driven
Subscription
Report Builder
Model Level
Security
Infinite
Clickthrough
Table 3: SQL Server 2005 Reporting Services Feature Matrix (courtesy Microsoft ©)
The lifecycle for reports meant for an enterprise solution include three distinct stages viz. report
authoring, management of reports and delivery of reports. Installing the SSRS also installs a report
designer as a set of templates in the Microsoft Visual Studio 2005 development environment.
Besides the Visual Studio IDE, reports for the SSRS can be designed and deployed using another
tool called Report Builder which is a “Click Once” application that can be deployed via the
browser. Report builder is meant for end users to create ad-hoc reports. Reports in the Report
builder can be designed based on a pre-defined data model that acts as a layer of abstraction over
the actual underlying database structure which could be intimidating to the end user in terms of
complexity.
Reports deployed on the reporting server can be managed by using either MS SQL Server
Management Studio or any custom web based or windows based management application utilizing
the Reporting Services API. Once a report has been authored and deployed on the reporting server,
iPARC_ReportsResearchProject.doc 11
it can either be delivered on demand to the user or through a subscription (see the following
figure).
3.5 Deployment
Reports developed for the SSRS can easily be deployed to the Reporting server from within the
Visual Studio 2005 IDE in which they have been developed or they can be deployed using the
batch files. Deployment phase consists of publishing the RDL (report definition language) files to
the report server which can be achieved by deploying a report project solution from Report
Designer, saving it from Report Builder, or uploading it through Report Manager or SQL Server
Management Studio. Once the reports have been deployed on the reporting server, they can be
easily accessed from within the web application by making the Reporting server web service API
calls.
iPARC_ReportsResearchProject.doc 12
4 Data Dynamics ActiveReports
4.2.1 Presentation
Active Reports for .NET includes an ActiveX control for viewing and printing reports from within
a browser. However, from the navigational bar of the control, option to export the report to
different formats is noticeably absent.
• PDF
• HTML
• EXCEL
• RTF
• TEXT
• TIFF Images
Unlike the SSRS, Active Reports does not support dynamic column sorting and the user would not
be able to click the displayed columns to sort once the report has been rendered in a browser.
4.2.2 Performance
Active Reports does not provide a sophisticated mechanism to increase the performance of a
report. The only mechanism to increase the performance of reports is caching which is quite
rudimentary at its best. Reports generated using Active Reports can be cached either to the disk or
a cached copy can be stored in memory. When the same report is requested subsequently, the
request can be served using the cached copy instead of re-generating the report again. In order to
iPARC_ReportsResearchProject.doc 13
have an efficient caching mechanism using Active Reports, every aspect of caching has to be
considered and a lot of custom code needs to be written whereas the SSRS takes care of caching as
an inbuilt feature.
Unlike the SSRS, Active Reports does not come with an inbuilt feature to set up subscriptions of
reports. The only way to incorporate such functionality in an application using Active Reports
would be to write custom code (as told by a tech representative, Eric, from Data Dynamics - June
8, 2007).
4.2.4 Security
Unlike the SSRS, Active Reports does not come with a built in security mechanism. It does not
provide role-based authorization and the only way to put a security mechanism in place would be
either to control access to reports from within the application or have network administrator
configure folder access via account permission (as told by a tech representative, Eric, from Data
Dynamics - June 8, 2007).
Data Dynamics’ Active Reports comes with two types of licensing scheme: Per Developer / per
machine license and Site License. Per developer license entitles one developer to develop reports
using the Active Reports software whereas a site license entitles a group of developers to use it and
the number of developers using it must exceed seven in order to use Site Licensing scheme.
Please see the following table for price comparison of different editions of Active Reports:
Product Price
iPARC_ReportsResearchProject.doc 14
Table 4: Price List for Active Reports
Data Dynamics provides both email as well as phone support for its products. A technical forum is
also maintained on its web site where developers can ask questions and reply to questions asked by
others. The company might also help provide code snippets to its licensed users as told by the
representative from the company.
There is no centralized management mechanism available for managing the reports developed
using Active Reports. Reports can be authored using the control that is embedded in the Visual
Studio IDE.
4.5 Deployment
Reports developed using Active reports control can be deployed on a web server by either by
creating an installer application that incorporates the Active Reports application and then the
installer application can be installed on the web server, or XCOPY deployment can be used where
all the referenced assemblies are copied onto the web server. Besides these two methods of
deployment, assemblies referenced in an application can be placed in the global assembly cache
(GAC) as well.
Information Builders’ web based reporting system WebFOCUS is another reporting solution that
might need to be evaluated further as it seems to be a good alternative to the reporting solution that
iPARC currently employs. WebFOCUS is an enterprise reporting solution that is web based and
offers numerous advanced features. It offers self-service reporting by making available different
parameter-driven reporting templates through which data could be easily accessed in its current
location and format, and then securely published on the Web3. The reports can be exported to
PDF, HTML, and EXCEL formats and there is a feature to compound different reports with the
same or varied layouts and formats into one file that can be emailed, viewed or printed. Another
useful feature offered by the WebFOCUS is “On-Demand Paging” that divides a long report into
multiple HTML pages that can be selectively downloaded or printed thereby giving users more
flexibility in terms of what they want to see first. WebFOCUS delivers reports by both “push”
iPARC_ReportsResearchProject.doc 15
technology whereby a report is delivered to the user on a scheduled time and in a chosen format as
well as by “pull” technology whereby the user is able to retrieve a report when required. It also has
extensive support for mobile devices. The software comes in two major flavors, one is the core
product that is the bare minimum of the reporting software and the second one is the professional
edition that has advanced business intelligence capabilities such as “Bursting of reports” which
enables an administrator to run a single report and burst the results into multiple sections, with
each section sent on to a different web server or e-mail address. For example, in case of a
personnel report that keeps track of sick and personal days for each employee, the pages of the
report can be automatically collated and distributed to individual employees electronically. Please
see the following table for an overview of the product’s price:
Table 5: Overview of pricing for the WebFOCUS software (courtesy Ms. Donna Cascardo, Information Builders, Inc. - June 26, 2007)
Also note that there would be a maintenance charge of about 20% annually and the training session
provided by Information Builders for the product would cost about $ 10,000.
Export HTML, MHTML, PDF, PDF, HTML, EXCEL, SSRS offers the ability
Format XML (with the report data), RTF, TEXT, TIFF to export a report to
CSV, TIFF, EXCEL Images CSV format which is a
more portable format
and can be easily
utilized by custom
applications if there is
a need for it.
iPARC_ReportsResearchProject.doc 16
Dynamic Is an in built feature in the Is not available in Active So, SSRS is more
Column SSRS Reports. advanced.
Sorting
Delivery Can be delivered via email, Same functionalities can SSRS has elaborate
Mechanism or the reports deployed on be achieved but require a delivery mechanism
the reporting server can be lot of custom codes to be that is inbuilt and does
accessed through an URL. written. not require a lot of
custom coding to
achieve those
functionalities as
compared to the
Active Reports.
Security Comes with built-in security Lacks any in-built SSRS seems to be a
mechanism which includes security mechanism and better option due to the
role-based authorization and to create a sophisticated fact that it has in-built
windows authentication. security mechanism security mechanism.
Roles can be item-level roles custom codes need to be
as well as system-level roles. written.
Licensing Comes free with the SQL Although, cheaper as SSRS is a better option
Server license. However, compared to other because we already
proper edition of the SQL reporting software out use SQL Server as our
Server needs to be licensed in there in the market, backend database.
order to harness the full license must be
capabilities of the SSRS. purchased.
Product Extensive product support is Tech support available SSRS has a wider
Support available that includes, from the company but network of support and
MSDN tech forums, phone not as many resources more resources are
support, and plenty of available online as is the available for the
resources online. case with the SSRS. SSRS.
Report Reports can be authored Active Reports control More options are
Authoring using either the Visual Studio can be embedded in the available in the SSRS
IDE or SQL Server Business Visual Studio IDE and for reports authoring.
iPARC_ReportsResearchProject.doc 17
Intelligence Development then reports can be
Studio that comes with the designed in it.
SQL Server 2005
installation.
Ad Hoc SSRS comes with an in built Active Reports does SSRS’ ad hoc reports
Reporting ad hoc reporting tool called provide a control that authoring tool seems
the Reports Builder that can could be used to create to come with more in
be used by end users to ad hoc reports, but a lot built advanced
design ad hoc reports based of custom code needs to features as compared
on a data model which is a be written in order to to the one that comes
group of tables and provide end users a fully with Active Reports.
relationships that has been functional ad hoc reports
identified in advance to be designer.
suitable for ad hoc reporting.
iPARC_ReportsResearchProject.doc 18
7 Glossary
Cache: Report caching is a technique to keep a copy of processed report stored in the reporting
server after the report is run for the first time and subsequent requests for the report are served
using the cached copy instead of pulling data out of the data source specified for the report
originally leading to a faster response time.
Click Once Applications: “Click Once” is a deployment model used by thin clients developed
using .NET framework which allows the update of the software by downloading and executing
application from centrally managed servers without requiring administrative privileges.
Data Model: Is an abstract model that describes how data is represented and used and it hides the
complexity of the underlying database structure.
Dashboard Reports: Display key business indicators visually which convey the health of a
business enterprise at a glance.
Dynamic Column Sorting: Is the feature by which a report can be sorted by clicking on the
column header of one of the displayed columns.
Snapshot: Report snapshot is a report that contains layout information and query results that were
retrieved at a specific point in time. Report snapshot is different from a cached copy of a report in
terms of persistence as snapshots are stored permanently either in a database or in a file.
Pull Technology: Specifically requesting information from a particular source, for example
downloading reports from the reporting server.
Push Technology: Data distribution technology in which selected data is automatically delivered
to the user at prescribed intervals or based on the occurrence of some event.
iPARC_ReportsResearchProject.doc 19
Work Cited
iPARC_ReportsResearchProject.doc 20