Overview
For web applications using the .NET platform, Crystal Decisions provides developers with three increasing advanced report object models:
1. Crystal Report Visual Studio .NET Edition (.NET) Object Model: Bundle in Microsoft Visual Studio .NET and Crystal Reports 9 Developer Edition and Superior Edition.
2. Added Report Application Server (RAS) Object Model: Bundle in Crystal Reports 9 Developer Edition and Superior Edition.
3. Crystal Enterprise (CE) Object Model: Alone in Crystal Enterprise 9, and can also be used by new .NET SDK.
This document is intended to compare the .NET, RAS, and CE object models, and provide guidance for the use of each object model.
table of Contents
What is .NET object model? What is the report application server object model? What is a crystal corporate object model? Application Development Processing Performance User Request Components VS. Independent Server Report Components VS. Report Server Communication Report Create API Scalability to migrate .NET applications to RAS
What is .NET object model?
The .NET object model is included in Crystal Report Visual Studio .NET and Crystal Reports 9 Developer Edition and Advanced Edition.
Originally designed and developed .NET object model, is an integrated component that is directly bundled into Microsoft Visual Studio .NET products. This bundling technology is a subset of the characteristics of Crystal Report 9, including an integrated report designer and a report and viewer object model ...
Crystal Report 9 is an upgrade with a rich feature, the Crystal Report Visual Studio .NET version, including the above .NET components, and numerous additional new features. In addition, the .NET object model is also updated to provide numerous enhancement features. Although the focus of this article is compared .NET object model and RAS object model, we still include the characteristics of Crystal Reports Visual Studio .NET and Crystal Report 9 in Appendix A.
What is the report application server object model?
Report Application Server (RAS) is a new and powerful object model. RAS is a client / server system that can be created, processed, and operations in a multi-layer environment. It consists of two basic components: the RAS server and the software development kit (SDK) of the servers interface. Since RAS is designed to two separate components, report processing can be uninstalled from the web server.
Figure 1: Architecture overview of report application servers
RAS and viewer SDK contain a lot of libraries to construct a web report solution. These libraries can be used in your server-side code (ASP, ASPX, JSP, or Java Servlets) to provide interfaces of report application servers. In this sense, SDK constitutes the client of this client / server system.
RAS provides services for design, view, processing, and custom reports. The program created by the customer can communicate with the server using the SDK. RAS is included in the Crystal Report 9 Developer Edition and Superior Edition, and in Crystal Enterprise 9.
What is a crystal corporate object model?
Crystal Enterprise 9 Object Model is the most advanced enterprise report, analysis and web delivery object model, which can be used by an organization of the .NET platform ... Crystal companies provide a robust server-side report platform and include the RAS object model. Crystal Enterprises allow organizations to purchase "Out-Out-of-Box" platform, which is equivalent to providing organizations to develop resources to highly customized front ends, front-end and crystal enterprise backend communication. This is achieved by regulating crystal .NET SDK. Imagine the following comparison: All feature must be constructed by adding new features or enhances existing features. For example, crystal enterprises provide report scheduling "OUT-OF-the-Box", so the core report can be run at any format (such as Excel, PDF, XML, Word, etc.), And deliver to any location (such as: email account, FTP site, printer, etc.). Application development
The .NET object model and the RAS object model can display the output in the form of a formatting report. They can open reports, save reports, changing groups, and deliver parameters, although using different syntax. However, RAS adds the ability to create and modify the report at runtime, allowing user self-help - to customize their business data. It also provides the ability to extract data from the report. This will allow you to reuse the information contained in the report. For example, you can create a world-wide sales report, which has a planned data from which data is converted into XML, shared with partners. You can also use this principle to let end users search specific data in the report and export the results into other formats, share with others.
The .NET object model and the RAS object model define a report format and data connectivity, while the CE object model focuses on centralized, enterprise-wide report management. The CE object model defines how to schedule reports, how to store report "snapshot", authorization, and verification system management, and so on.
Perhaps, the best way to clarify the .NET, RAS, and CE object models is to give a simplified chart, compare additional features of the three object models and enhanced enterprise reliability.
The usual approach is:
● .NET object model Recommended small working group projects, that is, only relatively direct reporting requirements - such as: smaller reports, fewer users request reports, and so on. This technology is a component of the application, and can be scaled by additional hardware - expands up by additional processor, and expands outwards through additional servers.
● RAS object model recommends medium-sized department-level applications, that is, need to remove report processing and / or to make the end user personalized data, which is created and modified by running.
● The CE object model is recommended to a key task type, medium-sized to enterprise scale. This type of application handles data from different data sources and presents information for users to provide decision support. Typically, there is a large number of reports require precise scheduling and load balancing to ensure that there is no overload of the company's information infrastructure. These applications also need to deliver information to a variety of end-user devices in a variety of digital formats. Safety, fault tolerance, system management and auditing are critical needs.
Processing performance
User request
In Crystal Report 9, .NET and RAS have technical restrictions, can only accept three concurrent requests - such as the first page, export, deepen, print, and so on. However, in the request processing, they have obvious differences. These differences can affect overall system performance and scale. For the Crystal Report Visual Studio .NET version, the request for more than three request thresholds will retry until any of the three progress requests or the browser timeout. RAS, the opposite will be queued fourth, 5th, 6th, and other requests. There is no preset timeout limit, and subsequent requests will not fail. RAS is also included, namely the out of the box, report caching, to minimize the multi-TRIPS. This will increase server performance, and relative to Crystal Reports Visual Studio .NET version components. Note: In order to support unlimited user requests, you may need to purchase an additional processor license.
Component VS. Independent Server
.NET is a report component that is installed as a component of the web program, which is above the Microsoft Internet Information Services (IIS). Since the purpose of creation .NET Report Components is to use for small-scale working group applications, customers with strong reports handle demand may encounter unacceptable system throughput. Missing queues and cache functions, making the .NET report assembly is not suitable for information distribution of corporate scale. Another variable is the CPU load of the web program. Because .NET Report Components are part of the web program, it consumes the same resources and your program.
In contrast, RAS is designed for web. Report processing is uninstalled to a separate application layer, which has brought better overall performance. Performance will be improved by running RAS on a stand-alone server, as reporting processes are no longer subject to the process of application servers.
Note: Although it is not required, you still recommend running RAS on a separate server to provide better scaling and functional division between application layers.
On the server, RAS can also be assigned to a specific number of processors running. This enables developers to create solutions that meet performance requirements and costly. Because the .NET object model must be installed on the web server, it cannot be for a specific processor. If you need a processor license, you need to purchase each processor installed.
For RAS, you can only install a copy of the purchased developer version or advanced version. If you purchase two advanced version of the crystal report, you can install two separate RASs, but you can't enhance the performance of your application by linking them to the web farm - unless you have purchased a license from Crystal Decisions. .
For the purchased developer version or advanced version, .NET Report Components can be installed to multiple servers, as long as they do not connect them to the web farm or web garden to zoom your application, Break through three requests - unless the Web Farm or Web Garden license is purchased from Crystal Decisions.
Report Components VS. Report Server Communication
.NET report components are "cumbersome". Each transaction, for example, setting parameters or fonts - all round-trip travel to access components. If the report is complicated, this will result in low efficiency (for example, accessing a lot of data, connecting to multiple databases, executing advanced commands, etc.). Instead, RAS buffer requests, and batch transactions. Multiple operations will be combined into a server operation, thereby reducing efficiency loss.
Extensibility
Although it can be used as a separate product, the RAS object model is still an integral part of the crystal enterprise object model. This makes the RAS application developers to migrate their procedures in the future to use other services of crystal companies, including: ● Scheduling ● User, report, and data security ● Reports and instance management ● Automatic cluster, load balancing, And fault tolerance ● Web-based system management and configuration ● Analysis and Special Reports (Ad Hoc Reporting) ● Automatically distribute to multiple formats and goals
Only a small amount of programming can change the RAS program to use these additional services.
Instead, the .NET report object model does not share the same object model with the crystal business family. This means that in order to support the Crystal service, applications that use .NET Report Components designed to be completely rewritten. This proves to be expensive and resource intensive, so organizations should consider future needs in the current development plan.
Migrate .NET application to RAS
Although the application is converted from the .NET object model to Ras to be involved in the initial work, the significant advantages summarized herein are also obtained. There are many instance applications in www.crystaldecisions.com/devzone to guide you to complete the migration process.