Posts Tagged ‘SDK’

Manually Starting Services

September 19th, 2008 4 comments

Even though the SIA has been setup to automatically start services, another alternative is to control the starting of these services through scripts. One colleague of mine setup his BusinessObjects Enterprise SIA so that only the CMS and the FRS Input and Output services started up automatically.  All other services were setup to start manually.

In his experience, this made the starting of the SIA require less resources making startup (even) less error-prone that it already is.

Batch File for Starting Services

Below I have included all the contents of the batch file which you can download here.  Enjoy…

«Good BI»

:: Cleaning up
del /f /q "C:Program FilesBusiness ObjectsBusinessObjects Enterprise 12.0Logging*.log

:: Starting up dependencies
net start "SQL Server (MSSQLSERVER)" 

:: CMS configured to startup automatically with SIA
:: See Control Panel Services for startup configuration (automatic)
net start "Server Intelligence Agent (cdi6BOE)"
net start "Apache Tomcat 5.5.20"

:: add timeout to allow CMS to initialize
:: sleep 90

cd "C:Program FilesBusiness ObjectsBusinessObjects Enterprise 12.0win32_x86"
:: CMS and FRS configured to startup automatically with SIA
:: (CMC > Servers > Properties)
:: ccm.exe -managedstart cdi6BOE.CentralManagementServer
:: ccm.exe -managedstart cdi6BOE.InputFileRepository
:: ccm.exe -managedstart cdi6BOE.OutputFileRepository
ccm.exe -managedstart cdi6BOE.AdaptiveProcessingServer
ccm.exe -managedstart cdi6BOE.DestinationJobServer
ccm.exe -managedstart cdi6BOE.EventServer
ccm.exe -managedstart cdi6BOE.ProgramJobServer
ccm.exe -managedstart cdi6BOE.PublicationJobServer

:: Crystal Reports
ccm.exe -managedstart cdi6BOE.CrystalReportsCacheServer
ccm.exe -managedstart cdi6BOE.CrystalReportsJobServer
ccm.exe -managedstart cdi6BOE.CrystalReportsProcessingServer
ccm.exe -managedstart cdi6BOE.ListOfValuesJobServer
ccm.exe -managedstart cdi6BOE.ReportApplicationServer

:: Desktop Intelligence
:: ccm.exe -managedstart cdi6BOE.ConnectionServer
:: ccm.exe -managedstart cdi6BOE.DesktopIntelligenceCacheServer
:: ccm.exe -managedstart cdi6BOE.DesktopIntelligenceJobServer
:: ccm.exe -managedstart cdi6BOE.DesktopIntelligenceProcessingServer

:: Performance Management
ccm.exe -managedstart cdi6BOE.DashboardAnalyticsServer
ccm.exe -managedstart cdi6BOE.DashboardServer
ccm.exe -managedstart cdi6BOE.PMMetricsServer
ccm.exe -managedstart cdi6BOE.PMRepositoryServer
ccm.exe -managedstart cdi6BOE.PMRulesServer
:: ccm.exe -managedstart cdi6BOE.PredictiveAnalysisServer
:: ccm.exe -managedstart cdi6BOE.ProcessAnalysisServer
:: ccm.exe -managedstart cdi6BOE.SetsProfileServer
:: ccm.exe -managedstart cdi6BOE.SetsQueryServer

:: Voyager
:: ccm.exe -managedstart cdi6BOE.MultiDimensionalAnalysisServicesServer

:: Web Intelligence
ccm.exe -managedstart cdi6BOE.AdaptiveJobServer
ccm.exe -managedstart cdi6BOE.WebIntelligenceProcessingServer
Categories: Administrators Tags: , , , , ,

Can I Upgrade My Crystal Reports?

March 5th, 2008 15 comments

Crystal Reports you say? What version? It’s embedded in your application? How is it embedded? What does it do? Do you know what Developer Libraries they used? SDK? What? Who? When?

To be honest, the reason I joined Crystal Decisions all those many years ago was because of Crystal Reports. I’d used Crystal Reports may times in the past and I’d always been amazed at how easy it was to use. I was an old ISAM guy, so the fact that this tool could write SQL was pretty cool. (of course now I know that it’s not as good at writing SQL as other tools, but ignorance is bliss.) When I found an opportunity on HotJobs for a Presales Consultant I jumped at the chance. I’d always worked at small companies with < 150 employees and now – wow – I could get a chance to help sell a product that just about everyone in IT has heard of.

Why has everyone heard of it? Because it’s everywhere. The one good thing about Crystal Reports is that Greg Kerfoot knew the power of market share, so he bundled packaged, included, gave away, OEM’ed, shipped, advertised Crystal Reports in every way, shape and form. It really became a household name. A true reporting standard. Long before anyone ever thought of the term Business Intelligence, Crystal was blazing a trail, which brings me to my question at the start of this blog.

Can I Upgrade My Crystal Reports?

The great thing about Crystal is that it’s everywhere. My first few months at Crystal Decisions I learned that customers had developed all kinds of crazy ways to use Crystal Reports and I needed to understand how they might use it so I could help them… especially as the web was now in full swing and people were wanting to web-enable their old Visual Basic applications.

Well, here is a summary of what I’ve learned over the years regarding Crystal Reports. There were a lot of different SDKs (Software Developer Kits) that were introduced over the years. As technologies changed, so did the libraries available to developers for creating applications. Here is a timeline of these changes.

The Bad News

The RDC, the most popular of the SDKs available for Crystal Reports has been depreciated and will not ship with XI 3.0. Although we introduced a new web-client centric SDK in 2002 with the advent of Crystal Reports 9 and Visual Studio .NET many customers have been slow to modify their legacy applications. When moving for RDC to one of the new APIs, you must rewrite your application.

Just like all other code migration from Visual Basic 6 to the .NET Framework, recoding is necessary when migrating from the Report Designer Component in Visual Basic 6 to Crystal Reports .NET. This is because of the new .NET APIs, which vary from the COM APIs.

One of my favorite stories was from back in the Crystal Reports 8 days. I remember visiting a customer who was complaining the Crystal was crashing. I went onsite and in those days if a machine has an IIS server on it, you could access Crystal Reports through the ActiveX viewer by referencing the report in a shared directory. This customer was running 120 concurrent users on a single CPU machine!! They had purchased a $500 piece of software and were serving up reports to thousands of end-users. No wonder the machine was falling over. That poor DLL was getting hammered. (Fortunately in Crystal 8.5 we limited the number of concurrent threads to 5 and no one complained that “Crystal was crashing”. Now it was time for us to collect… because before the 5 concurrent users had been a paper license).

Here is an example posting on Diamond for someone who can’t find all his old RDC features in the new RAS SDK.

The Better News

Crystal Reports continues to provide a RAS SDK as part of the Crystal Reports Developer Addition. This RAS SDK can be used to both embedded as well as managed report environments. An embedded environment is when you manage all the Crystal Reports content yourself through your application. This may be convenient but means there is a lot more work for the developer to do around managing content, scalability, etc.

Note: Consider carefully whether you will use embedded or managed reporting for your development product because the SDKs calls will vary slightly depending on which you use. In any case, make sure and encapsulate your logic around user authentication and opening reports. If you do need to change from embedded reporting to managed reporting, HERE is an excellent whitepaper that walks you through the process.

Originally we followed Microsofts lead my offering a web farm/web garden license, but that just got confusing. Now we make it a lot easier.

If you use Crystal Reports in an unmanaged mode, you will have a limited number of threads you can use. In some cases we offer packages with increased threads (For example we used to offer Crystal Enterprise Embedded which provided more capacity. This is no longer available outside of our OEM channel.) In all other cases, you will need to move to a managed reporting model. That means you will need to move the processing of the Crystal Reports off your application and onto a secondary service which will handle the report processing for you.

The introductory version of this server is called Crystal Reports Server.

The Best News

The best news is that once you move to managed reporting you can upgrade to more and more capabilities within our server product family. Crystal Reports Server is the introductory product. The other levels are:
  • BusinessObjects Edge Standard
  • BusinessObjects Edge Professional
  • BusinessObjects Edge Premium
  • BusinessObjects Enterprise Professional
  • BusinessObjects Premium
  • BusinessObjects Premium … plus add-ons
For Midmarket and Enterprise customers respectively.
And Remember the old ActiveX Viewer?
It used to be the only viewer. But now it’s a new day. I strongly recommend you try to stay away from the ActiveX viewer if possible. Although it’s not officially deprecated, it is legacy technology and it not supported with some of our latest developments (e.g. web services SDK). If you can avoid using it, I would. If you can’t, I’d like to know why.