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:
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.
NOTE
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