This section of the chapter discusses how the Crystal Enterprise Framework and all the services that it provides are most effectively deployed. As mentioned earlier, Crystal Enterprise is designed as an n-tier distributed system for information delivery. This distributed nature gives an organization a great deal of flexibility in how it might want to deploy Crystal Enterprise in its environments. How Crystal Enterprise is deployed will depend on the way in which the system is expected to be used, how many users are expected to be active in the system at any given time, and how many objects are expected to be processed at any given time.
Scaling Up
The term scaling up implies that a software product is able to take full advantage of the physical hardware resources it has access to and ultimately increase its performance as the hardware increases. Crystal Enterprise was designed from its inception to effectively scale up.
All the Crystal Enterprise servers are multithreaded components that are able to scale to take advantage of available physical hardware resources. They have been designed to operate on multiprocessor machines efficiently.
When a system is under high load, even being multithreaded isn't enough. If the load on the servers is high enough, I/O might start to become the limiting factor. Crystal Enterprise deals with this by allowing an organization to configure multiple instances of a server on the same physical piece of hardware. This makes it possible for additional servers to share in the load and remove any I/O bottlenecks. A benefit in doing this is that automatic load balancing kicks in, making the system that much more efficient.
Scaling Out
Building on the scalability in Crystal Enterprise for scaling up, the capability to distribute report processing loads to multiple physical machines is also available. This is beneficial in many ways.
As an example, an organization can scale its systems to very large levels by adding physical servers to the environment when needed. If an organization chooses to license Crystal Enterprise using named or concurrent access licenses, additional hardware resources can be added to the environment as needed without purchasing additional Crystal Enterprise user licenses. If processor licenses are initially purchased, new processor licenses must be purchased when the additional hardware is added. This is why it's important to understand the expected usage of the system as well as project the future growth of the system so that the appropriate license model is chosen.
The second benefit is the capability to assign tasks to certain computers. For example, the Job Server, Page Server, and File Repository Server could be grouped together on the same physical computer. The Page Server and Job Server both connect to databases and both communicate with the File Repository Server. Locating them on the same computer makes sense in many situations.
The next benefit of scaling out with Crystal Enterprise is fault tolerance. Crystal Enterprise provides the capability not only to have multiple instances of the same service running on the same computer, but also allows for those servers to be spread across multiple machines. Crystal Enterprise has automatic fail-over support in each of its servers to complement the automatic load-balancing capabilities. This means that if a server goes offline for any reason, other servers registered to the Crystal Enterprise Framework will automatically pick up the workload without user interruption.
Scaling Across Platform Boundaries
Some deployments of Crystal Enterprise might require a distributed system on different operating systems. Crystal Enterprise makes it possible for an organization to deploy Crystal Enterprise across any of its supported operating system platforms. This provides a way for organizations to decide what deployment scenario best fits their needs, given the hardware available to them. A key benefit to being able to do this is that organizations might want to seamlessly mix functionality available from different operating systems. For example, an organization might require that reports process on Unix but still want the users authenticated using Windows NT accounts.
There might be situations in which it's necessary to have certain servers running on one operating system and the rest of the system running on another. For example, an organization might have the majority of Crystal Enterprise operating on Unix, but want to seamlessly integrate the SQL Server Analysis cubes being used in the Crystal Analysis reports created by the finance department. These reports can easily be added to the Crystal Enterprise system running on Unix, as long as a WCS is running on Windows so that the Crystal Analysis reports have access to SQL Server Analysis Services.
CAUTION
Although a mixed-platform deployment can solve problems, do not put clustered CMSs on different platforms. Because they both work together connected to a single database, and because drivers on platforms differ, database corruption can occur on some platform combinations.
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