Archive

Posts Tagged ‘SDK’

Embracing the Cloud for Analytics – Part 2

May 18th, 2017 No comments

In the other two blogs related to this post series are here:

So now that you’ve got an SAP Cloud Platform account, we want to start uploading some data to it.

Although the SAP Cloud Platform provides a good web interface for connecting working with data in the cloud, my personal preference is to use the Eclipse IDE.  In this blog I want to show you how easy it is to set up the eclipse client so that you can access your HANA database in the cloud and start loading some data.

Installing Java and Eclipse for SAP Cloud Platform

I found that this handy video from Dan Grissom which walks through the configuration process for downloading and installing Eclipse on Windows 10.  It will automatically give us the latest versions of all the software.

It uses a website called Ninite which creates a custom installer for the products you wish to install.  This video will show you how to:

  1. Download and install the required Java JDK components.
  2. Download and install Eclipse.

If you would rather install the components manually, I recommend you follow this step by step tutorial within the SCN.  (Below I will pick up step 8 of the tutorial)

Here is a handy wiki page if you have challenges during the installation.

So now that we’ve got the Java and Eclipse components installed, let’s continue.

Configuring Proxy Settings in Eclipse

If you are running within a corporate environment, you may also need to configure proxy settings for Eclipse.  You can change your proxy settings by accessing Windows > Preferences.

This will open up the following Preferences Screen.. Under General > Network Connections you will find these settings.  You can also find it by typing “Network” into the filter/search bar.

Configure Your Manual Connection for your Corporate Proxy

Under Active Provider choose Manual.  Next select the first Schema HTTP and choose edit.  Add in the name of the host and port in the space provided.  Because I work at SAP, my settings are proxy 8080.

Set your Proxy Entries to connect through a corporate firewall

Choose okay and do the same process for HTTPS.

Once complete your settings should look something like this:

Confirm your settings for Manual

Once the proxy is configured you can switch back and forth between Manual (I’m in the office and need proxy) and Direct (I’m outside my proxy environment).  Now we are ready to install the SAP Cloud platform tools into Eclipse.

Installing the SAP Cloud Platform tools for Java

Choose Install New Software:

Help > Install New Software

and copy the following URL

https://tools.hana.ondemand.com/neon

into the software list.

Pull the SAP Cloud Components directly from SAP

From here you can choose to install as much software as you want but we only need the SAP HANA Cloud Platform Tools, so select this option and choose Next.

Select SAP Cloud Platform Tools

After accepting the license agreement, Eclipse will ask you to restart.  We’re almost done.

Download and install the SAP Cloud Platform SDK

Next, we need to download the install the SAP Cloud Platform SDK.  This can be downloaded directly from the SAP Cloud Platform Tools site:
https://tools.hana.ondemand.com/#cloud

SAP Cloud Platform SDK

The SDK comes in different flavors:

  • Java Web: Provides a lightweight runtime supporting a subset of the standard Java EE APIs (Servlet, JSP, JSTL, EL). Currently there is a 1.x version of this runtime available
  • Java EE 6 Web Profile: Provides certified support for the whole Java EE 6 Web Profile APIs. Currently there is a 2.x version of this runtime available
  • Java Web Tomcat 7: Provides support for some of the standard Java EE APIs (Servlet, JSTL, EL). Currently there is a 2.x version of this runtime available
  • Java Web Tomcat 8: Provides support for some of the standard Java EE APIs (Servlet, JSTL, EL). Currently there is a 3.x version of this runtime available

For our exercise we will select and download Java Web.

After it has been downloaded, place it into the appropriate directory. In my case I created a directory called, C:\dev\ and then extract the contents of the .zip file.  So my directory looks like this:

Extracted SDK

Next we will need to associate this Java Web SDK with Eclipse so the software components installed with Eclipse can access them.  Choose Window > Preferences.

Edit Eclipse Preferences

Choose Server > Runtime Environment. Click the Add… button to open the New Server Runtime dialog.

Select Java Web from the list of Environments

 

Scroll down and select SAP > Java Web from the list of Server Runtime Environment(s) and click Next.

Provide the folder to which you have extracted the SDK by clicking the Browse… button and choosing the respective folder, e.g. c:\dev\neo-java-web-sdk-1.127.11.

Select the SDK root directory

Click on Finish.

We have now installed the SAP Cloud Platform Tools for Java and are ready to start using Eclipse to connect to HANA within the SAP Cloud Platform.

Connecting to HANA

First, make sure your HANA instance is running in the cloud before you attempt to connect to it.   In my previous blog I shared that your trial HANA account is only allow the database to run for 12 hours before it is shuts down so sometimes you may forget to restart your HANA database when going into Eclipse.  To confirm your database is running, log into the SAP Cloud Platform via the web and check the database status.  Before you begin this step, confirm that you SAP HANA database is running by logging into your SAP Cloud Platform and verifying the status.  If necessary start the database.  (Remember to refresh the screen since the screen does not refresh automatically.)

Once you have confirmed your HANA instance is running, you can continue.

First let’s switch to the HANA Administrative Console Perspective within Eclipse by choosing:  Windows > Perspective > Open Perspective Other.

Select the Administration Perspective

From here we can add a new HANA system to our Admin Console.  Choose Add Cloud System…

Select Add Cloud System…

From here, how we fill out this section will depend on your account.

Landscape Host:  This is the URL of your SAP Cloud System.  To determine the user for your account, it should the root URL less the “account.” at the beginning of the URL.  For example:

  • Trial accounts (https://account.hanatrial.ondemand.com/) would have a host landscape of https://hanatrial.ondemand.com/
  • US Ashburn data center (https://account.us1.hana.ondemand.com) would have a host landscape of https://us1.hana.ondemand.com/

Account Name:  This is the Account name associated with your username and password.  You can see this by logging into your SAP Cloud Platform account and looking at the menu bar.

  • Standard Trial accounts: pXXXXXXXXXX6trial, for example p1942629386trial
  • SAP Employee Trial accounts: iXXXXXXtrial, for example i817400trial
  • Non-Trial accounts can be anything, e.g. presales

Find the Account Name

User name:  This is the name you will use to access the SAP Cloud Platform.  This is typically the same name as the account name but without the “trial” at the end.

  • Standard Trial accounts: pXXXXXXXXXX, for example p1942629386
  • SAP Employee Trial accounts: iXXXXXX, for example i817400
  • Non-Trial accounts this is the name of the SubAccount.  for example b0b8e5ce5. Always check the subaccount information to be sure as in the screenshot below:

From with SAP Cloud Platform you can see these values

Password:  This will be the password you use to log into the SAP Cloud Platform.  If you are an SAP Employee and SSO is used to access the SAP Cloud Platform, you will use your corporate password.

Here is are two examples.  This is what an SAP Employee might see:

Example SAP Employee Setup

This is what other trial accounts look like:

Example Standard Setup

Selecting the HANA Database

Once this information has been entered correctly, you will be prompted to select the database, username and password.

  • Database:  Select the correct HANA database from the drop down.  In my case, my current HANA database is called demo.
  • Username:  This is the username for the HANA database.  This will typically be SYSTEM.
  • Password:  The password you assigned to the HANA database user.  This is typically the password for the SYSTEM user.

Now Enter the Database details

After your database is added, it will be added to the Systems list on the left.  In my case I added three different HANA instances from three different cloud accounts to my Eclipse environment:

Connections to 3 different cloud HANA instances

Loading Data Into HANA

So next, let’s get some data loaded.  One of the easiest ways to import data into HANA is to use a spreadsheet.

If you want to follow along using my dataset, you can access it here, Insurance Data.  Otherwise feel free to use your own data set. I should warn you that the HANA data import is not the most robust data import tool depending on what data formats you are using, etc.

To start the process, choose File > Import:

Select File > Import… from the menu

We want to import file data, so let’s choose Data from Local File from the list.

Scroll down to SAP HANA Content > Local File

Next select the name of the HANA System that you want to use to load the data:

Select the Target System for the data

Choose a local Excel file and load the data and specify the target schema and table name.  Here I am going to create a new table:

Importing the sample Insurance data

Click Next.

You may want to modify some of the data attributes since the import tool is making a best guess based on a sample of the data contained within the file.  For example I rounded up the text length of most of the fields and changes all the Decimal fields to Decimal(10,2).  We can adjust that here.

Here are some of the schema adjustments I made

Click Finish to begin importing the data.  After the load is attempted refresh the view on the left so that the new database you created will appear under Catalog > (Selected Schema) > Tables.  You can do this by right-clicking on the schema and selecting Refresh.

Right-click and choose Refresh

If the load was unsuccessful, then make the appropriate changes, delete the empty table and try the load again.  Most commonly there was a problem with the default schema that HANA used based on the data sample.  The Job Log window at the bottom of the screen will tell you whether or not the data load was successful.

Job Log provides a status

Once the load is complete, preview the data within Eclipse by right-clicking on the table and choosing Open Data Preview.

Here you can see the data you just loaded

We can begin to do some initial data quality checks.  Click on the Analysis table to switch to the Analysis view:

HANA allows you to analyze your data in place

Choose Analysis and drag Product into the Label Axis and Total Profit into the Values Axis.

Products by Revenue

Feel free to play around with the Analysis features.  They are quite robust and allow you to change chart types, add filters.  Here I switched to a bubble chart and updated the view to include  Customers by Customer Discount, Product Discount and Total Profit.

bubble chart

If you want to run some of your own SQL queries you can do that tool by right-clicking on the schema and selecting Open SQL Console from the menu option.  If you have more questions about how to use SQL with HANA, there are a series of great videos available here.

Conclusion

We completed the configuration of the desktop tools which provide us an alternative to the WebIDE experience that is available by default with the SAP Cloud Platform.  Eclipse is a terrific development environment for your Analytics team when it comes to managing and modelling your data within the SAP Cloud Platform.

Next we will want to connect our SAP Analytic tools to our data that resides within HANA and setup the automated ‘refresh’ of data from on-premise systems into the cloud.

«Good BI»

 

 

 

Crystal Clarity for BusinessObjects and Visual Studio .NET

March 16th, 2011 No comments

Did you ever read Sherlock Holmes when you were a kid?

…or maybe CSI:Miami is more your style.

Sometimes as I work with software I find a mystery.  A mystery so unusual that I have to go searching for the answer.  At the beginning, I always assume that I know what the outcome will be, but on more than one occasion I’ve been hit by a twist at the end.

Today, my mystery surrounds Visual Studio .NET and the SDKs from BusinessObjects.

The Mystery

One of the ideas I have been promoting for a very, very long time was the idea that organizations should offload all their reporting to an Enterprise Reporting environment like BusinessObjects Enterprise and allow their .NET developers to do the real work of building complex, custom applications.  This is the best way to allow your .NET applications to scale and do what they are good at (building applications), while your reporting environment can scale and do what it’s good at (delivering insightful, actionable reports).

Earlier this week however, my customer intrigued me with a question:

“When we moved to the new release of Visual Studio, we found ourselves running into compatibility issues with the BusinessObjects XIr2 SDK.  Will we have the same compatibility issues with Visual Studio and  XI 3.1?”

My Surprise

As I dug a little deeper I discovered that this customer has significantly curtailed their use of the BusinessObjects SDKs because they wanted to use Visual Studio 2008 and BusinessObjects XIr2 didn’t support Visual Studio 2008.  They moved to Visual Studio 2008 but were only using opendocument to link to new report (instead of using the embedded Crystal Report Viewer) and they had built a custom Web Service to enable scheduling of reports (instead of using the Platform SDK).

Although I am not a developer, I was somewhat surprised at this problem.  I hadn’t done any SDK work since using the COM SDK in Visual Basic 6.  Even then I was just building a few examples.  Nothing big.  All a developer needed to do was point the Studio to the appropriate BusinessObjects Enterprise DLLs and he was off and running.  So what’s the problem?  I needed to investigate.

Was there really an incompatibility or had they missed something?

The Investigation

I started checking the forums and sending out emails to the top tier folks to see what they could tell me and the answer I got back was a complete twist from what I had expected.

First of all, there is a big difference between leveraging Crystal Reports embedded within a .NET application to provide reporting and using our .NET SDK to help provide a scalable, enterprise class reporting for your .NET applications.  I explain the difference in significant detail here:
http://www.trustedbi.com/2008/09/26/crystal-reports-embedded/

Embedded Crystal Reports

For embedded reporting, customers typically would get a free version of Crystal Reports embedded within the Studio IDE.  This version would have a lot of functionality, but the developer could always get even more features, if he paid more $money and purchased the standalone version of Crystal Reports.

NOTE:  These stand-alone versions allowed users to create .rpt files
outside of Visual Studio.  It also meant that less technical users
could build reports for the .NET applications.

It’s important to understand whether or not you are using the ’embedded’ version of Crystal Reports.  If you are doing all your report design from within Visual Studio only, then you are using the embedded report designer.  By definition the embedded report designer is always compatible with the version of Visual Studio it was shipped with.

Starting with Visual Studio 2010, Crystal Reports is no longer included “in the box”, however it is still available as a free download.  Crystal Reports for Visual Studio 2010 supports Visual Studio 2010 only and Microsoft framework 2.0 and higher- Link to PAR

For the best, most up-to-date information about Crystal Reports for Visual Studio 2010 go to:
http://www.sdn.sap.com/irj/sdn/crystalreports-dotnet

So to be clear, in order to get support for Visual Studio 2010, you need to download Crystal Reports for Visual Studio 2010.  This is the embedded version of Crystal Reports which works with Visual Studio 2010.

Stand-alone Crystal Reports

So now what about those customers who decided to purchase the stand-alone version of Crystal Reports.  What versions of Visual Studio is their Crystal Reports compatible with?

The stand-alone version definitely provides you more functionality.  It allows someone else to create a standalone .rpt file.  The developer can then include the report in his Visual Studio project.  However, not every version of Crystal Reports is compatible with every version of Visual Studio.  You need to make sure that these stand-alone versions are going to be compatible with the report rendering engine that is embedded within Visual Studio.  This rendering engine is what converts the .rpt file to .html during runtime.

Each version of Crystal Reports has an associated supported platforms document or PAR/PAM.

Standalong CR Designer Microsoft Suite .NET Framework PAR/PAM
Crystal Reports XIr2 SP6 Visual Studio 2002, 2003, 2005 Framework 1.0, 1.1, 2.0, 3.0 Link to PAR
Crystal Reports 2008 SP3 Visual Studio 2003, 2005, 2008 Framework 1.1, 2.0, 3.0, 3.5 Link to PAR

Here is another great matrix you should reference:
https://wiki.sdn.sap.com/wiki/display/BOBJ/Which+Crystal+Reports+assembly+versions+are+supported+in+which+versions+of+Visual+Studio+.NET

NOTE: Crystal Reports 2011 is currently in ramp up and does not yet support
Visual Studio 2010 or the 4.0 Framework.

Crystal Reports & BusinessObjects Enterprise

So this brings me to the situation my customer was asking about.

What if we are a customer who has implemented BusinessObjects Enterprise XI and all the reports are stored within the BusinessObjects Repository?  What support do we have from a Microsoft Visual Studio perspective?

In this situation I initially was unable to get the same clarity I did in the previous two scenarios.  There is no reference to Visual Studio within the BusinessObjects SDK PAR documentation that I could find.  In addition, if you are only using the BusinessObjects Enterprise SDK, then surely Visual Studio would be upward compatible.

As I checked the BOB forums, I did find that some folks had run into problems.

Word of Wisdom:  Do not upgrade to a new version of Visual Studio until you are sure that the compatible SDKs are available from SAP.

Let me say that again.  You should ASSUME that Crystal Reports is NOT compatible with new versions of Visual Studio.  This is due to the fact that there are Crystal Reports controls which are part of the Visual Studio IDE.  Therefore be very careful and always read the PAR.  Repeat:  Always read the PAR.

So, it’s pretty clear when it comes to Crystal Reports, but what about the BusinessObjects Enterprise SDKs alone?

You will notice that there is no mention of Visual Studio in the BusinessObjects Enterprise PAR documents.  This is because there are no embedded BusinessObjects Enterprise components in the Visual Studio IDE as there are for Crystal Reports.  Because of this looser form of integration between .NET and the Enterprise SDK, it is possible to support more variations of .NET and Framework versions.

NOTE:  Know that when you install the BusinessObjects Enterprise SDK for .NET,
the installer installs a new Crystal Viewer SDK.

For BOE XI 3.1 Platform PAR, it shows that .NET Framework 3.5 is supported, and not 4.0.   NOTE that it is shipped with the Visual Studio 2008 redistributable package, therefore use Visual Studio 2008.  Also in BOE XI 3.1, the SDK is installed in a common directory.  By default the directory is:
C:/Program Files/Business Objects/common/

Do know that it’s possible that when you upgrade to a new version of BusinessObjects, there may be issues with trying to connect to a older environment.  It shouldn’t be a problem, since there are other applications such as the Import Wizard, which are able to connect to an older CMS as well as the current environment, but that wasn’t the case for this user:  XI 3.0, .NET SDK and Visual Studio 2008….GRRR!

Although BusinessObjects BusinessIntelligence v4.0 is still in ramp up, early indications are that it too will ship with the Visual Studio 2008 redistributable package.

Compile Time vs. Run Time

After several conversations with technical support, I also found that there were some important differentiations to make between Compile Time and Run Time development and which .NET framework is supported.  Let me summarize how these scenarios are supported so there is no confusion.

BO Version Compile Time Framework Run Time Framework
BusinessObjects XI 3.1 VS 2005 or VS 2008 

Supports .NET 1.1 Framework ONLY.

Anything else may result in compiler errors

Framework 1.0, 1.1, 2.0, 3.0, 3.5
BusinessObjects v4.0 VS 2005 or VS 2008 or VS2010 

Supports .NET 2.0 Framework or higher.

Does NOT support .NET 1.1

Framework 1.1, 2.0, 3.0, 3.5

Supporting Escalations

I strongly recommend you call technical support and get clarification about your combination of products and whether or not they are supported.  If you have a problem and it appears to be a bug, engineering will only support it if it can be reproduced on a supported configuration.  Make sure you ask support whether or not you are on a supported platform.

NOTE:  You will also find that your bug will need to be reproduced
in either C# or Visual Basic .NET to be addressed by technical support.

My Advice

At the end of the day, check and double-check the PAR.  You can find them on SDN here or on the Support Portal here.

Clearly if you are going to use the Crystal Reports Viewer embedded within Visual Studio, then you need to check compatibility with your version of Visual Studio and of the .NET Framework.  Be very careful.

If on the other hand, you are only using the BusinessObjects Enterprise Platform SDK, then you are much safer ground.  In other words, if you chose NOT use the Crystal Reports Viewer embedded within your Visual Studio application and only opendocument, you can avoid the most significant incompatibilities between BusinessObjects/Crystal Reports and Visual Studio.

Before You Upgrade

Do not upgrade one part of your infrastructure unless you are sure that this does not include impacts in other places.  Do not upgrade versions of operating systems, databases, development platforms, etc. without fully considering the repercussions across your entire environment.

Sometimes you can get away with an unsupported configuration and not have any problems.  SAP is working hard to keep up with all the changes being made by our technology partners, but do understand that if you are want to use the latest and greatest development solutions from Microsoft, you may need to upgrade your entire BusinessObjects environment as well.

If your BusinessObjects environment is 3 years old, the chances are your Microsoft development environment will need to be 3 years old as well.

«Good BI»

There has always been confusion related to .NET framework for compile time and runtime.

I did not go through the whole thread though, let me summarize it below on what I understood. Feel free to query further.

XI3.1

o supports .NET 1.1 framework COMPILE time only

o A customer using anything else for compile time will result in compile errors.

o In VS version 2005/2008 ( supported for XI3.1), one has to select compile using 1.1 only.

o Above created project can be run in any .NET framework till 3.5 ( runtime support)

XI4.0

o Supports .NET FW 2.0 and above ( till 3.5) COMPILE time

o Does not support .NET FW 1.1

Where is Query Builder?

June 16th, 2010 1 comment

Last week I watched Forrest Gump with my kids and when talking with a customer today was reminded of his phrase, “Life is like a box of chocolates, you never know what you’re gonna get.”  Sometimes it’s the same with a new release and the sample content… you never know what you are going to get.  The customer was at XI 3.1 and asked:  What happened to the old Launchpad and Query Builder from XIR2?

Forrest Gump, Chocolates

Good-Bye Launchpad

The Launchpad was a default landing page that would allow an administrator to access the CMC, ePortfolio/InfoView and other sample SDK applications in one place.  This landing page was an HTML page that was part of Crystal Enterprise and was included in the XI release.  In XI 3.0, this Launchpad was discontinued.  Instead, users and administrator are provided up to three direct URL links:

  1. BusinessObjects Enterprise Central Management Console, http://boserver:8080/CmcApp
  2. BusinessObjects Enterprise Java InfoView, http://boserver:8080/InfoViewApp
  3. BusinessObjects Enterprise .NET InfoView, http://boserver/InfoViewApp/logon.aspx
NOTE:  The URL's are CaSE SEnSITivE on Java.

I’ve also been told that unlike in the past where the default URL changed for every release, this won’t be done in the future.  I chuckle to myself when I remember: enterprise10, enterprise11, enterprise115… if you don’t know what I’m talking about, you’re probably better off. 😉

Hello, Sample Applications

So what about the sample applications.  Where are they today?

The Query Builder application is the only sample application that continued forward with XI 3.0.  You can access this application if you are using a Java Application Server.  The URL is:

  • Query Builder, http//boserver:8080/AdminTools/
Query Builder Screenshot

Query Builder Interface

Once you log in via the interface, you will see the familiar Query Builder application interface.  It’s a great little sample application.

You can also find other sample applications published on SDK library on SDN.

Bring On XI 4.0

XI 4.0 will go into ramp-up (limited release) later this year.  I’m looking forward to seeing what new things we’ll discover in the samples that are provided there.  🙂

«Good BI»

Cool Dashboards from ProMorphics

May 31st, 2010 No comments

Although I’ve worked in a number of different industry verticals, I’m currently focused on the Utilities vertical.  I’m always on the look out for great dashboards and I found some!  I want dashboards that combine the best features of Xcelsius together with amazing usability and depth of function.  My latest discovery is from ProMorphicsProMorphics is a services organization and they have been a member of the SAP Ecosystem for a number of years.   I recently got a chance to view the results of some of their compelling dashboards  and the results speak for themselves.

When I spoke with ProMorphics they talked about their commitment to listen to the customer and to go the extra mile.  They’ve been extremely successful at using Xcelsius as a prototyping/rapid development tool so that they can get feedback and turn the results around extremely quickly.

Their sample dashboards focus on these three areas:

  • Environmental Health and Safety (EH&S)
  • Field Operations
  • Sales and Financial Performance (Peek Performance)

If you work in a utility related industry, you may want to engage ProMorphics and leverage their expertise.  It’s not surprising that 70% of their business comes from repeat customers.

ProMorphics Operations Dashboard with Custom Xcelsius Controls

Interactive Demos

Although ProMorphics does not allow you to download their .xlf files, you can view the dashboards via the following website:
http://www.promorphics1.us/22/interactivedemos/demos

Here is a 10 minute video walk-through of their Peak Performance dashboard with Kasia Szewczyk
http://www.promorphics1.us/29/audiovideo/recording

Conclusion

It’s always good to see partners who exploit all the features within a solution.  In the screenshot above, you can see how they have built Google Map integration as well as a custom calendar control.  These are examples of custom Xcelsius controls written in Flex.  I saw example after example of custom controls, developed to make sure they gave the customer exactly what they wanted.  If you engage ProMorphics in a project, they will also make these custom Xcelsius controls available to you.  Some partners like Centigon Solutions do allow you to buy their Xcelsius controls separately but ProMorphics currently does not.

«Good BI»

Categories: Dashboards, Partners Tags: , ,

Crystal Reports Embedded And Its Limitations

September 26th, 2008 19 comments

So you may be asking…

What is Crystal Reports Embedded? Crystal Reports embedded is an architecture which allows the Crystal Reports Rendering engine to run within the confides of the application environment.  BusinessObjects provides a .NET runtime and a Java Report Component (JRC) which allows developers to embed Crystal Reports in their applications.  Crystal Reports Embedded is included free with every version of Crystal Reports we sell.

So why do I need Crystal Reports Server or BusinessObjects Enterprise?  Well, that leads me into a discussion of the limitations that existing within the “free” embedded report architecture.

Limitations of Embedded Reporting

The current Crystal Reports Embedded Runtime is limited to three concurrent user requests (e.g. three simultaneous processing threads).  These threads are queued such that if the .NET application requests a 4th thread, it must wait until one of the existing three completes before it will be processed by the embedded engine.

Here is a quick view of the Embedded Architecture:

In case you were not aware of this limitation, let me point you do an excerpt I found on the Crystal Reports Developer website:

How is the Report Engine configured differently across different Business Objects reporting solutions?
  • Report engine is embedded.

    In Crystal Reports for Visual Studio, the report engine is embedded in the application.
    This embedded report engine is limited to a maximum of three simultaneous user requests. This is not an arbitrary licensing limit; it is a limitation of the embedded report engine architecture.
  • Report engine is extracted into a separate report server process

    In the solution that uses the unmanaged Report Application Server (RAS), the report engine is extracted into a separate server process. That server process can run on the same machine or be placed on separate physical hardware, to increase performance by offloading processing from your application server. An unmanaged RAS server is no longer available as an upgrade option. It is recommended that you upgrade to Crystal Reports Server instead. For more information, see Upgrade Options.
    The Crystal Reports Advanced Developer edition provided a performance-governed version of the unmanaged Report Application Server (RAS), which is suitable for smaller deployments with less complex reports and fewer user interaction requirements. This product is no longer available.
    Or, it was possible to license the unmana ged Report Application Server (RAS) on a processor basis, where it takes full advantage of your hardware. This product is no longer available.
  • The separate report server process is encapsulated into a complete Enterprise architecture

    In the Crystal Reports Server or BusinessObjects Enterprise solution, an entire Enterprise architecture is added, which encapsulates the separate report server process (RAS). The managed Report Application Server (RAS) becomes only one server, among many other servers in the Enterprise architecture. This architecture provides a rich set of additional features, such as scheduling, load balancing, fail-over, and both vertical and horizontal scalability.

NOTE:  The red was added by me for emphasis.  For more information click here.

So there it is.  There is a limit of three simultaneous processing threads when you use Crystal Reports Embedded within a .NET or Java based application.

What if I need more scalability?

If you look over the product offerings available from SAP BusinessObjects, you will see that all the current offerings include the BusinessObjects platform. This means that you will need to purchase one of our server based product offerings in order to provide additional scalability.

There are a number of advantages to this platform.  The first is unlimited scalability.  One common problem we had in moving customers from an unmanaged environment to a managed environment was that certain parts of their application had to be rewritten.  With the platform, you need to “login”, retrieve your report from a “repository” (instead of a filesystem).  You also wanted to make sure you are using the Page Server instead of the RAS Server (which had more overhead).

Now by requiring customers to move to a repository/platform based platform earlier, they are able to reap the benefits of a dedicated reporting environment

Here is what a basic architecture might look like if you upgrade to CR Server:

And here is one with BusinessObjects Enterprise:

How does this affect Runtime Distribution?

This does NOT affect your ability to create Crystal Reports and embedded them into your Visual Studio or Java based applications and distribute them out.  It is important however that you only distribute out the DLLs and JAR files listed in the RUNTIME.TXT file under the …/Crystal Reports/Help/en directory.

For more information you can also check out my previous post about this topic here.

Enjoy!