A lot of the support calls I get on result in a short tutorial on how the web browser is utilizing the Java Runtime Engine (JRE) to run the Web Intelligence Rich Internet Applet (RIA) aka Java Report Panel or Java Viewer for those that have been with Webi for a while. Below I will discuss some of the common scenarios I have seen on support calls lately. I included a top level summary for those that want the quick and dirty and a longer more detailed version for those that want more info.
- BI 4.x supports 32-bit browsers only (in most cases, read the PAM for more info)
- You need to make sure that you setup the 32-bit JRE settings instead of the 64-bit ones.
- Control Panel “Java” icon launches the 64-bit Java Control Panel in most cases so best to launch javacpl.exe from the C:\Program Files (x86)\Java\… directory
- Read my blog for more details on some recommended Java settings.
Oracle’s latest JRE releases have included a number of security enhancements and changes to the default configuration options of the local JRE installs that can drastically reduce performance of the RIA and any Java applet that you may be running. The release notes for JRE 1.7 Update 25, 45, and 51 are listed below for your reference on the changes I am about to talk about:
- Java™ SE Development Kit 7 Update 25 Release Notes
- Java™ SE Development Kit 7 Update 45 Release Notes
- Java™ SE Development Kit 7 Update 51 Release Notes
Most notably, the latest versions require applets to include some new manifest file attributes in their JAR files. If these attributes are missing or set incorrectly, end users will start getting security pop-ups and warnings that are quite annoying and can cause our applet to misbehave if answered incorrectly. SAP is working to update the JAR files in Patch and Support Package releases but I won’t get into that in this post as I have another topic in mind. It’s just important to note this as its common with the latest JREs to see these warnings.
Another major change that I will mention is an option called “Online Certificate Status Protocol” that is now enabled by default. What this option does is forces the JRE to go out to internet servers (verisign) to check the validity of a certificate. Since our applet has over 60 signed JAR files, this check is done over 60 times and often adds anywhere from 30-90 seconds on to the load time of the applet. If you are having Performance issues with the load time of the applet, this is the first thing to check!
For more details on evaluating Performance issues, visit my blog and wiki posts here:
Ok, on to the subject that I wanted to blog about. Ensuring that you are actually setting up the JRE that Webi RIA is using.
So, first things first. The Webi RIA uses either a 32-bit or a 64-bit JRE, depending on your browser bits, so you need to know which one you are using first.
Another interesting fact is that BI 4.0 only supports a 32-bit browser in most cases. So those of you that are using 64-bit browsers, you may not be running in a supported scenario. Be sure to reference the Product Availabiltiy Matrix that matches your version to see what browsers are supported.
Once you know what bit browser you are using, I’ll assume 32-bit in these steps since that is what we support, you can go ahead and open the correct Java Control Panel (CP)
The best way that I have found to open the Java CP is from Windows Explorer. This way you can ensure that you are opening the correct bit CP. For example, to open the 32-bit Java Control Panel, I follow these steps:
- Open Windows Explorer
- Navigate to: C:\Program Files (x86)\Java\jre7\bin (This is the 32-bit JRE directory because it’s in the c:\Program Files (x86)\ directory)
- Open the javacpl.exe from that directory.
- Set my JRE options.
My blog post and the wiki it refers to above will go over some of the options you need to check in the Java Control Panel.
The “Java” icon in Windows Control Panel is almost always opening the 64-bit Java Control Panel when clicked. I have had countless calls from customers saying that they have set the options I recommended but it still wasn’t working and the root cause is almost always that they set the options for the *wrong bit* Java.
Hope you got some use out of this. If it prevents even 1 support call then it has saved me some time!
Feel free to let me know of any other tips, tricks or gotchas that you have found with the RIA and Java Runtime Engine.