cancel
Showing results for 
Search instead for 
Did you mean: 

concurrent users issue with CR .net version

Former Member
0 Kudos

<p>

Hi All, I have given brief description below on my issue. I request you to provide your feedback.

</p>

<p>

<strong>Background</strong>

</p>

<p>

We are developing a web application for our US-based client. The web application will be used for internal purposes by the client. I went through the following URLs regarding deploying 'CR for .NET 2005' on IIS6. http://www.businessobjects.com/product/catalog/crystalreports_visualstudio/licensing.asp and <a href="http://support.microsoft.com/kb/317789">http://support.microsoft.com/kb/317789</a>

</p>

<p>

These URLs state the we don't need to purchase any additional license if the web application is for internal purposes and the number of concurrent users does not exceed 5. However, the concurrent users of our application can be as many as 100. The URLs state that for scalability we may have to upgrade to Crystal Reports (CR) Server XI which supports up to 250 concurrent users.

</p>

<p>

Note that the web site will be installed in a web farm.

</p>

<p>

<strong>Problem </strong>

</p>

<p>

When we contacted Business Objects (BO), they mentioned that CR Server XI supports only 20 concurrent users. More importantly, design and development of reports using CR Server XI is different from CR for .NET.

</p>

<p>

On the other hand, BO has recommended that we go with CR Enterprise Server which will support our need of 100 concurrent users. Again, apparently design and development of reports using CR Enterprise Server is different from CR for .NET.

</p>

<p>

BO has suggested that we go with either CR Server XI or CR Enterprise Server.

</p>

<p>

<strong>Current Design Approach using 'CR for .NET 2005'</strong>

</p>

<p>

UI: User Interface is designed to provide the filter criteria to the user. This layer is designed using asp.net. Each report screen has filter section on the top and one user control at the bottom. Once a user selects the filter criteria and clicks on Show Report button, filter criteria is hidden and report is displayed on the same page.

</p>

<p>

User Control: This has the Crystal Reports Viewer Control in it. It also contains the Business Logic (BL) in its code behind page. The BL will call the appropriate DAL function to fetch the result to be shown in the report.

</p>

<p>

DAL: This layer will execute the corresponding database stored proc and fill the Entity Collection and then return the entity collection to BL.

</p>

<p>

DB: We created SPs for getting the result set to be displayed in the report.

</p>

<p>

Entity: This layer has entity classes for all the reports.

</p>

<p>

<strong>Help Needed</strong>

</p>

<p>

We want to confirm that the design approach explained above will work with CR Server XI and CR Enterprise Server. If not, what changes do we have to make in our code to make it compatible with CR server esp. in a web farm scenario.

</p>

<p>

We also want to know what other options are available to deploy CR on IIS6 that will meet our requirement of 100 concurrent users in a web farm scenario.

</p>

<p>

Thanks, Vidu.

</p>

Accepted Solutions (1)

Accepted Solutions (1)

ted_ueda
Active Contributor
0 Kudos

With 100 concurrent users, you'd encounter issues. CR.NET handles three concurrent report requests (report open, next page, export, etc) at one time.

With CR Server or BusinessObjects Enterprise, you would be able to balance the load better, such that the processing is done on the server (unlike in CR.NET, where the processing would be done on the web app server) so you may have less need for a web farm.

One note - it appears if you're "pushing" data into a report rather than allowing the report to "pull" data, i.e., you're generating the DataSet in your .NET code, and injecting it into the report.

I'll note that it's much more efficient to "pull" data, than "push", since pushing would require data to be transmitted from your RDBMS to your .NET app, then transmitted to the Enterprise server.

Using "pull" model rather than "push" would be much more efficient, and also allow you to scheduled reports to refresh periodically on the Enterprise system.

To use the "pull" model may require report redesign, such that filtering is controlled by parameters within the report.

If you wish to use the "push" model, you would use the Report Application Server and the Report Application Server SDK.

You can read about the RAS SDK here:

[http://devlibrary.businessobjects.com/BusinessObjectsXIR2SP2/en/en/RAS_SDK/default.htm|http://devlibrary.businessobjects.com/BusinessObjectsXIR2SP2/en/en/RAS_SDK/default.htm]

Sincerely,

Ted Ueda

Answers (0)