Monday, September 15, 2008

Essbase 11.1.1 Installation Now Available as a PDF

To make it easier print and manage, I created a PDF of the Essbase 11.1.1 installation post content. You can download the content at http://www.appliedolap.com/blog/Essbase%2011.1.1%20Installation%20Tutorial.pdf.

Wednesday, September 10, 2008

Essbase 11.1.1 Installation Tutorial

In a recent blog post, I expressed my dedication to installing Essbase 11.1.1 and, I figured that while I was installing it, I should document the steps to help others visualize how to do it. Some people who may be reading this may have never installed Essbase, so I will go into a lot of detail. Those of you who have installed Essbase a number of times may not need all of this detail and so you may want to skim through parts of this document. That being said, this is the first version shipped with the new Oracle Installer and is just different enough that a tutorial may be necessary.

Before you can start the install, you will need to download the files necessary for the install. To get the files, go to http://edelivery.oracle.com/ and select the ‘Oracle Enterprise Performance Management System’. To create this tutorial, I downloaded and am installing the 32-bit version on my own primary laptop.

Once you have the necessary files downloaded, start by creating a temporary work directory. On my system, I created a directory named C:\Temp\EPM 11.1.1 Install. Once you have done that, unzip the System Installer (V13452-01.zip) into the work directory. Here is what it looked like when I unzipped the file on my machine:



Next, repeat the process with the 3 Foundation Services zip files into the same directory. Those zip files are:

· V13449-01.zip
· V13450-01.zip
· V13494-01.zip

Finally, do the same process for the Essbase Server and Client zip files. Those zip files are:

· V13454-01.zip
· V13453-01.zip

As you unzip each of these files, what is happening ‘behind the scenes’ is that xml files are being added to the work directory structure. Additionally, files are being added to the ‘assemblies’ subdirectory. The ‘assemblies’ subdirectories contain the actual installation components. Here is what my ‘assemblies’ subdirectory looked like after unzipping the foundation services:



If you are prompted to overwrite a file as I was, press ‘YesToAll’ to continue.



Next, locate and run the InstallTool.cmd file that is unzipped as part of the installer. If you haven’t unzipped any product zip files into the installation directories, you will get a pretty nasty looking error when you run the InstallTool.cmd. The error is a java.lang.reflect.InvocationTargetException which sounds a lot worse than it really is. This error appears because the Java runtime expects to find some installation code to execute and, as the code doesn’t exist in the installer directories, it throws a java exception. I have seen a number of people get that exception already with 11.1.1 and am a bit surprised that the installer does not do a better job of giving a more informative error message.

If you have properly unzipped files into the directories, you will get see the following Installer screen. Note the steps oriented along the left margin of the dialog that will help you keep track of your progress.



Hit ‘Next’ and you will be at the ‘Destination’ step of the Installer:



Choose the location where you would like to install the Hyperion components. On my machine it defaulted to C:\Hyperion. I don’t know if this default applies to a clean machine or not as I previously had Essbase installed in that directory. I did, however, attempt to clean up HYPERION_HOME and other environment variables for Essbase before starting the install. You may have different results. Hit ‘Next’ to proceed to the ‘Installation Type’ step of the Installer:



If you select ‘Choose components by tier’ and hit ‘Next’, the ‘Product Selection’ step of the Installer will look like this:



Otherwise, if you select ‘Choose components individually’ and hit ‘Next’, the ‘Product Selection’ step of the Installer will look like this:



Note that the products that appear in the selection box are based on the product zips that you unzipped into the installation directory.

Once you have selected the products to install, press the ‘Next’ button to proceed to the ‘Confirmation’ step of the Installer:



Click ‘Next’ to begin the installations. The progress is then reported in the dialog and took something like 10 to 20 minutes on my laptop. After the installations are complete, the ‘Summary’ step shows the status of the installed products:



At this point, I pressed the ‘Configure’ button and the EPM System Configurator was launched. Although I didn’t try it, I would guess the ‘Finish’ button would just close the Installer. Note that after installation the ‘EPM System Configurator’ is available on the Windows Start Menu under All Programs, Oracle EPM System, Foundation Services, EPM System Configurator.

The Configurator opens and displays a welcome screen:



Press the ‘Next’ button to choose the components to configure:



Once you select ‘Next’, the items selected will determine the information that will be prompted in the following screens. With the default selections for the products I installed, the next screen requested information for the database underlying Shared Services. I am running Oracle 11g on my laptop and thus the configuration looks like this:



I always write down the settings so I don’t forget them:

Database Type: Oracle
Server: mustang
Port: 1521
Service Name or SID: orcl
Username: SYSTEM
Password: password

Hit the ‘Next’ button and you are prompted for common system settings:



Hit the ‘Next’ button and you are prompted for specific database system settings for EAS and Essbase Studio:



As I am using the previously configured database, I didn’t have to change anything on this screen. Hit the ‘Next’ button to go to the next screen which prompts you to select the application server as shown below:



Unfortunately, it doesn’t actually say what component is to be deployed to an application server; hopefully it applies to all of the applications that use an application server. The default is to automatically deploy to the ‘Embedded Java Container’. Upon further investigation, it appears the ‘Embedded Java Container’ is Tomcat 5.5.17 which is a newer version of Tomcat than the version 5.0.28 that shipped with Essbase 9.3.1.

Now that I played the guessing game about what applications are being configured, I hit the ‘Next’ button and was presented with the following dialog that allows the user to specify the port that each individual application will run on:



There are a couple of things to note in this dialog. The default Shared Services port for Tomcat has changed from 11.1.1 to 28080. In version 9.3.1, the default port was 58080. Further, the default port for the HAB.Net web service also changed (at least it changed from the time when I actually wrote the service). I typically take the default ports for my services.

Hit the ‘Next’ button to advance to the next step in the Configurator which prompts for Essbase configuration information:



There are a couple of noteworthy default values on this step of the wizard. First, the ARBORPATH specified looks like a very non-standard location if you are an experienced Essbase person. First, the ‘products’ subdirectory is a very ‘Oracle’ naming convention. In fact, on my laptop Oracle 11g is installed in C:\Oracle\product\11.1.0. Second, I find it odd that the ARBORPATH variable checkbox is not checked by default. The installation documentation is pretty clear on this issue. If you are upgrading, the following upgrade note is in the docs:

If you are upgrading from a previous release of Essbase, specify the same application location you used in the previous release.

The docs also comment on the ‘Set ARBORPATH checkbox’ in saying:

If you do not update the environment variables during configuration, update them manually.

Based on that comment, I am going to check the checkbox before I continue. Further, I didn’t know exactly what the ‘Deploy Essbase in standalone mode’ did. The install documentation for this this setting states ‘select to use legacy security for Essbase Server instead of Shared Services security’. I am also going to select this option as I don’t want to have my Essbase security automatically externalized to Shared Services. My reason for not externalizing is that if security is not externalized, then you can run Essbase without having Shared Services running. Despite the fact that my laptop is pretty powerful (Core2 Duo w/4 Gb RAM), I sometimes shut down Shared Services and Oracle to maximize memory; Essbase will run fine without Shared Services running in using this configuration.

This is how the dialog looked when I hit the ‘Next’ button:



Finally, the information gathering is complete and you have one final chance to confirm everything before the configuration starts:



Hit ‘Next’ and let it rip! Once it is complete, here is what the dialog should look like:



The ‘Register with Shared Services’ task failed as I chose to install Essbase in standalone mode.

Now that installation is complete, here are the services that are running:



Note that OpenLDAP, Shared Services, HABNet and Provider Services all started up but Essbase did not nor will it start if when I try to start the service. The procedure you should follow if this occurs is to try to run Essbase in a command window where any errors will be displayed in the window.

Navigating to start Essbase manually was really my first chance to explore the new directory structure. In the System 9 version, the different parts of the system were installed in the HYPERION_HOME location which was typically C:\Hyperion on a windows system. In version 11.1.1, all of the products are rooted in the new ‘products’ subdirectory with the Essbase subsystem products in ‘products\Essbase’ and Shared Services in ‘products\Foundation’. Here is what my ‘products\Essbase’ directory looks like:



To start Essbase in a command window, you have to navigate to the ‘products\Essbase\Essbase Server\bin’ subdirectory, type ‘essbase’ and press Enter. Here is the result:



It now occurs to me that I was not prompted to enter this basic Essbase information during the install probably due to the fact that security externalization is now the default behavior. The person who installs Essbase and choose ‘standalone’ mode is apparently now responsible to start Essbase in the command window and enter the basic Essbase security information. Actually, this was standard operating procedure back in the early days of Essbase. Here is a screenshot after I started Essbase and entered the information:



Once I entered these items when I started Essbase in the command window the first time, the service started and ran normally.

After following these steps, I was up and running with Essbase and the other products I had selected. Within a few days, I plan to post a PDF file with this content to make it easier for you to print this content. Finally, I hope your installation experience is a smooth as mine was.

Friday, September 5, 2008

Adventures with Essbase Smart Lists (a/k/a Typed Measures)

I have been looking at the changes in the Essbase Java API and more, specifically, started investigating the interesting new things called 'Smart Lists' in the Java API. The IEssGridView interface contains some new fields and methods around smart lists such as the CELL_CONTENT_TYPE_SMARTLIST constant, the getSmartListName() method that returns the name of a smart list for a given cell and getFormattedValue() which in the documentation states "If cell content type is CELL_CONTENT_TYPE_SMARTLIST returns the smartlist datatext"'. I thought I would take a closer look.

First I did a search for the term "smartlist" in the DBAG for 11.1.1 and strangely it turned up nothing. I tried a couple of other terms and was also stumped so I turned to EAS to see if one of the sample databases had smart lists implemented. I found that none of them do but did find a clue:



The outline properties tab shows a property called 'Typed Measures enabled'. Above is a screenshot from an outline I created to test 'Typed Measures'' which, obviously, must have the 'Typed Measures enabled' property set to true. I also noticed the next tab:



The 'Text List Manager' is where you create and manage the values returned for a Typed Measure. Here is the list I created for my simple test outline:



The next step was to assign this text list to a member. I added it to the 'Product' member of my outline:



I then went to Excel and input some data on the 'Product' member. I input 6, 8 and 10 which mapped to 'Moderate', 'High' and 'Exceptional' satisfaction as it was my understanding that Essbase stored the value and displayed the text upon retrieve.



By the way, did you note the subtle difference between the missing text string '#Missing' on the 'Support' data cells and the 'Missing' string from the Text Measure o the 'Product' data cells? In any case, I got an error when I did a lock and send:



Instead, I had to enter the appropriate values from the 'Text List' in order to send:



Now that I have a simple cube that supports Typed Measures to work with, I can go back to the Java API and see more detail on how it works under the covers. I may post a followup showing that later.

Essbase Docs Now Included - Retraction?

Yesterday I posted about the Essbase docs being included in the build.. Well, we may have scratch that comment. Last night I was looking for the docs to start digging into the new text measures functionality in Essbase but when I launched the C:\Hyperion\products\Essbase\EssbaseServer\docs\esb_infomap.htm file, which is the 'launch point' for the documentation, I noticed there were not any links to the DBAG, etc. I looked at the files in the directory and discovered that file exists along with an images subdirectory, but there are not any other docs there.

I looked around on my installation and noticed that EAS docs are installed, the Essbase Client docs are installed, the Java API docs are installed (3 times in different places) but I could not find the DBAG in either HTML or PDF format. I figured that during my search, I must have accidentally deleted the files, so I checked on of our VMs at the office this morning. Those VMs are exactly the same!

I went out and looked at the stuff we had downloaded from eDelivery but I didn't see a separate zip for that. Perhaps they are there somewhere and I just missed it?

Thursday, September 4, 2008

Essbase Docs Now Included!

This morning I needed to look at the Essbase docs and remembered that I didn't select an option to install the docs when I did the Essbase 11.1.1 install. In the System 9 (and earlier) days, the doc installer was a separate download and separate install. This created a number of questions on the forums as to where to find the docs.

I took a quick look in the directory structures for 11.1.1 and didn't initially see the docs anywhere. A quick search, however, revealed the docs for the server were installed automatically to C:\Hyperion\products\Essbase\EssbaseServer\docs. This is certainly an improvement over previous versions.

Monday, September 1, 2008

Random thoughts on differences in APS 11.1.1

I have come along on my Essbase 11.1.1 install and plan to start a series on the installation but, at this point, I started looking at Analytic Provider Services ("APS") to setup my development environment. Our Dodeca product talks to Essbase through APS and, although I have compiled our Essbase service against 11.1.1, I am starting work to support the new features of Essbase. These are just some random notes I had while reviewing APS.

The directory structures for the Essbase product appear to have been reverted back to the pre-System 9 naming conventions which is great. I never liked the 'Analytic Administration Services' subdirectory name and highly prefer 'eas'.

The essbase.properties file is much more organized than in 9.3.1 but has significantly fewer configurations that in the previous version.

Tomcat is still the 'batteries-included' application server for now. I wonder how long it will be until some version of WebLogic is delivered 'out-of-the-box'. The version of Tomcat that is shipped has changed from 5.0.28 to 5.5.17. Further, it appears that support for running Tomcat in a Window is no longer delivered. This last item is going to have a significant effect on me as I normally run Tomcat in a window during development so I can see my web services data flowing in/out of the server. Tomorrow, I will have to look at how 5.0.28 was configured in 9.3.1 and emulate that in this version. Ironically enough, the infrastructure for 5.0.28 is still delivered in the aps subdirectory structure but it looks like it is not used anywhere.

The APS command line console is available and works but it looks like the default username/password has changed. It used to be that you had to login with the system/password combination, add a username that matched a username in your Essbase system, disconnected and logged back in using the new username. In 11.1.1, I logged in using admin/password. I don't know, however, if that is the default username or if it is the username/password combination I used during my setup/configuration.

Numerous times during my work so far, I have seen numerous references to the previous product numbering system. For example, in the APS\bin directory there is a file named css-0_9_5.dll which, of course, refers to the fact that EPM 11.1.1 originated as System 9.5.0. I have seen a number of people say they would wait on installing 11.1.1 as they wouldn't install a initial release; I wonder if their opinion would be different if it were still named 9.5.0?

There are a number of new external libraries shipped with APS now. The jar files that look new to me include ldapbp.jar, commons-codec-1.3.jar, commons-httpclient-3.0.jar, jakarta-regexp-1.3.jar, jakarta-slide-webdavlib.jar and (maybe) jdom.jar. Most of these are from the Apache project including the commons and jakarta jars.

My first compile of our Essbase servlet with the 11.1.1 client jars worked without a hitch. In the next day or so, I will be updating our build scripts for building a production version of our servlet with 11.1.1 support. As the code hasn't changed, I don't expect any issues during our QA testing cycles.