Understanding the Report Application Server

book list add book to my bookshelf create a bookmark purchase this book online

mastering crystal reports 9
Chapter 24 - Report Application Server
Mastering Crystal Reports 9
by Cate McCoy and Gord Maric
Sybex 2003

The first step in understanding the Report Application Server is to understand the architecture that it uses. There are four primary components used in a Report Application Server–based application: the RAS Server, the RAS Software Development Kit (SDK), the web server, and a web browser. These four primary components of the Report Application Server’s architecture are shown in Figure 24.1.

click to expand
Figure 24.1. Crystal Enterprise Report Application Server architecture

In addition, there is a collection of web-reporting viewers that are used when developing custom, web-based reporting applications. All of the RAS components are described in detail in the following sections.

RAS Server

The Report Application Server is a multi-threaded report-processing engine that provides the ability to build, customize, and view reports. It is a service that runs on the web server, and custom applications can access this service through the RAS Software Development Kit.

The Report Application Server makes use of the Crystal Reports Print Engine (CRPE) for handling reports, and it processes them in a first-in, first-out method (in Crystal terminology this is known as on-demand mode). As requests for reports are received, the report processing engine processes them immediately. If more requests come in than can be handled at one time, the engine creates a queue of reports and processes them in the order that they were received, once some processor time becomes available.

Another feature of the report-processing engine is server-side caching, which is the ability to speed up the processing of reports that are frequently requested. Imagine a scenario in which a particular report is viewed by many different departments within a company, all on the same day and within a relatively short period of time. If this report was requested about a hundred times within a one-hour period, and it had to be re-created and distributed by the server each time it was requested—well, you get the picture. The amount of network bandwidth and processor time used to create and distribute the report would be wasteful, not to mention the number of calls that the internal support team may have to field!

Server-side caching alleviates this problem by keeping a report open after it has been processed. It is kept open on the web server for a specific (and configurable) amount of time so that subsequent requests for it can be processed more rapidly.

Note 

You may recall from Chapter 23 that Crystal Enterprise implements a Cache Server service. We suspect that it is this same technology that is implemented in the Report Application Server for providing server-side caching of reports. This is one example of how the Report Application Server is based on a subset of Crystal Enterprise functionality. We’ll discuss the capabilities and limitations of the Report Application Server further in the section “Capabilities and Limitations of the Report Application Server.”

RAS Software Development Kit

The Report Application Server Software Development Kit (RAS SDK) is a set of Application Programming Interfaces (APIs) that can be used to access the functionality of the RAS Server. These APIs form a library of programmatic interfaces that can be used to create custom web-based applications that allow users to not only view reports but to create and modify them as well.

Note 

The Report Application Server comes with Component Object Model (COM)–based APIs and Java-based APIs. In this chapter, we will focus on the COM-based APIs. For more information about the Java-based APIs, see Appendix C, “Crystal Reports and Java.”

The RAS SDK is based on three conceptual areas:

Models The data contained in a report

Controllers Programmatic interfaces used to manipulate the data contained in a model

Views The graphical presentation of the data contained in a model

Using these three areas, the RAS SDK allows users to create and modify Report objects such as tables, charts, and fields. More details of the RAS SDK will be covered in the section “Programming the Report Application Server.”

Web Server

The web server is the central processing location of any custom application that makes use of the Report Application Server. It may take the form of a personal computer used by a developer within a small team or a central server used by a company at large. In any case, the web server acts as the primary processing source of custom applications that make use of the Report Application Server, and it plays a key role in that application as it serves as the interface between the user requesting a report and the RAS Server that processes the request for it.

Web Browser

Web browsers serve as the client-side graphical user interface to custom applications developed with the Report Application Server. Web browsers make requests of the web server using the Hypertext Transfer Protocol (HTTP), and in turn, the web server communicates with the RAS SDK to make requests of the Report Application Server.

The Report Application Server supports the following web browsers:

  • Microsoft Internet Explorer 6.0, 5.5

  • Netscape 6.2, 4.78

    Note 

    Other web browsers may also be able to use the reports served up from the Report Application Server, but you will need to experiment with the report viewers and those browsers to make sure. We suggest trying the Report Page Viewer (also known as the HTML Page Viewer) first since it is mostly likely to work with nonsupported browsers. The report viewers are covered in the next section.

Components for Custom Web-Based Reporting

In addition to the four primary components of the Report Application Server shown in Figure 24.1, there is another set of components provided with RAS that can be used in custom web-based reporting applications. These other components take the form of web-reporting viewers, and they are provided to allow users to view and interact with Crystal Reports using a web browser.

The four web-reporting viewers are listed in Table 24.1.

Table 24.1: RAS Web-Reporting Viewers

Viewer

Description

Report Page Viewer

A thin-client viewer that provides the most basic web-reporting functionality and is used to render reports on a page-by-page basis.

Interactive Viewer

A thin-client viewer that provides advanced web-reporting functionality including the ability to search the data saved in a report and export the results of the search into a Microsoft Word or Excel document.

Report Parts Viewer

A thin-client viewer that provides the ability to view individual report parts, or objects, in HTML.

ActiveX Viewer

A thick-client viewer that provides the ability to view reports through any browser that supports Microsoft ActiveX technology.

Excluding the ActiveX Viewer, all of these viewers belong to what is known as the Crystal Reports Web Reporting Type Library, which is essentially an object model that is used to instantiate and manipulate the different viewers in scripting code contained in an Active Server Page (ASP). The Web Reporting Type Library is implemented using Microsoft COM technology.

The objects contained in the Web Reporting Type Library expose properties that can be used to control various report viewer features such as displaying buttons, the group tree, a page, or a toolbar. They also support event handling, exporting, printing, displaying multiple viewers in the same page, and both automatic and developer-specified prompting for database or parameter information. More details of the Web Reporting Type Library will be provided in the section “Programming the Report Application Server.”

In addition to the report viewers that are part of the Web Reporting Type Library, the Report Application Server also ships with a Java report viewer that can be used in Java Server Pages (JSP).

Use of content on this site is expressly subject to the restrictions set forth in the Membership Agreement
 
Conello © 2000-2003     Feedback


Mastering Crystal Reports 9
Mastering Crystal Reports 9
ISBN: 0782141730
EAN: 2147483647
Year: 2005
Pages: 217

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net