Crystal Reports Server Architecture


Crystal Reports Server is a multitier system. Although the components are responsible for different tasks, they can be logically grouped based on the type of work they perform.

Crystal Reports Server has five tiers: the client tier, the application tier, the intelligence tier, the processing tier, and the data tier. Figure 22.1 illustrates how each of the components fits within the multitier system.

Figure 22.1. The relationships between the BusinessObjects Enterprise tiers.


The servers run as services on Windows machines. On UNIX, the servers run as daemons. These services can run in multiple instances on a single machine.

Client Tier

The client tier is the part of the BusinessObjects Enterprise system that administrators and end users interact with directly. This tier is made up of the applications that enable people to administer, publish, and view web content such as Crystal Reports.

The client tier includes the Central Configuration Manager (CCM), Central Management Console (CMC), Publishing Wizard, Import Wizard, and InfoView.

Application Tier

The application tier hosts the server-side components that process requests from the client tier as well as the components that communicate these requests to the appropriate server in the intelligence tier. The application tier includes support for report viewing and logic to understand and direct web requests to the appropriate Crystal Report server in the intelligence tier.

The application tier includes application tier components, web development platforms, and web application environments.

For both the Java and .NET platforms, the application tier includes the Application Server, Crystal Reports Server SDK, and Web Component Adapter (WCA). In Crystal Reports Server XI, the web server communicates directly with the Application Server.

Crystal Reports Server systems that use the Java SDK or the .NET SDK run on a third-party application server.

The Application Server acts as the gateway between the web server and the rest of the components in Crystal Reports Server. The Application Server is responsible for processing requests from the user's browser and hosts InfoView and other Business Objects applications. The SDK is a software development kit that exposes the functionality of Crystal Reports Server to developers.

The WCA runs within the Application Server and provides all services that are not directly supported by the SDK. The web server passes requests directly to the Application Server, which then forwards the requests on to the WCA. The Web Component Adapter provides support for the legacy Crystal Web Architecture CSP and CWR. These include the CMC, Active X, and Java Viewer.

Intelligence Tier

The intelligence tier manages the Crystal Reports Server system. It maintains all the security information, sends requests to the appropriate servers, manages audit information, and stores report instances. The intelligence tier includes the Central Management Server, Cache Server, File Repository Server, and Event Server.

The Central Management Server (CMS) is responsible for maintaining a database of information about the system. The data stored by the CMS includes information about users and groups, security, folders and report objects, and servers. The CMS also maintains the repository and a separate audit database of information about user actions.

The Cache Server is responsible for handling all report viewing requests. The Cache Server checks whether it can fulfill the request with a cached report page. If the Cache Server finds a cached page that displays exactly the required data (with data that has been refreshed from the database), the Cache Server returns that cached report page to the user. If the Cache Server cannot fulfill the request with a cached report page, it passes the request along to the Page Server. The Page Server runs the report and returns the results to the Cache Server. The Cache Server then caches the report page for future use and serves the page to the viewer. By storing report pages in a cache, Crystal Reports Server avoids accessing the database each and every time a report is requested. If multiple Page Servers are running for a single Cache Server, the Cache Server automatically balances the processing load across Page Servers.

There is an Input and an Output File Repository Server in every Crystal Reports Server implementation. The Input File Repository Server manages all the report objects and program objects that have been published to the system by administrators or end users (using the Publishing Wizard, the Central Management Console, the Import Wizard, or a Business Objects designer component, such as Crystal Reports or the Web Intelligence Java or HTML Report Panels). The Output File Repository Server manages all the report instances generated by the Report Job Server. The File Repository Servers are responsible for listing files on the server, querying for the size of a file, querying for the size of the entire file repository, adding files to the repository, and removing files from the repository.

The Event Server manages file events. When the appropriate file appears in the monitored directory, the Event Server triggers the file event and notifies the CMS that the file event has occurred. The CMS then starts any jobs that are dependent upon the file event. After notifying the CMS of the event, the Event Server resets itself and again monitors the directory for the appropriate file.

Processing Tier

The processing tier accesses the data and generates the reports. It is the only tier that interacts directly with the databases that contain the report data. The processing tier includes the Report Job Server, Program Job Server, Web Intelligence Job Server, Web Intelligence Report Server, Report Application Server (RAS), Destination Job Server, List of Values Job Server, and Page Server.

A Job Server processes scheduled actions on objects at the request of the CMS. A Job Server can be configured to process either report objects or program objects. If a Job Server is configured to process report objects, it becomes a Report Job Server. The Report Job Server processes scheduled reports, as requested by the CMS, and generates report instances (instances are versions of a report object that contain saved data). To generate a report instance, the Report Job Server obtains the report object from the Input File Repository, opens the report, executes the SQL for the report, and when all the data has been returned to the report, both the report object and the data are saved to the Output File Repository.

The RAS processes reports that users view with the Advanced DHTML viewer. The RAS service also provides the ad hoc reporting capabilities that allow users to create and modify Crystal Reports over the Web. The RAS service is very similar to the Page Server: It, too, is primarily responsible for responding to page requests by processing reports and generating cache pages. However, the RAS service uses an internal caching mechanism that involves no interaction with the Cache Server. As with the Page Server, the RAS service supports COM, ASP.NET, and Java viewer SDKs. The Report Application Server also includes an SDK for report creation and modification, providing you with tools for building custom report interaction interfaces.

The Page Server is primarily responsible for responding to page requests by processing reports and generating Encapsulated Page Format (EPF) pages. Each EPF page contains formatting information that defines the layout of a single report page. The Page Server retrieves data for the report from an instance or directly from the database. When retrieving data from the database, the Page Server automatically disconnects from the database after it fulfills its initial request and reconnects to retrieve additional data if necessary. The Cache Server and Page Server work closely together. Specifically, the Page Server responds to page requests made by the Cache Server. The Page Server and Cache Server also interact to ensure cached EPF pages are reused as frequently as possible and new pages are generated as soon as they are required. Crystal Reports Server takes advantage of this behavior by ensuring that the majority of report-viewing requests are made to the Cache Server and Page Server. (However, if a user's default viewer is the Advanced DHTML viewer, the Report Application Server processes the report.)

Data Tier

The data tier is made up of the databases that contain the data used in the reports. BusinessObjects Enterprise supports a wide range of corporate databases.




Crystal Reports XI(c) Official Guide
Crystal Reports XI Official Guide
ISBN: 0672329174
EAN: 2147483647
Year: N/A
Pages: 365

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