Crystal Reports Licensing Information for Web Developers
page 1 of 1
Published: 24 Mar 2005
Unedited - Community Contributed
Abstract
Eric Landes provides a layman's view of the different Crystal Reports licensing options available to web developers, from Crystal .NET to Crystal XI.
by Eric Landes
Feedback
Average Rating: This article has not yet been rated.
Views (Total / Last 10 Days): 55075/ 43

Introduction

Software licensing is not a subject I often like to write about. However for Crystal Reports there are a number of reasons to tackle this in an article. The most striking is the new licensing features in the recently released XI version.

In conversations that I’ve had with different developers, both in email and in person, when we talk about reporting with Crystal, many times those conversations turn to Crystal's licensing model. Since the early early days ASP.NET, I have sensed confusion among web developers on how the licensing works when deploying a Crystal web application.

The confusion extends from Internet sites to corporate Intranets. While Crystal and now Business Objects have improved their products in many ways, I’ve felt that the licensing issue has always been a liability for them in the .NET marketplace. In this article, I’ll try to put a layman’s spin on my understanding of the Business Objects licensing schemes for the different versions of Crystal. This is not the official view from Business Objects, but the view of someone who’s worked with the Crystal products for a while. If you decide to purchase a Crystal product from Business Objects, please be sure to double-check my opinion on the product's licensing.

With the release of Crystal XI, there’s some relief for intranets on how that licensing works. This change in licensing demonstrates to me that the folks at Business Objects do listen to customer feedback.

Crystal 8.5, .NET and 9 Licensing for Web Sites

I believe that originally with Crystal .NET, which is a scaled down version of Crystal 8.5, the concurrent limit out of the box was for 3 users of an application utilizing one processor. What that meant, as far as I could tell, was that if a user was accessing the reporting engine that was where the concurrency occurred. If a fourth user hit the server, they could get an ugly error message to the effect that the server was not available, try back later. You could get around this by using the Report Application Server or creating your own code to display a more user friendly error message. Also, if you have Crystal 9 Developer edition, then the engine will automatically retry the connection for you without the ugly error message.

Notice that the one processor limitation is there. I’m not sure how that impacts web farms, but the impact is obvious for multi-processor servers. You’ve got to upgrade or buy more CAL’s for that box.

Once the user has the report displayed, particularly if you are outputting to a PDF file, then the report would not be counted against your concurrent total. However, when the report is retrieving information is when the concurrent users counts. Let’s use the following code, from the Automagically Display Crystal Parameters Part III, to demonstrate where I believe the concurrency occurs.

Public Sub ExportData(ByRef oRpt As Object)
        Dim fs As IO.FileStream
        Dim FileSize As Long
        Dim oDest As New CrystalDecisions.Shared.DiskFileDestinationOptions
        Dim ExportFileName As String = Server.MapPath("/") & 
         ConfigurationSettings.AppSettings("ExportDir") & Session.SessionID & ".pdf"
        Try
            'Dim oExport As New CrystalDecisions.CrystalReports.Engine.
            ' ReportDocument.ExportOptions()
            oRpt.ExportOptions.ExportDestinationType = CrystalDecisions.
             [Shared].ExportDestinationType.DiskFile
            oRpt.ExportOptions.ExportFormatType = CrystalDecisions.[Shared].
             ExportFormatType.PortableDocFormat
            oDest.DiskFileName = ExportFileName
            oRpt.ExportOptions.DestinationOptions = oDest
            oRpt.Export()
            'Build Target Filename
            'Send the file to the user that made the request
            Response.Clear()
            Response.Buffer = True
            Response.AddHeader("Content-Type", "application/pdf")
            '        Response.AddHeader("Content-Disposition", "attachment;
            ' filename=" & Session.SessionID & ".pdf;")
            fs = New IO.FileStream(ExportFileName, IO.FileMode.Open)
            FileSize = fs.Length
            Dim bBuffer(CInt(FileSize)) As Byte
            fs.Read(bBuffer, 0, CInt(FileSize))
            fs.Close()
            Response.BinaryWrite(bBuffer)
            Response.Flush()
            Response.Close()
        Catch e As Exception
        End Try
    End Sub

My understanding is that when the code gets to oRpt.Export(), that is where the Crystal engine is utilized.

Now this is where I get a little fuzzy. I believe that if we have four copies of Crystal 9 and we deploy Crystal Reports to four different single-processor servers, we would have the 3 user limit on each server. I don’t believe there would be more CAL’s to be purchased.

Today, if you are going to purchase a Crystal product from Business Objects, your choices are Crystal 10 and Crystal XI. So let’s move on to those licensing schemes.

Crystal Reports 10

Crystal 10 was released a little over a year ago. Besides adding a great new report viewer for web developers, the licensing was also a little different. Of course this all depends on the version you have, but let’s say you have Crystal Professional. From what I could tell, the Web licensing gives you something called Crystal Enterprise Express. This allows five named licensed users for the report designer. This is for specific individuals, not shared licenses.

If you use Crystal 10 Developer edition, each developer will need his or her own copy of the software. Then, if your server is single processor, you can deploy your application with reports. At this link, I did not see a limit on the concurrent users, but I’m thinking it is five named users. I’m still a little fuzzy on this, but it doesn’t really matter for most folks, because I have to imagine that your servers are multi-processor. If that is the case with Crystal 10, then you need the Web Farm/Web Garden License. However, with the release of Crystal XI, that license becomes a moot point.

Keep in mind that for deployment with thick-client applications, there is not a licensing restriction; it’s just for reports that are used in web-based applications.

Crystal Reports XI

Crystal XI was released recently and it seems that the licensing department at Business Objects has heard what customers are saying. Depending on the version of Crystal XI that you purchase, you can now have an unlimited license for web applications that are deployed internally. In this case, if you purchase Crystal XI Developer edition, you now should not have worries about internal users getting bumped off reports. The actual wording in the license is as follows:

Crystal Reports Developer Edition provides the rights for unlimited internal corporate deployment of the Crystal Reports .NET, Java, and COM (RDC) report engine components

Keep in mind that this licensing is different for Crystal Reports Server XI. It looks like there are still some limitations on the number of users in Crystal Reports Server which uses the CAL for user licenses. Also, there is still a limitation if you are deploying these reports for external audiences.

Conclusion

Business Objects, and before that Crystal Decisions, have listened to their .NET customer base for a lot of different things in the past. Easier logging in using their object model and an improved viewer for Crystal 10 are a couple of improvements I have noticed over the past few years.

In the licensing area, Crystal XI is getting close to where I’d like to see it. The internal deployment licensing model can help anyone who is trying to sell their shops on using Crystal as the standard. I’d like to see the licensing be a little less complex, but then I’d like that for almost every software purchase I make.

Hopefully this helps to understand what options would help you in using Crystal in your ASP.NET application. Happy coding!



User Comments

Title: a   
Name: b
Date: 1/19/2006 2:06:03 PM
Comment:
Crystal 9; can you view how many applications are running and how many are trying to access
Title: Crystal Report 3 User Limit Challenge   
Name: Harrison
Date: 9/21/2005 11:01:03 PM
Comment:
I am also very eager know and can find no where for the answer. I did a simple stress test and run 10-20 reports at the same time.... of course, I have no idea what's happening behind the scene, the result was, all reports came out properly one by one.
On average each report take 15-30 second to execute in terms of SQL processing.
Title: Reporter   
Name: Harrison
Date: 9/21/2005 10:55:27 PM
Comment:
I am doing calling CR XI report in the RDC way, and I have installed a Developer Version on the WEB server for that purpose.

If I am upgrading to CR XI Server edition, what do I need to do with the current way of RDC calling? Is it a whole new way of calling report from ASP using Server edition?

Thanks.
Title: howto   
Name: drew
Date: 9/19/2005 11:55:36 AM
Comment:
How do you display the number of licenses available on the server?
Title: Crystal 3 user limits challenge   
Name: Dan Housman
Date: 9/14/2005 7:11:46 AM
Comment:
I am having trouble getting straight answers out of the Business Objects people about their licensing. They do market in their literature that there are rights to unlimited internal corporate deployment but on a call to their sales folks I get an answer that sounds more like there is a 3 user limit to the report engine component EVEN with the Crystal XI Developer or Visual Studio 2005 development tools. In practice I can't verify this performance limit since I haven't in testing the .NET components had any lock-up with the Crystal XI tools but I am concerned about implementing a Crystal XI based web application (without licensing their server tools) given that the application does need to scale to more than 50 users. Have you gotten any more conclusive evidence of their actual code limits? Despite being told there are limitations there is no documentation anywhere about what is really limited and when.

Basically - How can we reproduce a limitation on the merge module deployed components in Crystal XI? Has anyone?
Title: confused about licensing......while using .NET web application   
Name: shehla javaid
Date: 7/21/2005 2:15:55 AM
Comment:
i m still confused about crystal report licensing even after reading all above written. i m new to crystal report and internal and distributed deployment of .NET web applications confusing me alot. what if i develop a web application...deploy that of web server....and make that available over the internet to worldwide???? then how i gonna estimate the number of users and number of licenses i need???? plz help me out. i m making a proposal and need to discuss the posibilities with my boss soon. THANX ALOT
Title: CR XI licensing for the WEB   
Name: Kasi
Date: 7/8/2005 12:09:32 AM
Comment:
We purchased a Crystal report developer edition for a project and we wanted to deploy runtime license (we used COM ) for an external customer. We understand that our customer already have a developer edition with them. Can they install the necessary run-time components themself and we provide only our application components. Will our customer face any problem in licensing if they use their runtime for our application
Title: CrystalReport   
Name: Patil
Date: 4/23/2005 3:17:20 AM
Comment:
Hi
Any can solve my problem .i have problem with using crystal
Report.give me the proper code for that.
I hope i will get soon.

Regard's
Patil
Title: Crystal Licensing for Web Devs   
Name: Richard Dudley
Date: 3/29/2005 8:33:26 AM
Comment:
A couple of follow-up comments at http://blogs.aspadvice.com/rjdudley/archive/2005/03/28/3198.aspx.
Title: Re CR XI licensing   
Name: Brian Bischof
Date: 3/29/2005 1:44:42 AM
Comment:
The old licensing said that if you develop a web site and want to deploy it on different servers within the company, then you had to buy a separate license for each server. The new license gives you unlimited deployments internally. That is the key difference. Remember that if you want to deploy a web site to a client's server, then the client needs to purchase their own license.

Another thing to mention is that Crystal Enterprise 10 costs many thousands of dollars to deploy. CR Server XI can cost less than $7,000 via online distributors. This is a HUGE cost savings for companies. Oh yeah - you also get a free year of tech support. That's unheard of for Crystal Reports, but its true. These are big improvements over the prior versions and shouldn't be discounted.

The problem with getting a straight answer about licensing is that you have to make it clear whether you are talking about thick client or thin client deployment. I once had a conversation with them which got very heated. Only to find out later that I was discussing thick client licensing and they were discussing thin client and we didn't realize that we were talking about two different things.

Anyway, you are brave for venturing down the path of explaining CR licensing! Kudos. Let us know what you find out from BOBJ. :-)
Title: RE CR XI licensing for the web   
Name: Eric Landes
Date: 3/28/2005 10:14:22 PM
Comment:
Brian, if what you say is correct, then what's the difference between the old licensing and XI? I'm checking with the Crystal folks I know to see if they can clarify for me.
Title: CR XI licensing for the web   
Name: Brian Bischof
Date: 3/28/2005 6:44:40 PM
Comment:
The way I'm reading your interpretation of the license, I think this is incorrect re web development. The license states that the is unlimited corporate deployment of the report engine components. But the way I'm reading your interpretation you are saying that you "should not have any worries about internal users getting bumped." Being bumped deals with the number of simulataneous reports that can be processed by the engine. This is unrelated to how many copies of the web app can be deployed. Thus, even though you can deploy a web app multiple times, each instance of the web app is still limited to 3 (I think..) reports being processed. Otherwise, there would be no upsell to CR Server. If you don't need scalability and can keep your web app to 3 requests at a time, then you are fine. But once you need to process more reports simultaneously then you need to upgrade to CR Server. Also, CR XI Dev comes with a free license for CR Server with a "5 named user" license. This means that 5 user ids can be associated with CR Server without upgrading to the CAL license.

I hope this clears things up for such a confusing topic.

Brian Bischof
www.CrystalReportsBook.com

Product Spotlight
Product Spotlight 



Community Advice: ASP | SQL | XML | Regular Expressions | Windows


©Copyright 1998-2014 ASPAlliance.com  |  Page Processed at 10/25/2014 12:43:07 PM  AspAlliance Recent Articles RSS Feed
About ASPAlliance | Newsgroups | Advertise | Authors | Email Lists | Feedback | Link To Us | Privacy | Search