Without question, the number one reason for a software project's downfall is the failure to gather adequate requirements, and gather them correctly. Anyone undertaking a project to deploy Crystal Enterprise must take the time to discover exactly what the tool is required to accomplish. This need is initially defined by the business problem. Remember, the business problem should be considered the starting point for a Crystal Enterprise solution, allowing the enterprise reporting technology to be embraced and extended to an entire organization.
CAUTION
Don't get caught stating technical solutions as requirements rather than the true requirements. For example you might state a requirement that: "I want to produce .pdf files from a report." This is actually a solution statement! If you examine why you made this statement, you might see that you thought an Adobe Acrobat (.pdf) file would enable you to share information over the Web. In that case, your requirement should state: "End users can all see the information on Internet Explorer and Netscape browsers on the corporate network." The technical solution to this problem arrives in the next phase, and stating technical solutions instead of actual requirements is a typical and costly mistake.
With these points in mind, some of the key questions that need to be considered when defining the requirements for a deployment of Crystal Enterprise involve four concepts: users, user interfaces, reports, and environments. The following lists show the important questions that should be considered:
Users
User Interface
These questions will help determine whether an out-of-the-box Crystal Enterprise interface, such as the Web Desktop, will meet end-user requirements, or if customization to the Web Desktop will be necessary. Some organizations develop a completely custom front-end to Crystal Enterprise based on end-user feedback to the previous questions. In the case of the latter scenario, some organizations integrate Crystal Enterprise information delivery as a portion of a larger application, which can involve data entry as well.
The alerting capabilities of Crystal Enterprise call out values that merit special attention and can e-mail end users regarding that value.
Reports
Identifying any requirements for support of legacy reports will help identify the extent of the Crystal Enterprise solution. Use of the Crystal Enterprise SDK might be required to link new reports to legacy reports.
It's also important to consider the data source connectivity methods provided with Crystal Enterprise. They might or might not match up with organizational requirements. Native drivers provide for many data sources, but some data sources can be connected to only through ODBC.
All the questions in this bullet point indicate that Business Views should be developed to ease issues around accessing data.
When setting out to develop reports, consider whether sufficient human resources are available to develop the reports to meet end-user requirements. If not, a third-party consulting organization might be leveraged here to complete report design. One of the biggest challenges organizations have when deploying Crystal Enterprise has nothing to do with Crystal Enterprise itself. It's with the data source. Understanding the database schema and where the actual data is can be the most complex portion of the deployment. This area is one where Business Views can dramatically improve report writing efficiency because a skilled DBA works with the database, allowing less skilled resources to develop reports. This both lowers costs and speeds development.
Also consider how many report objects Crystal Enterprise will store and manage. A report object in Crystal Enterprise doesn't hold any data. The report instances, reports that have been scheduled, actually contain the data. Chapter 27, "Administering and Configuring Crystal Enterprise," discusses this in more detail. Consider that each report instance occupies space in the File Repository Server. If an organization has 1,000 unique reports and allows 25 scheduled historical instances to be held in Crystal Enterprise for each report, that's 25,000 instances! If each instance held a large amount of data, the File Repository Server would clearly need an ample amount of disk space to manage those instances.
Determining the target length of time for a report to run might not necessarily be achievable, but should be established nonetheless. If a report is based off a database stored procedure that takes 12 hours to run in the database, it's unrealistic to blame Crystal Enterprise for the report taking a long time when, in fact, Crystal Enterprise has nothing to do with the long report runtime.
Bear in mind that ODBC and native drivers affect report runtime; sometimes ODBC is faster and vice versa.
Environment
Although Crystal Enterprise delivers information through a Web browser, there are many mechanisms by which this can be accomplished. For example, choosing to deploy the ActiveX viewer with Crystal Enterprise rather than the DHTML viewer can exclude Netscape viewers from using reports. Perhaps the client workstation is actually a mobile device or phone.
The specialized roles of Crystal Enterprise servers, such as the Page and Job Servers, can be maximized through effective placement of physical servers. The Page and Job Servers should be placed close to the actual database servers to which reports connect. Close is a subjective word, in that it implies a substantial amount of bandwidth and low latency available between the services and database if reports contain a large amount of data. This reduces the impact to an organization's WAN traffic by isolating communication between the database and report processing services.
OLAP servers imply that another type of report object, Crystal Analysis Professional reports, will be stored in Crystal Enterprise. Although Crystal Reports connects to OLAP data sources, version 8.5 of Crystal Reports does not provide the same robust OLAP report and application creation that Crystal Analysis Professional does. Using Crystal Analysis Professional reports with Crystal Enterprise also implies that the Web Component Server will require OLAP server connectivity because this is the hosting point for the Crystal Analysis Professional server-side services.
If, for example, an organization were using Microsoft's OLAP server, SQL Server Analysis Services, to stage data in OLAP cubes, Crystal Analysis Professional would be required, and the Web Component Server service would require some level of network access to the SQL Server.
Although most organizations use standard networking components and protocols, such as 10/100 Ethernet and TCP/IP, the speed of a physical network can affect where Crystal Enterprise server components are placed on the geographic network topology.
Planning considerations must be made not only for an imminent Crystal Enterprise deployment, but also for how the system might look one year from now. Most deployments of Crystal Enterprise grow quickly because end users like to share the new source of information they have accessed.
Determining a strategy for security can be a daunting one because many options are associated with Crystal Enterprise. Crystal Enterprise provides a native security model where users, groups, and objects can be created and managed without the need for any third-party security components. Crystal Enterprise also supports Windows NT or Active Directory security integration, as well as support for a host of major directory servers through LDAP. As a final option, an organization could use the Crystal Enterprise SDK to link in or create a homegrown security model for Crystal Enterprise.
Crystal Enterprise also allows the creation of custom administration modules using the administrative portion of the SDK, which allows for certain users to be restricted to various portions of the product for system administration.
Several licensing models are available for Crystal Enterprise, so understanding the current licensing program for Crystal Enterprise can save your organization some money when it comes time to purchase.
Although Crystal Enterprise is available on the Windows, AIX, and Solaris platforms, some organizations will deploy a "mixed mode" environment, meaning some Crystal Enterprise services or daemons will be installed on different platforms. The Unix versions have a few minor variations from the Windows version.
As mentioned earlier, different server components of Crystal Enterprise benefit through close physical proximity to database servers. It's important to understand the various functions of the individual Crystal Enterprise servers and what data traffic is passed between them. Chapter 24, "Crystal Enterprise Architecture," covers this in some detail. Understanding this will help the Crystal Enterprise system planner or administrator effectively place server components within a corporate LAN/WAN environment to maximize system performance.
Crystal Enterprise was designed with a "DMZ" or firewall deployment in mind. This means that Crystal Enterprise can be effectively deployed in a multiple-firewall network environment with minimal impact to security because all information and reports delivered by Crystal Enterprise can be DHTML. This means Port 80, HTTP delivery of data out to the Internet. For more information on deploying Crystal Enterprise in a complex network environment involving firewalls, refer to Chapter 26, "Deploying Crystal Enterprise in a Complex Network Environment."
This might seem like a trivial consideration because Crystal Enterprise delivers reports that essentially amount to Web pages to an end user through a browser. If, for example, an organization chooses to deliver all reports from Crystal Enterprise as .pdf files rather than Crystal Reports as Web pages through the DHTML viewer, a significant feature is sacrificed: page on demand. Page on demand means that only one page of a report is delivered to an end user at a time. If a report contains 3MB worth of data, the user won't notice this because the server opens the report and delivers the requested page of the report to the viewer. This provides a responsive environment for end users, even in a dial-up session at less than 56Kbps.
Crystal Enterprise is not a Web server. It works with most major Web servers or application servers. Although Crystal Enterprise doesn't place a significant load on a Web server, there is some load nonetheless, especially if an organization decides to install Crystal Enterprise on the physical Web server itself. It's always preferable to have a dedicated server for Crystal Enterprise and offload processing onto a dedicated set of servers for Crystal Enterprise.
Crystal Enterprise is a complex enterprise reporting and information delivery product that involves many systems, from databases to operating systems and development platforms. Troubleshooting issues with Crystal Enterprise might not have anything to do with Crystal Enterprise at all. More often than not, issues with reports often lie with database access, operating system permissions, and the like. It's of paramount importance that system administrators understand the spectrum of these issues.
The previous list of questions is by no means complete. It is meant to be a solid foundation from which to formulate an implementation plan. Ideally, the temptation to install any software until after this stage is complete can be resisted.
Each answer should lead a Crystal Enterprise deployment manager to create an action item for delivery before, during, and after the project. For example, the answer to the question "What is the projected growth of the Crystal Enterprise system?" might be "Company A currently derives about $100M in annual revenue and has 200 employees. During the next two years we hope to double in size." This can lead to the deduction that, although current hardware availability will allow for an initial implementation of the project without further hardware and software purchase or budgeting, scalability planning should be performed or at least considered for future growth.
It might be useful to build these questions into a questionnaire format, breaking the organization down into management, users, and IT department members. Submitting a questionnaire or having interviews with the end-user community are exceptional ways to get buy-in from all project stakeholders.
Developing the Application (Customizing Crystal Enterprise)
Although Crystal Enterprise comes with several out-of-the-box client applications such as the Web Desktop, this doesn't exclude the customization of one of those applications or development of a completely custom solution from the ground up. The good news is if an organization is deploying the Web Desktop without any customizations, this section can be skipped entirely.
The development of a Crystal Enterprise application can be very personal. Whatever the approach, it should follow these guidelines:
However, a process must be in place to manage this and be sure that any new changes are implemented with the support and knowledge of the project team, management, and end users. Another result of ignoring change management is the bane of any project, scope creep. Scope creep occurs when a project's deliverables, functionality, or look and feel extend past the project plan and definition. Scope creep can blow budgets away, extend project timelines dramatically, and can lead to bad morale on the project team.
One good example might be a specification to customize the look and feel of the DHTML viewer. A corporate logo is to be applied to the background of the viewer. After the addition of the logo, the end users ask whether each individual icon image in the viewer can be changed to match other images the company has, such as product images. Although this might seem trivial and seems to add little value to the overall solution, it could set the deployment timeline back at least half a day.
Table 25.1 is an example of a change control matrix.
Change Number |
Description |
Requestor |
Assigned to: |
Completed on: |
To Test (date) |
Tested by: |
Released to and Date: |
---|---|---|---|---|---|---|---|
1 |
Provide top 10 customers parameter |
Dawn Gugoi |
Paul Kooker |
4/24/04 |
4/26/04 |
Tess Tor |
5/5/04 |
Top Ten |
Risk |
Chances of It Happening (15) |
Damage to Project If It Does Happen (15) |
Risk Multiple |
What to Do About It |
---|---|---|---|---|---|
1 |
Server hardware takes four weeks from order |
4 |
5 |
20 |
Be sure server sizing is completed by week 2 and pass to procurement by week 3 |
Completing User Acceptance Testing and Deployment
This phase should deliver the 99.9% finished application to a defined user base. End users should take the Crystal Enterprise application front end and follow a testing script that is given to them at the beginning of the phase. Users then should document and return their findings to the project team, and any last-minute changes will be made to the code.
This process could go through as many iterations required for the users to finally put a check in the box that says, "We are satisfied." As mentioned previously, user acceptance ensures a successful project.
When the users are happy, the application can be deployed in a production environment.
Moving to the Support and Maintenance Phase
After the application enters production, users should know who to call for support. This can be achieved through access to defined members of the project team, an organization's internal support desk, or an outsourced tech support organization. The Crystal Enterprise application manager should keep a log of issues, bugs, and any user feedback so that, where relevant, this information can be implemented in the current application and any future releases.
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