Crystal
Reports Training by Ken Hamady, MS, Reporting and Training Nationwide
Crystal v9 Application
Deployment Options:
You can deploy CRv9 in both
Client
Based Applications and Web Based Applications. Client Based Applications are
those
installed and run on the user's PC. Web Based Applications only
require
that the user have a browswer, and the application is run on a web
server.
Client Based
Applications using RDC:
CRv9 no longer supports the 4 integration methods that were available
in
prior versions of Crystal Reports. You are now limited to the
Report
Design Component (the RDC). The licensing for the CRv9 RDC is
similar
to v8.5. You can deploy a client based app to as many people as
you
want, with no fees or royalties required.
You have an added option of including Report Creation capabilities in
your
application. If you decide to use these functions, you have to
buy
end user licenses that cost $199 for each installation of your
application.
These calls are unavailable until you buy these licenses. With
v8.5
you could use the calls in your application, but you were supposed to
pay
royalties for each installation. There was only a "nag screen" to
remind
you of the royalty requirement.
Web Application Options:
There are 6 basic ways to do a web deployment:
1) The Report Designer Component (RDC):
You are also allowed to use the RDC on a web server. You can then
write
ASP pages to control the report through the RDC. Crystal recommends that you used
RAS (discussed below) instead. I was told that is because the RAS
processing fits better into the processing style of a web server.
I
was also told that upgrading an RDC application to a Crystal Enterprise
was
much more work than upgrading from RAS. So, those going to
Crystal
Enterprise would certainly want to user RAS.
However, some users might find an advantage in staying with the RDC -
especially
if they have an existing RDC Application. The RDC that comes with
the Developer Edition allows you to make some report modifications
(changing
a sort, a group or the selecton formula) at runtime. To make runtime
changes
like these with a RAS application would require that you upgrade to the
Advanced
Edition.
What isn't clear to me (yet) is how many users can be logged into a web
based RDC Application, at one time.
2) Crystal Enterprise RAS Edition with CR Proffessional:
The Report Application Server (RAS) Edition of Crystal Enterprise is a
brand
new product. It allows you to deploy reports on the web using a
prepackaged
interface called E-portfolio lite. This is much different from
the
ePortfolio that came for free with CRv8.5. The v9 version doesn't
include
scheduling, a Management Console, stored instances or even caching of
report
pages.
You can deploy a web
sites
with this edition, however, the performance will be severly
limited.
This is because the RAS Edition of Crystal Enterprise is limited to 3
simultaneous
browser activities, sometimes referred to as 3 'threads'.
This
means that you can only have 3 people actively requesting information
from
the report server. If a 4th person makes a request while the
first
3 are active, he will be denied.
First the good news. There is a difference between these threads
and the older CALs. A CAL was active as long as the person was
logged
into Crystal Enterprise, and the CAL even persisted for several minutes
after
the user was done. Threads are released as soon as the request is
complete. When you see the first page of your report, your thread
is
free for someone else.
Now the bad news. When your thread is released, your report is
completely
dumped from the server's memory. So, when you click to go to the
next
page, the server must generate the entire report from scratch,
including
a requery of the database. In other words, if I run a 4-page
report
and view all 4 pages I have made 4 requests and have 'hit' the database
4
times. When I then hit Print, I 'hit' the database again.
This
is what CD means when they say that the Professional or Developer
editions are intended for testing rather than deployment. You can
deploy them, but you may not like the performance. If you upgrade
to the Advanced Edition discussed below, you get a chaching, which
solves this problem.
There is another limitation on performance if you are trying to deploy
with only the Professional or Developer Editions. When your 3 threads
are
used up, the 4th person is denied. So 20 users can be looking at
pages
in preview, but if 4 of them change pages at the same time, one of them
will
be denied and will have to try again. If you upgrade to the Advanced
Edition
discussed below, the
4th
person and others are put into a queue and are processed as soon as a
slot
is freed.
3) Crystal
Enterprise
RAS Edition with CR Developer:
If you buy the Developer Edition of CR you get everything mentioned in
the last section (CR Professional) and in addition you get a 'base'
level SDK. This allows you to launch a report from code
(Java/Com/.NET) and pass parameter values to the report,
including Logon Parameters. You also have a prebuilt user
interface called ePortfolio lite which you can customize. Some
developers may assume that you can change a sort, change a group, or
pass a selection formula to the report at runtime. However, these
features are not supported until you get to the Advanced Edition.
4) Crystal
Enterprise
RAS Edition
with
CR Advanced:
If you want to deploy a web application you can Upgrade to the new
Advanced Edition. What do you get for the extra $1,645? The
4 most importan
things are:
A) Your report server will now queue users. This means that
instead
of your 4th active request being denied, it will be put in a queue and
will
be processes as soon as there is an open thread.
B) Your report server will now cache your report pages, so that you can
page
through a report or print a report without the server having to hit the
database
for every page. Caching can even reuse a report instance for
another
user. So if 2 people request the same exact report within a
few minutes, the second person will get the report that was generated
by
the first person. I was told that a report is cached for 20
minutes
by default, and that this cab be changed by the RAS Administrator.
C) Advanced also
provides
additional API calls for programmers. These allow you to make changes
to
reports at runtime like changing a sort, changing a group, changing a
formula
or changing the selection formula. These options were available
with
the Developer Edition of CRv8.5, but that is no longer the case.
You
now have to upgrade to the Advanced Edition to use these functions.
If the Advanced Edition has
the
features you need, but you don't want to be limited to three threads,
your
only option (currently) is to bump up to an unlimited processor license
for
the RAS. Then the number of active process (threads) is
limited
only by the amout of processing your server can handle. The
processor
license lists for $25,000 but this may be negotiable with your
reseller.
D) The Advanced
Edition
also includes "Report Creation" functions that you can put into your
web
application. These allow an end user to modify a report or even
create
a new report using a wizard. Crystal has writtten a sample
application
to highlight this feature called the DHTML Web Wizard. You can
use this
as it is, or as a starting point for your own application. This
sample
application comes on the RAS Edition CD that comes with V9, but you are
not
allowed to use this functionality unless you upgrade to the Advanced
Edition.
5) Crystal
Enterprise
v9 Standard Edition: (optional free uprade from CR Advanced -
allows
5 unnamed users)
If you upgrade to Crystal Enterprise Standard v9, you have the same
features
that you can get with CE Standard v8.5. This includes the
Management
Console, report scheduling and the ability to save and manage instances
of
reports. There is no built in security, but there are
third
party tools that allow user, group and even row level security.
See
my LINKS page for third party tools.
6) Crystal Enterprise v9 Professional Edition (optional free upgrade from CR
Pro,
Dev or Advanced - allows 5 named users):
By upgrading to the Professional Edition of Crystal Enterprise you get
a full security model. You can have named users and groups with
different levels of access. You can upgrade further to provide
certain users
the ability to do ad hoc reporting, called Smart Reporting.
One note for
developers that have used Crystal Server Pages (CSP) for developing
applications. You will no longer need to use CSP. The RAS
Edition SDK supports ASP, Java or .NET. CE will also
allow you to program in the
languages above. Crystal has found that people want to run their
own app server. CE Standard / Pro supports CSP but the RAS
Edition
does not have the CSP procdessing engine. CSP will not be
emphaisized
in CE Standard / Pro.