Understanding the Crystal Enterprise Object Model

Crystal Enterprise was designed from its inception to be extensible. Rather than provide a "black box" product, the folks at Business Objects made sure that they had a layer on top of the core Crystal Enterprise (CE) services that consisted of a Software Development Kit (SDK). A developer armed with a bit of Crystal Enterprise knowledge can customize the look, feel, and functionality of the product or simply create his own solution from scratch. This chapter provides an introduction to using the Crystal Enterprise SDK to extend the out-of-box product to meet new requirements and challenges.

Previous chapters introduced the core Crystal Enterprise services. These services, including the CMS, Page Server, and Job Server, each perform a set of reporting-related functions. Also, it has been illustrated how clicking through the Web Desktop and Crystal Management Console applications makes these services perform their jobs. Perhaps what hasn become apparent yet is that there is a layer between the CE services and the applications youve seen. This layer consists of the Crystal Enterprise SDK. Each and every feature that CE supports is available via its SDKthe SDK is the entry point for driving CE to do its job. When the Search button in Web Desktop is clicked, or the Add User button is clicked in the Crystal Management Console, those applications are making a call to the Crystal Enterprise SDK, which in turn talks to the various services to perform the requested operation.

For some people, using the Web Desktop application out of the box is sufficient. Others do some minor customization of Web Desktop to provide a familiar corporate look and feel by modifying some style sheets and/or image files. When users want to modify the behavior of the application, they turn to changing the actual code behind the application using the SDK.

Although customizing Web Desktop can be a productive way to meet a particular set of a projects requirements, sometimes the user interface and functionality of Web Desktop is overkill. In this case, it is often better simply to create a new application from scratch rather than modify the existing Web Desktop application. Also, a projects scope is often larger than simply reporting and thus there is a surrounding application that is being developed. In this case, whether Web Desktop meets the requirements or not, the developer probably starts from scratch because the reporting module needs to fit into the architecture, process flow, and look and feel of the surrounding application.

A key factor when integrating into surrounding applications is the development platform used for that application. The popular development platforms today are Crystal Server Pages (CSP), Active Server Pages (ASP), Java Server Pages (JSP) and Java servlets, and finally Microsofts .NET platform (ASPX). To meet the needs of an organization using any or all of these development technologies, the Crystal Enterprise SDK is provided in three flavors:

  • COM for CSP and ASP
  • Java for JSP and servlets
  • .NET for ASP.NET

For the purpose of the SDK introduction, the next few sample code listings in this chapter are in ASP using the COM SDK. Near the end of the chapter the Java and .NET SDKs are visited to explain some concepts specific to those technologies.


Business Objects has announced the deprecation of CSP. This means that although applications using CSP still function, at some point in the future this functionality will be removed. The recommendation is that any new applications that are being developed use ASP instead of CSP. Because the same COM SDK is used in both ASP and CSP, the same functionality is available.

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

Special Edition Using Crystal Reports 10
Special Edition Using Crystal Reports 10
ISBN: 0789731134
EAN: 2147483647
Year: 2003
Pages: 341

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