Comparison of the three report solutions of crystal:. Net object model, Report Application Server Object Model, and Crystal Enterprise Object Model

Source: Internet
Author: User
Tags ftp site email account


For Web application development using the. NET platform, crystal Decisions provides developers with three more advanced report object models:

1. Crystal Report Visual Studio. NET (. NET) object model: bundled in Microsoft Visual Studio. NET and crystal report 9 Developer Edition and advanced edition.

2. New Report Application Server (RAS) object model: bundled in the developer and advanced editions of crystal report 9.

3. Crystal Enterprise (CE) object model: It is provided separately in Crystal Enterprise 9 and can also be used through the new. Net SDK.

This document compares. net, Ras, and Ce object models, and provides guidance on the use time of each object model.


What Is A. Net object model?
What is the Report Application Server Object Model?
What is a crystal enterprise object model?
Application Development
Processing Performance
User request
Component vs. Independent Server
Report component vs. Report Server Communication
Report creation API
Migrate. Net Applications to Ras

What Is A. Net object model?

The. NET object model is included in the Visual Studio. NET and crystal report 9 developer and advanced editions.

Initially, the. NET object model was designed and developed as an integrated component directly bundled into Microsoft Visual Studio. NET products. This bundling technology is a subset based on the characteristics of crystal report 9, including an integrated report designer and a report and viewer object model ......

Crystal report 9 is a rich set of features. It upgrades the Visual Studio. NET version of the Crystal Report, including the above. NET components and many additional new features. In addition, the. NET object model is updated to provide many enhancement features. Although the focus of this article is to compare the. NET object model and the RAS object model, we still include the comparison of the features of the Crystal Report Visual Studio. NET and crystal report 9 in Appendix.

What is the Report Application Server Object Model?

The Report Application Server (RAS) is a new and powerful object model. RAS is a client/server system that allows you to create, process, and operate reports in a multi-tier environment. It consists of two basic components: the RAS server and the software development kit (SDK) that provides server interfaces ). As RAS is designed as two separate components, report processing can be detached from the web server.

Figure 1: Architecture Overview of the report Application Server

The RAS and viewer sdks contain many libraries for you to construct a Web Report solution. These libraries can be used in your server code (Asp, aspx, JSP or Java Servlets) to provide interfaces for the report application server. In this sense, the SDK constitutes the client of the client/server system.

Ras provides services for designing, viewing, processing, and customizing reports. The client-created program can use this SDK to communicate with the server. RAS is included in crystal report 9 Developer Edition, advanced edition, and Crystal Enterprise 9.

What is a crystal enterprise object model?

Crystal Enterprise 9 object model is the most advanced enterprise report, analysis and web delivery object model, which can be used by organizations on the. NET platform ...... Crystal Enterprise provides a robust server-side report platform that includes the RAS object model. Crystal Enterprises allow organizations to buy an out-of-the-box platform, which is equivalent to providing organizations with the ability to centralize development resources to a highly customized front-end, frontend and Crystal Enterprise backend communication. This is achieved by controlling the Crystal Enterprise. Net SDK. Imagine the following comparison: adding new features or enhancing existing features to meet the requirements vs. All features must be constructed. For example, Crystal Enterprise provides out-of-the-box scheduling. Therefore, core reports can be run at any time in any format (such as Excel, PDF, XML, word, and so on) are provided and delivered to any location (such as email account, FTP site, printer, and so on ).

Application Development

Both the. Net object model and the RAS object model can display the output in a formatted report page. They can open a report, save the report, change the group, and pass parameters, although they use different syntaxes. However, Ras provides the ability to create and modify reports at runtime, allowing users to customize their enterprise data views on their own. It also provides the ability to extract row data from reports. This allows you to reuse the information contained in the report. For example, you can create a world-wide sales report, extract data from it in a planned manner, convert the data into XML, and share it with partners. You can also use this principle to allow end users to search for specific data in a report, export the results to other formats, and share the results with others.

The. NET object model and the RAS object model define report formatting and data connectivity, while the CE object model focuses on centralized and enterprise-wide report management. The CE object model defines how to schedule reports, how to store "snapshots" of reports, and how to manage authorization and verification systems.

Perhaps the best way to clarify the differences between. net, Ras, and Ce object models is to give a simplified chart, compare the additional features of the three object models, and enhance enterprise-level reliability.

The general principle is:

● The. NET object model is recommended for small workgroup projects, that is, only relatively direct report requirements-for example, small reports and fewer user request reports. This technology is a component of an application and can be scaled by attaching hardware-scaled up through an additional processor, and scaled out through an additional server.

● The RAS object model is recommended for medium-sized department-level applications, that is, report processing needs to be removed, and/or an end user needs to personalize the data view, which is achieved through creating and modifying reports at run time.

● The CE object model is recommended for mission-critical, medium-to-enterprise applications. This type of application processes a large amount of data from different data sources and presents information to users to provide decision support. In general, a large number of reports require precise scheduling and load balancing to ensure that the information infrastructure of enterprises is not overloaded. These applications also need to deliver information to multiple end user devices in multiple digital formats. Security, fault tolerance, system management, and review are all critical requirements.

Processing Performance

User request

In crystal report 9, both. NET and Ras are technically limited and can only accept three concurrent requests-for example, view, export, deepen, print on the first page, and so on. However, there are significant differences in request processing. These differences can affect the overall system performance and scale. For the crystal report Visual Studio. NET, requests with more than three request thresholds will be retried until any of the three requests in progress is completed or the browser times out. Ras, on the contrary, will queue 4th, 5th, 6th, and so on. There is no preset timeout limit, and subsequent requests will not fail. Ras also includes the out of the box (out of the box), report cache function, to minimize unnecessary database round robin (round-trips ). This will improve the server performance, compared with the crystal report Visual Studio. NET component.

Note: An additional processor license may be required to support unlimited user requests.

Component vs. Independent Server

. Net is a report component installed on Microsoft Internet Information Service (IIS) as part of a web program. Since the. NET Report component is created for small-scale workgroup applications, customers with strong report processing needs may experience unacceptable system throughput. Without the queue and cache functions, the. NET Report component is not suitable for enterprise-scale information distribution. Another variable is the CPU load of the web program. Because the. NET Report component is part of a web program, it consumes the same resources as your program.

In contrast, RAS is designed for Web applications. The report processing is uninstalled to the independent application layer, resulting in better overall performance. By running RAS on an independent server, the performance will be improved because report processing is no longer subject to processes on the application server.

Note: Although not required, we recommend that you run RAS on a separate server to provide better scalability and functional division between application layers.

On the server, Ras can also be allocated to a specific number of processors for running. This allows developers to create solutions that meet performance requirements and save the most cost. Because the. NET object model must be installed on a Web server, it cannot target a specific processor. If a processor license is required, each processor that installs the application needs to be purchased.

For Ras, you can only install one copy of the developer or pro edition you have purchased. If you have purchased two advanced versions of Crystal Reports, you can install two separated Ras, but you cannot link them to the website group (Web farm) to improve application performance-unless you have purchased a license from Crystal decisions.

For the developer or pro edition purchased ,. net report components can be installed on multiple servers, as long as they are not linked to a web farm or web garden to scale your applications, to break through the limits of three requests-unless you have purchased a web farm or web garden license from Crystal decisions.

Report component vs. Report Server Communication

The. NET Report component is "tedious. Every transaction-for example, setting parameters or fonts-will incur additional round-trips to access components. If the report is complex, the efficiency will be low (for example, accessing a large amount of data, connecting to multiple databases, executing advanced commands, and so on ). Instead, Ras caches the request and processes the transaction in batches. Multiple operations are grouped into one server operation, reducing the efficiency loss.


Although it can be used as an independent product, the RAS object model is still part of the Crystal Enterprise object model. This allows developers of Ras applications to seamlessly migrate their applications in the future to take advantage of other services of the crystal enterprise, including:

● Scheduling
● User, report, and data security
● Report and instance Management
● Automatic cluster, load balancing, and fault tolerance
● Web-based system management and Configuration
● Analysis and special reports (ad hoc reporting)
● Automatic distribution to multiple formats and targets

The RAS program can be changed to take advantage of these additional services with only a small amount of programming.

On the contrary, the. NET Report object model does not share the same object model with the crystal enterprise family. This means that in order to support the crystal service, applications designed using the. NET Report component must be completely rewritten. This proves to be expensive and resource-intensive, so organizations should consider future needs in the current development plan.

Migrate. Net Applications to Ras

Although converting an application from the. NET object model to Ras is involved in the initial work, it will also obtain the significant advantages summarized in this article. There are many instance applications in to guide you through the migration process.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.