The Crystal Enterprise Framework, the backbone of Crystal Enterprise, provides a distributed mechanism that manages the interaction and communication of the Crystal Enterprise services that make up the server tier, as well as communication between this server tier and the CE-SDK. Each Crystal Enterprise service uses the framework to describe the capabilities it offers and to discover other services that are registered with the framework. The framework treats each of the registered services as equals, which enables one service to use the capability of another Crystal Enterprise server directly, thus enhancing scalability.
The Framework's foundation is a communication bus that handles dialogue between the various services and facilitates automatic load-balancing and fault tolerance. This communication bus registers each service, categorizes the type of service, and maintains a tally of the status of each service. For scalability reasons, much of this service interaction is distributed and decentralized. This is one of the reasons Crystal Enterprise leads the industry in scalability.
The Crystal Enterprise Framework uses programmatic components, known as plug-ins, to represent each object type within Crystal Enterprise. Plug-ins contain the appropriate properties and methods needed to handle a particular object within Crystal Enterprise, and determine how Crystal Enterprise should treat it. For instance, a service might require information about a Crystal Report, and will use the properties of the Crystal Report plug-in to retrieve the information. The Crystal Report plug-in properties include things like the report title, the database login information for that report, and the report thumbnail image. In contrast, a user plug-in might have the username, the type of login, and the group membership as its properties.
Although plug-ins become much more important as you start to explore application development using the CE-SDK, they are a great way to start to explore the capabilities of Crystal Enterprise. Figure 24.2 shows how a plug-in is used. They help you to categorize the types of objects you find in Crystal Enterprise, and understand what you can do with each of them.
Figure 24.2. A plug-in is the way Crystal Enterprise exposes the services of a server on the framework.
The object types that are part of the Crystal Enterprise Framework are classified in the following groups:
Administration Plug-ins
Administration plug-ins provide a way to manage the Crystal Enterprise servers. Each plug-in exposes the control and configuration properties of a server within the Crystal Enterprise system so that you can configure the behavior of each Crystal Enterprise server. These plug-ins also provide activity metrics for each server.
Authentication Plug-ins
Authentication plug-ins provide a mechanism for Crystal Enterprise to interact with external security systems and treat these systems as native authentication sources. The authentication plug-ins provided with Crystal Enterprise are
These authentication types are discussed in more detail in "The Server Tier: Overview of the Crystal Enterprise Services," later in this chapter.
Content Plug-ins
Content plug-ins describe the types of objects that end users (report viewers) would typically interact with, such as, but not limited to, a Crystal Report. The content types that are provided as part of Crystal Enterprise are
Distribution Plug-ins
A distribution plug-in allows anyone who is scheduling an object such as a Crystal Report to be able to send that report outside the Crystal Enterprise environment. This facility enables the application to schedule reports to destinations such as e-mail. Distribution plug-ins that are provided with Crystal Enterprise are
NOTE
Crystal Enterprise also provides the capability for a Crystal Report to be scheduled to a printer. The printer object is not exposed as a distribution object, but rather as a function of the Crystal Report content plug-in.
These plug-ins play a fundamental role in the Crystal Enterprise Framework by encapsulating and exposing the knowledge of the object type that they represent. The remainder of this chapter discusses how these plug-ins are used by the Crystal Enterprise servers within the Crystal Enterprise Framework.
Part I. Crystal Reports Design
Creating and Designing Basic Reports
Selecting and Grouping Data
Filtering, Sorting, and Summarizing Data
Understanding and Implementing Formulas
Implementing Parameters for Dynamic Reporting
Part II. Formatting Crystal Reports
Fundamentals of Report Formatting
Working with Report Sections
Visualizing Your Data with Charts and Maps
Custom Formatting Techniques
Part III. Advanced Crystal Reports Design
Using Cross-Tabs for Summarized Reporting
Using Record Selections and Alerts for Interactive Reporting
Using Subreports and Multi-Pass Reporting
Using Formulas and Custom Functions
Designing Effective Report Templates
Additional Data Sources for Crystal Reports
Multidimensional Reporting Against OLAP Data with Crystal Reports
Part IV. Enterprise Report Design Analytic, Web-based, and Excel Report Design
Introduction to Crystal Repository
Crystal Reports Semantic Layer Business Views
Creating Crystal Analysis Reports
Advanced Crystal Analysis Report Design
Ad-Hoc Application and Excel Plug-in for Ad-Hoc and Analytic Reporting
Part V. Web Report Distribution Using Crystal Enterprise
Introduction to Crystal Enterprise
Using Crystal Enterprise with Web Desktop
Crystal Enterprise Architecture
Planning Considerations When Deploying Crystal Enterprise
Deploying Crystal Enterprise in a Complex Network Environment
Administering and Configuring Crystal Enterprise
Part VI. Customized Report Distribution Using Crystal Reports Components
Java Reporting Components
Crystal Reports .NET Components
COM Reporting Components
Part VII. Customized Report Distribution Using Crystal Enterprise Embedded Edition
Introduction to Crystal Enterprise Embedded Edition
Crystal Enterprise Viewing Reports
Crystal Enterprise Embedded Report Modification and Creation
Part VIII. Customized Report Distribution Using Crystal Enterprise Professional
Introduction to the Crystal Enterprise Professional Object Model
Creating Enterprise Reports Applications with Crystal Enterprise Part I
Creating Enterprise Reporting Applications with Crystal Enterprise Part II
Appendix A. Using Sql Queries In Crystal Reports
Creating Enterprise Reporting Applications with Crystal Enterprise Part II