Tuesday, December 22, 2009

Kaleidscope 2010 Registration Is Open

The ODTUG Hyperion SIG has worked hard this fall to put together a terrific agenda and it is now available for you to explore. Thanks to Hyperion SIG President, fellow Oracle ACE, and friend Gary Crisci for posting the agenda to Google docs. Keep in mind the presenters have not all confirmed their presentations and the hands-on labs have not been finalized, so there will be minor adjustments to the agenda, but click on the picture to see the Hyperion agenda as it stands right now.

The conference is scheduled for June 27- July 1, 2010, at the Marriott Wardman Park Hotel in Washington, D.C. Be sure to register before January 21, 2010 to receive an ODTUG commemorative T-shirt and be given first priority to sign up for the hands-on training.

As I am heading up the work on the hands-on labs, let me know in the next week or two what hands-on labs you would be interested in participating in and we will use your feedback in determining the labs that are available. 

Monday, December 21, 2009

Dodeca Earns Windows 7 Certification

We have put Dodeca through the official Microsoft Windows 7 compatibility testing and it passed with flying colors.  Given our .Net Smart Client architecture, it was actually quite easy to pass the necessary tests.

Since we have passed that testing, we can now display the Microsoft Compatible with Windows 7 logo with the product.  I don't know for sure, but my guess is Dodeca is the first and only Essbase aware user interface certified and supported on Windows 7.  That may not seem that important now, but according to Microsoft, computer system builders will no longer be able to sell new systems with Windows XP starting in an little over a month from now (http://www.microsoft.com/windows/lifecycle/default.mspx).  Corporate users may have extended license agreements but the writing is on the wall that Microsoft is committed to Windows 7 adoption much more than their commitment to Vista a couple of years ago.  Dodeca, which is also supported on Windows 2000, Windows XP and Windows Vista, is ready for Windows 7 whenever you are.

Thursday, December 17, 2009

Debugging the EPM Configurator

I installed WebLogic today and ran the EPM Configurator to deploy APS in WebLogic.  Unfortunately, it didn’t work the first few times I tried.  It seemed to work except it finished very, very quickly. I never before had a problem with the Configurator so it was a bit surprising, as well as a bit perplexing, as to where to turn next. I did a little Googling and didn’t find anything so I turned to the last resort for us geek-types, ‘reading the instructions’.

Somewhere in the docs I found a reference to the %HYPERION_HOME%\logs\config directory. A quick check of that directory and, sure enough, there were some files with a new timestamp including the configtool_err.log. Here is the entry that logged the error that was causing me problems:

(Dec 17, 2009, 04:37:42 PM), com.hyperion.cis.config.Configurator, ERROR, Error:
java.lang.ClassNotFoundException: com.hyperion.ess.APSAppServerConfigurator


ClassNotFoundException is almost always caused by an incomplete CLASSPATH. It took me a while to find the class. What I finally found was the %HYPERION_HOME%\common\config\9.5.0.0\product\aps\9.5.0.0\aps_1.xml file.  It contains information the Configurator uses to understand how to configure APS. This file contained, among other things, the following entries:

<classpath>
 C:\Hyperion\products\Essbase\aps\lib\essconfiguration.jar
</classpath>
<productappserverdeployer>
 com.hyperion.ess.APSAppServerConfigurator
</productappserverdeployer>

Bingo! A quick check of that directory showed the essconfiguration.jar file was not there. Fortunately, that jar file was present in a number of other Hyperion directories. I copied the jar file to the proper location and I was off and running.

When I get a chance, I am going to go explore those xml’s more to see what I can learn..

Monday, December 14, 2009

Dodeca Architecture, Part 2

In this part of the series, I am going to focus on the Data Tier and, more specifically, what interactions Dodeca has on this tier. Just a word of warning though; this article gets a bit technical as it digs into the details of the how Dodeca uses the Data Tier.

Legal Notice: This post includes some details that are the subject of our pending patents.

There are two commonly accessed data servers in a typical Dodeca implementation:

  • Essbase Servers
  • Relational Servers
The data servers are accessed from the Middle Tier via TCP/IP. Many of our customers have multiple Essbase servers and multiple Relational Servers. We also have Dodeca customers running every version of Essbase from 6.5.7 through 11.1.1.3. The common version at this time seems to be 9.3.1. On the relational side, we have customers using Dodeca to access Oracle, SQL Server, DB2, Teradata and MySQL.

In Dodeca, the Essbase server is used, obviously, to get Essbase data. It is also used as a source to drive member selectors. Optionally, the Essbase server is used to authenticate system users and filter the views or reports available to a user.

All communication to Essbase is via the Essbase Java API calls from the middle tier. One primary reason we use that API is that it features the Essbase Grid API which is the special sauce in Essbase that sets it apart from its competitors. The Grid API enables both Dodeca and the classic Excel add-in to have the Query-By-Example functionality so popular with users. If you don't know what Essbase Query-by-Example is, here is a blog post series I wrote that explains it:

Dodeca uses, by default, Essbase security to authenticate users and to control access to data and metadata. Another option in Dodeca allows administrators to map the views or reports available to users based on their Essbase group memberships. This makes it easy for customers who have built robust security models in Essbase to leverage their work in the user interface.

There are two primary uses for relational servers in Dodeca. First, all configuration settings for Dodeca are stored in a relational database. Further, many systems need some relational component for controlling the system and/or for providing information beyond the Essbase data.

The configuration settings for Dodeca are stored in a fairly simple schema. When I was architecting the schema, I initially designed a highly complex, highly normalized schema. Before I completed that work, I decided the complexity would be hard to manage, particularly when we wanted to build more functionality into our product. I tried looking at the problem from many different perspectives and had a great idea. I asked myself, “Why not store everything in one table?” I asked myself. In the end, this simplified metadata storage approach was the one we chose and, in fact, became the subject of one of our patent filings.

There are multiple benefits to Dodeca customers using this approach. The schema is very easy to understand as there are only few tables. The design also makes upgrades very easy as most upgrades do not change the structure of the metadata storage even as we add significant new functionality to the product. As such, some of our customers have done significant Dodeca upgrades in less than an hour. The simplified design also makes backup and migration extremely easy; you can backup an entire Dodeca application, or individual configuration settings, into a zip file in a couple of minutes. You can then migrate your application to a new server, say your production server, by restoring from the backup zip file.

Here is a listing of the tables in the schema as they appear in Oracle Enterprise Manager.


The Dodeca tables fall into a few categories. Those categories and their purpose are listed in the table below.


Artifact Storage
Stores all system configuration information.
Commentary
Stores commentary entered by users along with accompanying key structures and file attachments.
Usage Log
Logs usage of artifacts used by users.
Data Audit Log
Logs changes to Essbase data.
Metadata Audit Log
Logs changes to configuration data.


The key table in the schema is the BINARY_ARTIFACTS table. This single table is used to store all configuration information including view/report definitions, Excel templates, Essbase connection information and literally everything else a Dodeca administrator can configure. Here is a listing of the columns in the table as they appear in Oracle Enterprise Manager.

The table has four columns in the primary key. The ARTIFACT_TENANT code enables customers to have several separate Dodeca instances deployed in the same database. A customer may have an application for Finance and an application for Marketing that never share any reports. In this case, the tenant code enables customers to use the same Dodeca instance to serve both user communities.

The ARTIFACT_CATEGORY identifies the type of metadata stored in a particular row. For example, a row with the category ESSBASE_CONNECTION is, obviously, metadata related to a defined Essbase connection used in the Dodeca system.

The ARTIFACT_ID and ARTIFACT_VERSION column values complete the unique identification of the metadata within a row. As the name implies, Dodeca supports multiple versions of certain types of metadata. Multiple versions are most typically used with Excel spreadsheet template artifacts during development. This capability allows administrators/developers to store multiple versions of a spreadsheet template and, with a mouse click, rollback to a previous version.

The most important column in this table is the ENCODED_ARTIFACT column. This column stores the real metadata in a zipped, encoded string format. Though most configurations stored in this column are actually XML files, Excel files and extension modules written in VB.Net or C# are also stored this way in Dodeca. The CHECKSUM of the encoded artifact is also stored and is used as part of the bandwidth efficiency algorithms in the product. As a result, we believe Dodeca uses a fraction of the bandwidth consumed by other products in our space.

Here is a screenshot showing a few columns of data from the BINARY_ARTIFACTS table.



The first row contains an Essbase connection definition. In this case, the ENCODED_ARTIFACT column contains XML that describes an Essbase connection. The decoded XML from that record is shown below.


As you can see, the XML includes the normal information you need to connect to an Essbase database: server, application and database. All you have to provide is the username and password (and those items can optionally be stored in TripleDES encrypted format). It also has a value for the ServletPath. The ServletPath is the URL the Client Tier uses to connect to the Dodeca Essbase services running on the middle tier.

You may be asking yourself if you have to understand and edit XML files to configure Dodeca. Absolutely not! The administrator edits the metadata on the client tier in our metadata editor forms. The forms write the XML on the fly when the administrator saves their changes.

Another artifact category stored in the table represents a special type of metadata called a SQLPassthrough Dataset. This category of metadata configures SQL connections and SQL statements that are used in Dodeca to bring any relational data, whether it is part of the Hyperion stack or not, into Dodeca. For example, many of our customers drill-through directly from Essbase to their general ledger system. We are currently working on some enhanced functionality in this area. I will post a more detailed blog entry on the SQL Passthrough functionality once the enhanced functionality is released.

As you can see, Dodeca has some unique features on the Data Tier. In the next posting in this series, I move the focus to the Middle Tier.

Sunday, December 6, 2009

Dodeca Architecture, Part 1

In my last post, I talked a bit about the Dodeca architecture and the patents pending on our design. I had our graphics designer come up with some nice looking graphics so I can talk a bit more about our design and expand on why architecture makes a difference. In the first post of this series, I am going to discuss the general architecture.

Dodeca has a three tier architecture.
The first tier, the Client Tier, is the Dodeca user interface. The user interface of Dodeca is built using Microsoft .NET technology. We chose this technology due to the strength of Windows on the desktop and the strategic importance that Microsoft has attached to .NET. Technically speaking, the user interface is classified as a .NET Smart Client. This means that the interface is highly interactive like a normal Windows application, however, all communications with the middle tier are via web services (xml transported via http). The Smart Client is delivered to the desktop via Microsoft ClickOnce technology which makes it easy to deploy to the desktop.

The Dodeca middle tier consists of two services, the Dodeca service and the Dodeca-Essbase service. The Dodeca service is responsible for handling metadata requests from the Dodeca client along with facilitating relational data transactions. The Dodeca-Essbase service is responsible for all Essbase interaction.

Finally, the data tier is typical in all modern systems. In Dodeca, the data tier stores not only the data that is displayed to the user, but it also stores all of the metadata that configures the application. All configuration settings including view/report properties, Essbase and SQL connections, point of view selectors, toolbars and even Excel templates, are literally stored in a relational database on the data tier.

In other posts in this series, I will expand on more of the architecture and benefits of each tier.

Friday, November 20, 2009

Dodeca Patent Progress

The thing that sets Dodeca apart from all of our competitors is architecture. We spent much time and effort looking at the problems potential customers were seeing with the products they were using. Based on what we learned, we engineered Dodeca to minimize or eliminate those issues. Our primary goal was to create a software product that would be so flexible and functional that we would rarely need to say no to even the most extraordinary user requests. Believe me, some of those requests can be very extraordinary! After man-years of work, I am glad to report that we have met this goal and increased ease of use.

Ease of use means different things to different people. For end users, ease of use means they can explore their data and get the information they need in very obvious ways with only the slightest bit of training. For administrators, it means they can configure the system easily and quickly deliver applications to their users. Finally, for IT departments, the deployment and on-going maintenance of an application must be painless.

One key feature of the Dodeca architecture is the modular design that allows us to very easily plug in new functionality. This modular concept runs deep within Dodeca. In fact, Essbase functionality in Dodeca is a plug-in module. The plug-in concept also allows customers to remove functionality from their distribution. For example, if a customer wants to use only relational databases with Dodeca, they can simply delete the Essbase module files in their deployment.

A second key design aspect of Dodeca is its metadata driven nature. Everything that can be configured within Dodeca is stored as metadata, in a relational database, on our server. When a piece of metadata is required at runtime, it is requested by the Dodeca client via web services and returned, as XML, over the network via HTTP. Metadata transmitted this way includes report definitions, spreadsheet templates, Essbase connection information and toolbars. Similarly, relational data and Essbase data, including outline information, is transmitted via web services.

The use of XML adds significant flexibility to Dodeca. As an added benefit, it makes in-place upgrades easy. We have customers with thousands of users who have upgraded their Dodeca version in about 15 minutes. XML also gives Dodeca flexibility on the Essbase side. A single version of Dodeca works with every version of Essbase from 6.5.3 to the latest 11.1.1.3; we even support multiple retrievals, from any supported version, into the same report.

The modular architecture and the metadata driven aspects of Dodeca also work together. Some customers and partners, such as greenEPM, have leveraged our modular architecture to build extended functionality on the Dodeca Framework. Extensions are built in Visual Studio using C# or VB.Net and packaged using XML descriptors. Custom modules in Dodeca are treated as metadata and are delivered to the client via web-services. We believe this is a unique aspect of our product and is the subject of one of our pending patents.

This week, we received notice from our Intellectual Property attorneys that our patent application has been published; it will be quite a while before it is rewarded. It was a large time investment to complete the patent application, but, hopefully we will be patent-holders in the near future.

Monday, November 16, 2009

How Much Work Has Gone Into Dodeca?

So, exactly how many man-years have gone into creating Dodeca? A lot as evidenced by a look at the keyboard of Amy Tate, the Dodeca Architect. This is a relatively new Dell Latitude D830 laptop but she has polished off some of the letters in our quest to create great software..


Obviously you can see how hard we have worked on the product. If you want to really find out how we hit the mark on the greatness aspect, just ask our customers. After all, some of our customers may be your competitors!

Saturday, November 14, 2009

No Wonder the Excel Add-in Installer Is So Large

Our Dodeca architect, Amy, was having problems with the classic Excel add-in (v11.1.1.3) on her laptop and so I took a look. I decided to look to see if the problem as a rogue copy of the xll file on here systems so I did a search for all of the xll's on her system. Here is what I found:


There are 28 localized versions installed by default. No wonder people are complaining about the size of the download. I didn't check to see but I would guess each of these directories contains a full client (localized) API which would be huge.

I hear they are planning improvements for 11.1.2. For the sake of those still on the classic add-in, I hope so.

Saturday, November 7, 2009

There is More to Life Than Essbase

Thursday night I saw a couple of bands that currently dominate my playlist. Marcy Playground and Hot Action Cop played at the WorkPlay Theater in Birmingham. I had not really listened much to Marcy Playground except, of course, to their mega-hit from the late 90's 'Sex and Candy' (video here). My wife, though, was a fan and we saw them in Huntsville earlier in the year. Now, I can't stop listening to their new CD 'Leaving Wonderland... in a Fit of Rage'. If you are interested in hearing some of their music, some of my favorites from the new album include:
  • Good Times (video here)
  • Gin and Money (which sounds like it should be in a Bond movie - video here)
  • Devil Woman (video here)
This album is the very personal artwork of Marcy Playgound frontman Jon Wozniak dedicated to his wife Raine. As I think I have the greatest wife ever, the album resonates with me. One of the cool things about seeing them at a small venue is that you get to talk with the band afterwards. In fact, Marcy Playground bassist Dylan Keefe stood next to me during much of the opening act, Nashville-based Hot Action Cop.

Hot Action Cop features alternative music, sometimes with a hint of funk/rap (and warning.. sometimes R-rated lyrics). Their new EP has a bit more of a rock tilt and a couple of my favorites include:
  • La Dee Da (listen here)
  • Baby Bottle (listen here)
If you are into music, I hope you enjoy these cuts.. Otherwise, back to Hyperion content tomorrow!

Addendum: If you are interested in checking out Marcy Playground, they are headed to Texas and will be in Dallas on Wednesday, 11/11, and hitting Houston, Laredo and Austin on Friday, Saturday and Sunday.

Friday, November 6, 2009

Issue Upgrading 11.1.1.1 to 11.1.1.3

I got an email this week from old friend and Essbase practitioner, Bryan Bain, about an issue he was encountering when trying to upgrade a customer from Hyperion 11.1.1.1 to Hyperion 11.1.1.3. As we focus on software development, we don't run production systems on our servers and thus never have a need to upgrade

Bryan emailed me back a short time saying he had "found the solution and it's pretty cool. You should probably blog about it, but you have to give me credit. :)". Better yet, I convinced Bryan to be a guest blogger here. So, without further adieu, here is Bryan's writeup:

The issue was encountered with a 11.1.1.1 system being upgraded to 11.1.1.3.

When we attempted to upgrade 11.1.1.1 to 11.1.1.3 using the Oracle installer, the “Apply maintenance release” option was disabled. Click on the graphic below to see a full size copy of the dialog.

We determined the original installation was performed while logged into the Windows server as . Unfortunately, had left the company and thus the login was no longer available. As in many companies, getting IT to resurrect the login would’ve taken an act of Congress.

After some research, we found the initial installation places a small file, called oracle.products, in the users home directory (i.e. C:\Documents and Settings\). The Oracle installer apparently looks for this file and, if it is not found, the installer will not recognize that any Oracle products are installed and thus applying a maintenance release would not be possible. The simple solution was to copy this file from the home directory to the home directory for the user login we were using.

The lesson for all of us doing infrastructure work is to always perform installation steps using a permanent, non-expiring ID. When I set up an environment, I typically ask for a non-expiring ID that will be used for the installation and to run the EPM services. If you run the install using this ID, you would never run into this issue during subsequent upgrades/patches.


Thanks Bryan for sharing this information!

Tuesday, November 3, 2009

greenEPM Webcast: Wednesday

I just found out that Oracle and interRel are sponsoring a webcast featuring greenEPM on Wednesday, November 3 at 12 noon central time.

The session features John O'Rourke, VP of Product Marketing for Oracle EPM Global Business Unit, who will provide his insight into Oracle’s sustainability strategy and the environmental reporting and performance management challenges facing Oracle customers today. I don't know if they are planning to show a live demo of the greenEPM software. I hope they do as their application is built on Dodeca and Essbase.

You can register for the session, entitled "Environmental & Energy Performance Management: A Profit Story", at https://www1.gotomeeting.com/register/724014673.

Saturday, October 31, 2009

greenEPM: Powered by Dodeca

We recently issued a press release that announced that greenEPM is building their environmental planning, reporting and analysis system on the Dodeca Framework. Their application shows the flexibility of the Dodeca plug-in architecture. This architecture allows us to quickly respond to customer requests for new functionality and, in addition, makes Dodeca the perfect platform for vertical application development. The plug-in architecture runs so deep in Dodeca, in fact, that our robust Essbase functionality is actually implemented as a plug-in. Likewise, the greenEPM functionality is a plug-in on top of the Dodeca Framework. The Dodeca Framework provided a tremendous jump-start in development of the greenEPM product.

The greenEPM application looks much different than anything that we have ever created in Dodeca, which is a testament to the flexibility. Here are a couple of screenshots of the greenEPM application (click on the images to view a full size version of the image). greenEPM provides sustainability reporting modules that allow firms to stay in compliance with both regulatory requirements and voluntary standards such as the Global Reporting Initiative and the Greenhouse Gas (GHG) Protocol. You can learn more about greenEPM on their website at http://www.greenepm.com/.

As an aside, the dataset that is being displayed in these screenshots is filtered for the town where I grew up, Crystal, MI. For what it is worth, Crystal is a nice little resort lake town where my family has an entrepreneurial history. I guess entrepreneurship runs in my blood!

Friday, October 30, 2009

Recession helps BI

I was invited to attend an invitation-only Management Excellence Forum at Open World a couple of weeks ago. One customer panelist, who happens to be one of our customers, made this interesting comment:

"With the economy down, we no longer see a laissez-faire attitude regarding business intelligence."

For those of us in the business, it sounds like we will all remain very busy not only during this slowdown, but also for some time to come.

Thursday, October 29, 2009

Beyond Virtualization - Post Webcast

The AppTransport webcast at www.epmcloud.com helped me understand the technology a bit more and it looks pretty cool. The AppTransport technology, which is used to create Virtual Application Appliances, or VAA's, is very similar in concept to VMWare. VMWare virtualizes and isolates the operating system; VAA's do much the same for a single application.

You can learn more about the technology at the EPMCloud website.

VBA to Create Sample Budget Data

Yesterday I was working with one of our partners to create a proof of concept using Dodeca and one of the issues that came up was creating some sample budget data to go with the actual numbers obtained from the customer. The partner wanted the budget numbers to be within the range of actual +10%/-15%. Not a problem, so I dug deep into my Excel experience and came up with the following VBA algorithm in about 10 minutes.. I *think* it did what I wanted so I thought I would share it:



Option Explicit

Private Const MIN_VAR_PERCENT As Double = -0.15
Private Const MAX_VAR_PERCENT As Double = 0.1

Sub AdjustTargets()
Dim oRange As Range
Dim oCell As Range
Dim vNumber As Variant
Dim iPlaces As Integer

''' use the selected cells
Set oRange = Selection

''' loop the selected cells
For Each oCell In oRange
''' if the cell contains a number
If IsNumeric(oCell.Formula) Then
''' grab the number
vNumber = oCell.Formula

''' get the number of decimal places
If InStr(CStr(vNumber), ".") > 0 Then
iPlaces = Len(CStr(vNumber)) - InStr(CStr(vNumber), ".")
Else
iPlaces = 0
End If

''' compute a random value between the bounds and
oCell.Formula = Round((vNumber * (1 + MIN_VAR_PERCENT)) + (Rnd() * (MAX_VAR_PERCENT - MIN_VAR_PERCENT)) * vNumber, iPlaces)
End If
Next
End Sub
The HTML rendering on the blog is sometimes not very good, so here is a screenshot of the VBA window (click on the picture to see a full sized version).












To use the VBA, select a range in an Excel workbook and run the macro.




Tuesday, October 27, 2009

One Good Reason to Stick with Supported Versions

I have been using Essbase for over 14 years now and have got it to run just about anywhere. Sometimes it took a few tweaks and sometimes, such as in getting it to run on Windows 7, is quite a bit more involved. Still, I got it working.

Recently, there was a post on the Network 54 board about a problem getting EAS 11.1.1.3 running on Windows 2000 Advanced Server:

http://www.network54.com/Forum/58296/message/1253831592/Essbase+11.1.1.3+configuration+issue

Typically, I wouldn't expect this to be a problem but it was. We did a bit of research and found that one of the dlls, jmaxl.dll, called a function in the operating system that apparently did not exist in Windows 2000. When you see this, there is basically nothing you can do.

Last week, we saw a similar issue with 11.1.1.3 while doing QA on the Olap Underground utilities. We found the Essbase VB API for 11.1.1.3 does not appear to initialize properly on Windows 2000. What that means to Olap Underground users is that those products will no longer work on Windows 2000 if they upgrade to 11.1.1.3.

Monday, October 26, 2009

Virtualization Update

I got an email from Tommy James at EPMCloud about the new AppTransport technology they are featuring. The new technology, which is from a company called AppZero and is packaged/branded AppTransport by EPMCloud, allows customers to essentially drag and drop an application, including all pertinent registry/directory/file settings between servers. Tommy wanted to clarify that the current technology will allow you to drag/drop an application between Windows servers. Further; AppZero is working on enabling the technology on Linux/Unix servers.

They have a webcast coming up Wednesday to show off the new technology. You can register on their website at http://www.epmcloud.com.

Thursday, October 22, 2009

ODTUG Kaleidoscope 2010 Abstract Deadline

The deadline for submitting abstracts for Kaleidoscope is fast approaching. If you have deep technical knowledge of Essbase or the other Hyperion products that you would like to share with your peers, go to http://www.odtugkaleidoscope.com and let us know. ODTUG Kaleidoscope 2010 will be at the Marriott Wardman Park Hotel in Washington, D.C. from June 27 to July 1.

For those of you are are really geeky (like me), let me express it in your terms:

if (essbaseOrHyperionExpert && wantToShare) {
// act before Oct 27
submitAbstract();

// Hyperion SIG board action required
waitForAcceptance();

// assuming the abstract rocks!
registerAsSpeaker();
} else {
// future deadline
registerAsAttendee();
}

Wednesday, October 21, 2009

Beyond Virtualization?

At Open World, I talked with Mike Dayton from EPMCloud and he mentioned a new technology they are working with that effectively allows you to develop on the cloud and then painlessly move the application to an on-premises machine. Very intriguing!

Today, I got an email from Mike about an upcoming webinar on the technology which is from a company called AppZero. They claim to wrap an application, including all of the baseline OS settings, registry, directory and file settings in such a way that you can even move the application from one OS to another using drag-and-drop. If that works, this technology could be pretty cool. Want to try Essbase on Unix instead of Windows? Drag-and-drop it!

Who knows if it works that easily but I am going to try to catch the webcast scheduled for October 28th entitled 'Click to Move EPM Apps Between Cloud and Data Center With AppTransport'. You can get more info on the webcast at http://www.epmcloud.com/.

Friday, October 16, 2009

Open World 2009 / More

One of the coolest things happened after the conference was over. We were walking back to the Intercontinental Hotel, where my team stayed, and there was a bunch of police around the hotel including a number of canine units in the lobby. I literally thought it was a police dog convention until I found out President Obama was staying at the Intercontinental that night! I got to see him twice when his motorcade was leaving the hotel, first for a fundraiser and later to depart. They had everyone off the street, but I was standing just inside the glass doors of the hotel. When his car drove by when he left for the fundraiser, he glanced out the window and I gave him a thumbs up, wave and smile. He looked at me, broke out in a big smile and waved back! Half of my friends will think it was very cool that I slept under the same roof as the President (and apparently passed the background check I hear they did on all hotel guests). The other half will think I am nuts.

After leaving the hotel, my trip home from Open World was much smoother than my trip to San Francisco. My original seat assignment out of SF was a middle seat and I was fretting the trip. I tried to change my departure time in an effort to get a better seat but was told all flights were sold out until Sunday! Thank goodness for my (overpriced) American Express Platinum card! One of the primary benefits of this card is admission to many of the airline clubs including the American Airlines Admiral Club. There, the agents found me an exit row aisle seat. Perfect!

The plane was loaded with people returning from Open World. Interestingly enough, the person next to me was an Open World attendee who is an EPM consultant who concentrates on HFM. We spent nearly the entire flight to Dallas talking about EPM things and spent a bunch of time looking at, and discussing, Dodeca. There were some very interesting ideas that came out of the impromptu meeting. We even did the tourist thing of showing off pictures of our family before we got to Dallas. As it turns out, we both have beautiful wives. I wonder if that is yet another benefit of Oracle EPM?

Finally, due to innovations such as GotoMeeting, I don't travel much anymore. In fact, this is the first flight I have ever been on that has wireless. My wireless was free due to a try-it-free coupon I got at the Admirals Club (thanks again AMEX). I couldn't resist but to write my first blog entry at 35,000 feet!

Open World Wrapup

Oracle Open World 2009 is now in the history books and I think it was a success both for our business and for Oracle customers in general. Some of the things I liked about Open World this year:
  • The Hyperion Pavilion put many of the Hyperion EPM sessions in the same area. It also provided a place for Hyperion oriented vendors to display their wares via kiosks located in the Pavilion itself. As a vendor, we thought our participation was very successful as we were in and around our friends in our business and not lost in the crowd like the Hyperion vendors that chose to display in the larger Expo halls.

  • The message from Oracle continues to be that both EPM and Essbase have very important strategic positions within the Oracle application stack. This is great news for everyone in the Hyperion/Essbase ecosystem.

  • There seemed to be more Hyperion and Essbase sessions though none of them are technically oriented; Kaleidoscope is the place for technical Hyperion sessions.

  • As part of my ODTUG Board of Directors responsibilities, I continued working with the Board of Directors and with the other user groups to provide great educational opportunities for our community.

  • The Appreciation Party on Wednesday night rocked with Aerosmith, Roger Daltrey and others.

  • It was great seeing the other ACEs and ACE Directors and discussing how we could collaborate in the future. The ACE Dinner was at a restaurant near this really cool Dodecahedron sculpture that was inspirational to me when we designed (and named) our Dodeca product.

Things that could be improved:

  • The Essbase sessions were not in the Hyperion pavilion as that product is now sold by the 'Business Intelligence' sales team and not the 'EPM' sales team. Customers typically associate Essbase with Hyperion regardless of the sales rep, so perhaps in the future conference planners can look at it with that approach.

I will be back next year!


Sunday, October 11, 2009

Fun Essbase Fact

Interesting Essbase fact from the John Kopcke Oracle Open World presentation. The largest known (ASO) Essbase outline currently:
  • 104 dimensions
  • 50,000,000-member Customer dimension

How does this compare to your Essbase cubes?

OOW 2009 Live Video Streaming

This year, Oracle OpenWorld 2009 will feature live video streaming for the first time. You can track the streaming on the Oracle wiki page at .http://wiki.oracle.com/page/OpenWorld+Live. You can see the streaming at the following URLs:

Oracle.com: http://www.oracle.com/us/openworld/034626
Facebook: http://www.facebook.com/Oracle?v=app_147809868015
Livestream: http://www.livestream.com/openworldlive

The live streaming is scheduled for the following times (pacific time):

Sun 10/11: 12:30 pm - 7:00 pm
Mon 10/12: 8:00 am - 5:00 pm
Tue 10/13: 8:00 am - 5:00 pm
Wed 10/15: 8:00 am - 5:00 pm

They will also replay parts of the program through the night.

If you are at OpenWorld and want the chance to be 'on-camera', stop by the video streaming studio at the OTN Lounge in Moscone West. The OTN Lounge is also the place to go to talk tech with the Oracle ACEs, pickup some cool geeky Oracle T-Shirts and get your fill of Red Bull. See you there!

Saturday, October 10, 2009

OOW 2009 Ace Directors Briefing

One of the biggest benefits afforded Oracle ACE Directors is the opportunity to be briefed on upcoming product developments by Oracle product managers. This was the first such briefing I was able to fit into my schedule at Oracle headquarters and it was very interesting to hear about some of the upcoming features in the expansive product line.

The briefing was all day Friday and thus I flew out Thursday on American Airlines. One of the reasons I picked American is due to the ads they ran a year or so ago where they claimed to have added 5" between the rows to give passengers more legroom. In my seat, it seemed as though they took 5" *away* between the seats. To use my laptop, I literally had to put the keyboard in my chest and look down at the screen in my lap. I normally fly to the west coast on Southwest despite the fact that I have to get to Nashville to catch the flight; this seems to be the most frequent destination for my personal airplane as I fly myself to Nashville, then ride Southwest from there. I think I have learned my lesson and will be on Southwest next time.

Oracle put all of the ACE Directors up at the Sofitel on Thursday night. I checked in, dumped my stuff in my room and headed downstairs. In the lobby I ran into Tracy McMullen, another EPM ACE Director and co-author of a number of Essbase and Planning books with Edward Roske. She was in town to work on the Planning beta, so we sat and talked for a bit. If you haven't had the pleasure to meet Tracy, she is not only one of the brightest minds in EPM, but she is very proud Mom who was heading home Friday for a birthday celebration for her 5-year-old.

At the briefing on Friday, there was some content on BI and EPM, however, much of the content was an introduction for the ACE Directors from other disciplines. One thing that was apparent from the presentation is the continued integration of EPM, and particularly Essbase, into the remainder of the Oracle product stack.

When the briefing was over, the ACE Directors boarded a bus for our hotel in San Francisco. All of the ACE Directors are at the Intercontinental Hotel beside Moscone West. It just so happens the Hyperion pavilion with a concentration of Hyperion vendor kiosks, is located at the Intercontinental. If you are coming to San Francisco, be sure to stop and visit our kiosk there (and pickup a Dodeca long-sleeve T-Shirt while supplies last!)

My evening ended after dinner with Edward Roske at a restaurant owned by an old friend. Gino Assaf, who formerly owned my favorite restaurant in the world, Restaurante Gondola, has opened a new Italian place in the Mission District called Speccio. If you get to San Francisco, I highly recommend you visit Gino and tell him I said hello!

Thursday, October 8, 2009

New Corporate Pilot

My best friend in college tried to get me to come to flight school with him but I thought the wiser of it and, instead, toiled away as a CPA. I worked countless hours in a relatively thankless job.

Mark, on the other hand, had some lucky breaks and very quickly landed a job flying cargo at night. He had the perfect job as he went started his work week on Monday night and was off for the weekend early Friday morning. His motto was "Perpetual vacation, that's my destiny.." Of course, the only good response I ever had was that I told him that "someday, I will sign your paycheck." That must be the ultimate revenge, right?

Fast forward 25 years and now I own a company and have a corporate airplane. Mark, on the other hand, flies a jet for a big company, so my plane isn't quite enough to keep up with his 'jet set' tastes. Still, this week I could picture it happening.

Mark was in my plane, unfortunately, for the wrong reasons. Mark flew to Nashville and flew with me up to Grand Rapids, Michigan. One of our good friends, Dave, perished last week in a plane crash and we made an honor flight, of sorts, for him on the way to his services. I would expect Dave would have done the same for us.

Dave was a excellent pilot and it is thought he was the victim of equipment failure. I had flown with him many, many times when I served as his safety pilot for IFR currency training. We had many other adventures in airplanes though most of them were back in the late 80's. I believe his accident will eventually be blamed on either an oxygen system failure or carbon monoxide poisoning due to an exhaust leak. We will fondly remember, and miss, Dave's smirk.

Monday, September 28, 2009

Powered by Dodeca

Although we don't advertise it heavily, Dodeca built on a framework that we spent years engineering. The engineering effort was extensive as we had many goals:
  • We didn't want to be tied to a specific grid control.
  • We didn't want to be tied, necessary, to a specific database.
  • We wanted to be able to quickly respond to the changing market and provide support for new and exciting innovations.
  • We wanted to provide a platform for other partners to build on.

To meet these goals, our architect spent nearly 18 months evaluating and designing the framework before there was anything to see. Dodeca has met all of those goals and is really now more than just the best user interface for Essbase. When combined with it's metadata-driven nature and smart client/web services implementation, it is a strong platform for building applications.

We are now seeing some of the fruits of our labor becoming utilized. A new software company, Real Sports Analytics, has built their product on the Dodeca framework. This gives them the ability to fully utilize the Essbase and relational functionality we have put into Dodeca and focus solely on implementing their business logic.

The object-oriented, modular, plug-in architecture of Dodeca is the key to their implementation as it allowed them to build some report views that are very specific to their business. As a result, they were able to reduce their development time by a factor of man-years at a savings of hundreds of thousands of dollars.

This same modular architecture is pervasive throughout Dodeca as, in fact, the core functionality users see in out-of-the-box functionality, down to the Essbase interaction itself, is actually a plug-in on our framework.

To see screenshots of the Real Sports Analytics implementation, visit their product page at http://www.realsportsanalytics.com/prod01.htm.

Be sure to watch this blog for another upcoming powered-by Dodeca announcement with screenshots.

Friday, September 25, 2009

Running Essbase on an Alternate Port

There have been some questions posted on the forums recently about running Essbase on alternate ports. You can run the Essbase agent on a port other than it's default port 1423 by changing the AGENTPORT configuration file setting. Frankly, I have never seen a good reason to run Essbase on an alternate port with the exception of when customers were running multiple instances of Essbase on the same machine. Further, nothing should interfere with port 1423 as it is registered with the Internet Assigned Numbers Authority at http://www.iana.org/assignments/port-numbers:

essbase 1423/tcp Essbase Arbor Software
essbase 1423/udp Essbase Arbor Software


The AGENTPORT setting is documented at http://download.oracle.com/docs/cd/E12825_01/epm.111/esb_techref/frameset.htm?agentport.htm. You can change the port in the essbase.cfg file by simply specifying the new port:

AGENTPORT 2600

That is the easy part; the harder part is on the client side. You basically have a couple of choices to let Essbase know to connect to an alternate port. Unfortunately, the easiest method for users is the hardest to deploy. That method is to add an AGENTPORT entry to a client side essbase.cfg file in the %ARBORPATH%\bin directory. This method allows users to login without entering a port number for Essbase but you have to get that file deployed first. That can be challenging if you have a hundred or a thousand users. Otherwise, the user must enter a port number after the server name. In the classic Excel add-in, it looks like this:



That format is consistent through the Java API as well. Here is a screenshot of the login dialog from our OpenOffice add-in, which is written in Java, showing the port. Note that this screenshot was done on a Windows 7 machine:



Finally, our Dodeca product hides that complexity from end users as the port is configured in our Essbase Connections metadata editor and stored in our server:



When a user logs into Dodeca, they simply enter their username and password as every other parameter is already mapped for them on our server:



Alternatively, Dodeca can be configured to hide the Essbase server, application and database:




I think Dodeca makes it easier.

Tuesday, September 15, 2009

Essbase 11.1.1.3 on Windows 7 x64

My team has been working getting Essbase 11.1.1.3, Shared Services, EAS and APS running on 64-bit Windows 7. It has not been a smooth process but we have it running.. Here is a quick synopsis of the issues we saw just to get it running:
  • OpenLDAP did not start. We had to manually add some registry entries.
  • The Java JRE did not install properly in the %HYPERION_HOME%\common directory structure. We had to manually copy that directory structure from a good install on a supported OS.
  • EAS client did not install; the Java Web Start version worked flawlessly.

Once we worked around these issues, we were able to run the basic Hyperion stack on Windows 7 and it performed normally. Of course, nobody in their right mind would run this in production, but us developer and consultant types like to stay up to date on the latest. Further, I have 4 Gb of RAM on my laptop but a full gig never gets touched with my current 32-bit XP setup.

We also tested the install on 32-bit Windows 7 and saw exactly the same results. We tried setting the OS compatibility on the install programs and didn't see much difference either. Finally, we installed a baseline on a supported Windows 2003 Server OS. In the near future, I will post a table of all of the things that did not install on Windows 7 along with, hopefully, step by step instructions of how to get Essbase to work on Windows 7.

As expected, Dodeca ran as expected on Windows 7 due to the abstraction layer the .NET Framework provides over top of the OS.

Thursday, September 10, 2009

Star Analytics Patent Award

Congratulations to my friend Quinlan Eddy at Star Analytics for being awarded a patent on some of the technology underlying their Star Integration Server product:

http://www.staranalytics.com/news/news_items/2009_08_12_PR_SFCC.htm

I wonder how many patents applications they have filed on their Star Finance Command Center?

We have multiple patent applications filed for technology we developed for the Dodeca Platform that is the foundation of our Dodeca product. Perhaps in the future, we will join Quinlan as patent holders as well.

Wednesday, September 9, 2009

Fun with Excel

At the recent Kaleidoscope Conference, one of the Oracle speakers asked how many people in the room used Smart View. Of the 200 or so people in the room, about 10 raised their hand. When he asked how many used the classic Essbase Excel add-in, everyone raised their hand. I think this small poll is representative of the community as a whole.

As the classic Excel add-in is not the strategic direction for Oracle, there hasn't been much incentive over the years to improve it and it shows as the bugs have been accumulating. Here is one pretty egregious bug that is so bad, I find it shocking that customers continue to put up with it. The bug occurs when the Essbase add-in gets confused when a user has two instances of Excel open (like no accountant would ever do that, right?) It is very easy to replicate as shown in this brief video:


By the way, the airplane on the screen is not mine (but my Cessna 210 is one year newer than the one in the picture!)

For what it is worth, Dodeca does not suffer from the same issue (nor any of the dozens of other Excel add-in issues Essbase users often see).

Tuesday, September 8, 2009

Essbase 11.1.1.3 Support Announced

We recently announced support the Essbase 11.1.1.3 for our entire product line including:

  • Dodeca
  • ActiveOLAP for Essbase
  • OpenOffice Add-in for Essbase
  • OlapUnderground Outline Extractor
  • OlapUnderground Advanced Security Manager
  • OlapUnderground SubVar Manager

I can tell you how valuable our heavy investment in automated build processes is to our company but the proof lies in our ability to quickly provide support for new Essbase versions as they become available while continuing to support and enhance the functionality of our products against previous versions.

Additional value lies in the engineering of our Dodeca product where we have taken Essbase compatibility to a whole new level with our database abstraction layer. The abstraction layer allows us to target a single version of the Dodeca client to every version of Essbase from 6.5.3 to the latest 11.1.1.3. Further, the abstraction layer gives us the unique ability to retrieve data from multiple versions of Essbase into the same spreadsheet 'side-by-side'. Think about that the next time you have to roll out the latest patch of the Excel add-in to a thousand users spread around the world!

Tuesday, September 1, 2009

Little Nitpick on VBA - Continued

Here is a comment on was posted on my 'nitpick' blog post by 'Jared'; I thought it would be better as a separate post:

Speaking of lost productivity...one thing that has thrown me off in VBA (with Essbase or not) is the syntax for calling functions and procedures--when to use parentheses or not. For example, every Essbase VBA programmer has used EssVRetrieve, probably in the format:

dim sts as long


'Retrieve data from the current sheet
sts=EssVRetrieve(Null, Null, 1)

The function runs and its return value is assigned to the variable sts.

Now, in some cases, I want to call functions and I don't care about a return code. Or, I want to call a procedure (which you cannot assign to value, of course). But if you do this:

EssVRetrieve(Null,Null,1)

...or this, for example:

CheckCellValue(Activesheet.Name,
5, FALSE)


...you'll get a syntax error. And since function syntax in most documentation includes the parentheses, you may have a hard time figuring out the error. Even the auto-complete in the VBA editor seems to indicate that the parentheses are OK: type a left paren after the
function/sub, and it will list the arguments for you, as if everything is just fine.


Unfortunately, it isn't. :)
So the rule is this: only use parens with a function call if you are assigning a value to the function; and if it's a sub procedure, you never use parens. So you would have:

EssVRetrieve Null,Null,1 'Retrieve data, don't worry about return code


...or:

CheckCellValue Activesheet.Name, 5, FALSE 'Call "CheckCellValue" proc, passing parms

Hope this isn't too much of a derail, but it just came to mind...

Not too much of a derail at all Jared as I think it will be useful information for a number of blog readers.

Sunday, August 30, 2009

Little Nitpick on essxlvba.txt

I was working on answering an OTN question today (and creating a related blog post) and I came upon a little annoying thing in the Extended Spreadsheet Toolkit declarations file, essxlvba.txt.

I imported the file into VBA like I *used* to do years ago when I made a living writing Essbase Excel VBA code (and before I was fed up with it and started my own company to do things better). I used one of the essxlvba.txt constants, EssBottomLevel, in the following line:

v = EssVGetMemberInfo(Null, "Year", EssBottomLevel, True)

As always, I was using Option Explicit at the top of my module and it caught that this line of code would not compile. Why? Because EssBottomLevel was not defined. Of course, it was in the imported module:

Const EssChildLevel = 1
Const EssDescendentLevel = 2
Const EssBottomLevel = 3
Const EssSiblingLevel = 4
Const EssSameLevel = 5
Const EssSameGenerationLevel = 6
Const EssCalculationLevel = 7
Const EssParentLevel = 8
Const EssDimensionLevel = 9


What was the problem? In VBA, the above declaration limits the scope of the variable to that module. As I was using Option Explicit, that didn't present a problem to me as VBA alerted me to the issue. What about the (majority of?) VBA programmers who don't use Option Explicit? They, of course, would have a bug in their code and would have to search for the reason they didn't get 'bottom level' members returned.

The easy solution would be for Oracle to simply change the declaration to expand the scope; you can do this in your essxlvba.txt file today:

Public Const EssChildLevel = 1
Public Const EssDescendentLevel = 2
Public Const EssBottomLevel = 3
Public Const EssSiblingLevel = 4
Public Const EssSameLevel = 5
Public Const EssSameGenerationLevel = 6
Public Const EssCalculationLevel = 7
Public Const EssParentLevel = 8
Public Const EssDimensionLevel = 9


I wonder how many thousands of hours of lost productivity by hapless programmers can be attributed to this oversight?

Essbase VBA toolkit: Getting different alias tables via EssVGetMemberInfo

There was a recent post on the OTN forum asking this simple question:

This code is getting a default alias:

at = EssVGetMemberInfo(Null, "Product", EssBottomLevel, True)

How do I get a 2nd aliase?

There is a pretty simple answer to this question. Essbase can only have one alias table 'active' at one time for a particular connection and the EssVGetMemberInfo function uses that alias table. Thus, to get the aliases from a different alias table, you need to set the alias table programmatically. Here is an example of how to do it:


Sub GetAliases()
Option Explicit

Sub GetAliases()
  Dim v As Variant
  Dim v2 As Variant

  ''' set alias table to default
  EssVSetSheetOption Null, 14, "Default"

  ''' get the aliases
  v = EssVGetMemberInfo(Null, "Product", _
      EssBottomLevel, True)
  v2 = EssVGetMemberInfo(Null, "Year", _
      EssBottomLevel, True)

  Stop ''' look at the arrays here; product has aliases

  ''' set alias table to default
  EssVSetSheetOption Null, 14, "Long Names"

  ''' get the aliases
  v = EssVGetMemberInfo(Null, "Product", _
      EssBottomLevel, True)
  v2 = EssVGetMemberInfo(Null, "Year", _
      EssBottomLevel, True)

  Stop ''' look at the arrays here; year has aliases
End Sub


When we engineered Dodeca, we looked at how people used different alias tables and included an alias table argument where appropriate in order to make it easier.

Monday, August 24, 2009

Scalability and the Essbase Java API

During my Dodeca webcast a couple of weeks ago, someone asked a question about the typical number of servers necessary for a Dodeca deployment. Dodeca is quite resource friendly on the server due to it's architecture and thus the answer is 'Less than you would expect'.

One reason is that we use the Essbase Java API on the server. The Java API was designed from the ground up to be a highly scalable and highly dependable API layer to be consumed by both Hyperion applications and by third party applications. We did extensive scalability testing of our own on our Essbase services. The most extreme test ran 25 concurrent threads constantly on an old underpowered server we had sitting around. The test was intended to simulate approximately 500 users assuming the usage pattern is that the user is querying the database 5% of the time and analyzing the results of the time in the application. We left this test running for 5 months in a single instance of Tomcat with the following results:

Number of requests serviced - 204,043,599
Hours of processor time - 2237:07:28
RAM used - 66.2 Mb

Nearly a quarter of a billion transactions in a single Tomcat instance.. I remember 15 years ago when the Excel add-in wouldn't do more than 50 or 60 retrieves before it would sometimes crash. Now that we have faster servers, I am thinking perhaps we should go for a billion transactions in a single instance!

All of this ties in very nicely with the functionality I am working on currently for Dodeca. In a near future version, we expect to ship functionality that will allow administrators to capture the queries, calcs, etc. that users are calling when they use the application and use that input to run their own stress testing on their server using their own data and usage patterns. Let me know if you think this functionality would be useful in your environment.

Saturday, August 15, 2009

Dodeca Shines on the Clouds

This week was a big week for Dodeca on the cloud as there were three big cloud happening for us.

Thursday, Dodeca was featured in a public webcast hosted by EPMCloud.com and during the webcast, I demoed Dodeca running on an EPMCloud instance. We are planning to have this webcast on a regular basis. One unique thing about the cloud concept is that it also enables new and creative ways for interactive webcasts. Our friends at EPMCloud have asked if we would be interested in a Dodeca Hands-On Lab webcast where qualified participants would each get their own Dodeca cloud instance to work with. Would you be interested in participating in a Hands-On Lab? If so, contact EPMCloud and let them know! If you can't wait until then, you can request a EPMCloud Dodeca Sandbox on the website.

Another cloud partner, Full 360, also notified us that they are working on their first cloud-based Dodeca implementation. They share our vision of the availability of Dodeca on the cloud as an enabler for Essbase implementations at the tremendous amount of companies which were formerly considered too small for an Essbase application.

Finally, we worked with another traditional Hyperion partner this week to install Dodeca on one of their Amazon cloud instances for internal training purposes. I recently sat down for a couple of hours with some of their consultants and gave them a thorough demo of Dodeca's capabilities and, in particular, our workbook scripting functionality. Workbook script is essentially a codeless replacement for VBA. During that demo, I wowed them with the power of both workbook script and it's event model by showing them how they could implement a workbook script to dynamically format an Essbase adhoc report. Of course, that very exercise is impossible in Excel with either the classic Essbase Excel add-in or Smart View as they do not have, nor do I expect they will ever have, Essbase events. In workbook script, it was a five minute exercise. Look for an upcoming press release announcing this new partner along with a number of other partner announcements as well.

Monday, August 10, 2009

BI Challenge 2 Go Image Results

A few months back, I made a blog entry about the availability of the 'BI Challenge To Go', or BIC2G image that is available to Oracle partners from fellow Oracle partner Vlamis Software Solutions. We bought the 'Microsoft VHD Image with Evaluation License' edition of BIC2G and have been using it for several months. This edition of the BIC2G comes with a Windows evaluation license that expires after 30 days. My first concern was "What do I do after 3o days? Do I have to buy another image?". The answer to that is absolutely not. You can copy the evaluation version onto any number of computers and it doesn't violate the Vlamis, Oracle or Microsoft license agreements.

Our first use for BIC2G was to provide a base image for the Hyperion Hands-On Labs at Kaleidoscope 2009. This Using BIC2G, we were able to configure 25 laptops with the full Hyperion suite and sample applications in a matter of a few hours. Without the BIC2G image, it may have taken hundreds of hours to configure the laps for the class.

We are also now using the image internally to test our Dodeca product with the full Oracle suite of products. It has saved us, again, hundreds of hours of setup and configuration especially with the applications we don't use often.

Oracle is still restricting the BIC2G image to Oracle partners but I am continuing to lobby for this image to be made available to all customers.

Friday, August 7, 2009

Excel Add-in Question

I got this question from someone who saw my blog and thought it would be a good blog post:

"I hope this isn't a dumb question but it seems like if one user sends another user a spreadsheet with the Essbase add-in, it somehow installs itself. Then is a total mystery how to remove. It's not in Add-Remove programs or program files that I recall. Regedit? Any ideas?"

Due to the architecture of the Excel Essbase add-in, the add-in cannot possibly install itself from within an Excel workbook.. In fact, most people have trouble installing the add-in using the installer program as it requires admin privileges to install. That being said, one possibility is that the Excel add-in is already installed on your machine and the Excel workbook simply contains a Workbook_Open() macro that is setting the Excel AddIn.Installed property to true (to assure it is available).

If you have a Workbook_Open() macro, you used to be able to bypass it by holding down shift when you open the workbook. You could then go to the VBA editor (Alt-F11), choose the Workbook object and delete (or comment out) the code.

Tuesday, August 4, 2009

Kaleidoscope Sunday Symposium - Essbase Roadmap Part 2

Here is the remainder of my ODTUG Technical Journal article. As before, the standard Oracle disclaimer applies:

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

Smart View Improvements

There are a number of improvements and, in fact, architecture upgrades coming for Smart View in the near future. The major improvements Oracle is publicly talking about for 11.1.2 include:
  • An improved installation experience. The installation of Smart View will continue to be a standalone installer and, starting in 11.1.2, will not be packaged with the EPM installer. Further, satellite .dlls will be available for non-English language support.
  • A plug-in architecture. The plug-in architecture eliminates the need for the Smart View team to create and control all new features put into Smart View. Further, the architecture is designed to ensure that new add-ins can peacefully co-exist and access Smart View’s features. Finally, in the future, Oracle plans to open up the plug-in architecture to partners, and I am sure that a number of partners will leverage this platform to create their own tailored functionality.
  • An improved Connection Manager. The connection manager will talk to Shared Services, as well as explore all registered providers.
  • Deeper integration of Office 2007 Ribbon technology. Oracle is planning to architect the Ribbon UI technology such that each provider will have its own context-sensitive Ribbon.
  • Better EPM Application integration. Smart View will become even better integrated with both Hyperion Planning and Hyperion Financial Management. On the Hyperion Planning side, Smart View will reach ‘Web Parity,’ where all features available in Planning web forms will also be available in Smart View, including composite form support, task lists, and data validation. On the Hyperion Financial Management side, Smart View will add support for task lists, updates to the database, and XBRL (eXtensible Business Reporting Language).

These are all exciting improvements to Smart View that will certainly make it more popular with users.

The Future

I was surprised that Oracle actually discussed some of the things they are working on post-11.1.2 and the discussion emphasized the feature list is still to be determined, but they did talk about some directions that are very exciting. One overriding theme familiar to anyone following the Hyperion/Oracle is integration. Integration continues for both the OBIEE/Essbase integration and the integration of the Hyperion Applications and Essbase into the Fusion Middleware Stack. To accompany those integrations, Oracle expects to further evolve Essbase web services to make Essbase information more widely available as part of their SOA architecture.

One the pure Essbase side, the two most significant items include a thin client Essbase studio that is targeted to replace Essbase Administrative Services, Essbase Integration Services and the thick client version of Essbase Studio. Finally, IT departments will be happy that Oracle is targeting native failover for both the Essbase Agent and Essbase Server processes are part of their future plans.

I feel as though I have only scratched the surface when it comes to the amount of information presented at this year’s Kaleidoscope Hyperion Sunday Symposium and, as I think you can see, Essbase is not only alive at Oracle, but thriving. If you missed the Symposium this year, mark your calendars for late June next year, as we hope to make next year’s the best Symposium yet.

Monday, August 3, 2009

Kaleidoscope Sunday Symposium - Essbase Roadmap Part 1

This is the first half of an article I wrote recently for ODTUG Technical Journal; I will post the remainder in the next day or so.

The Hyperion Symposium at Kaleidoscope 2009 was one of those sessions that every Hyperion professional needed to attend. The focus of the Symposium was the new and exciting features that Oracle/Hyperion development is working on for the future. Due to economic conditions, it was difficult for many members to attend Kaleidoscope, so this column will focus on the some of the new features expected both in the Essbase engine and in the further integration of Essbase deep into Oracle Applications. If there was one clear message at the Symposium, it was this: Essbase is a key strategic technology for Oracle Applications and Oracle is investing heavily in the technology.

As always, the Oracle slides were all marked with the following disclaimer, which basically means that the features I am discussing are subject to change before they ship:

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

The roadmap, as presented, provided details for 3 upcoming versions of Essbase:
  • 11.1.1.3
  • 11.1.2
  • 11.x.x.x (future)

Essbase 11.1.1.3 is considered a minor release, but it brings with it a significant advancement in Fusion integration. This version introduces the concept of built-in drill back to Fusion Financials via pre-mapped pathways, using Smart View. It is due to be released soon (although Oracle is quite firm in not stating ‘release dates’ until they actually happen).

Essbase 11.1.2, known internally as ‘Talleyrand,’ is a major release. This release boasts a large number of improvements coming to the Essbase engine and toward integration into the Fusion application stack. There are also a number of improvements in process for Smart View.

Essbase/Fusion Integration

It appears that the integration of Essbase into the Fusion application stack begins with the ability of the next version of Fusion Financials, i.e. Oracle Financials/E-Business Suite, to use Essbase for custom calculations and allocations. Thinking back to my days as an accountant, I can remember the tremendous complexity involved in some of our allocations; those allocations literally begged for a multidimensional solution. All Essbase users will benefit from this innovation, however, as the Essbase Aggregate Storage Option engine, known simply as ASO, will be getting outfitted with the first parts of a procedural calc engine. Procedural calcs are currently available only in the Essbase Block Storage Option, or BSO, engine. This new functionality will support specific calculation functions against ASO applications and will store results back in a slice of the cube. The calc functionality will be exposed in the C and Java APIs, as well as the MaxL scripting language.

Currently, most Oracle DBAs use Oracle Enterprise Manager to manage their databases. Starting in 11.1.2, many Essbase management functionalities will be incorporated into Enterprise Manager as well. Also Slated for inclusion are Oracle Single Sign-On and security integration, Oracle Diagnostic Logging, and the beginning of Oracle Process Manager and Notification Server (“OPMN”) integration. OPMN integration will add built-in, industrial strength failover to the Essbase stack that has been needed for many years, setting the stage for future innovations in Essbase reliability.

Another integration feature coming in Essbase 11.1.2 is the ability to access Essbase data via Oracle PL/SQL. For those of you from the Hyperion community, PL/SQL is Oracle’s proprietary procedural extension to SQL, targeted specifically at the Oracle database. This new feature will allow a whole new audience of developers to access Essbase data with the tools they are accustomed to using, promoting the use of Essbase to a wider audience. Further, Oracle JDeveloper developers will get a new Application Development Framework (“ADF”) control for Essbase that will make integrating Essbase content into web applications much easier.

Essbase Engine Improvements

Outside of Fusion integration, there are a number of other improvements coming in 11.1.2. One change that will help nearly every customer is the removal of the Shared Services-to-Essbase security sync. Currently, customers manage users in Shared Services and must either manually synchronize users from EAS to update the Essbase security (.sec) file, or they must setup an automatic sync process in the Essbase.cfg file. Many times these syncs cause performance issues, especially in large environments where auto-sync is configured to occur too frequently. Starting in 11.1.2, user information will automatically be retrieved from Shared Services at login. The only downside to this is that any changes to user provisioning in Shared Services will require a logout/login to be recognized by Essbase. The security file (.sec) file will not go away entirely, though, as Essbase filter security will still be stored in that file.

Essbase 11.1.2 will also add support for Oracle SQL*Net, which should increase both increase performance, as well as add support for Oracle Real Application Clusters (“RAC”), to the data load and dim build processes.

Essbase Studio gets a number of 11.1.2 improvements, including:

  • The ability to move, copy, and backup the import/export catalog.
  • Improved data source handling, including the ability to add or remove a table or column.
  • Better support for ODBC DSN source, including the ability to set parameters in the DSN.
  • Named level/ generations.
  • Custom Text List mapping.
  • Essbase Studio/OBIEE integration at the Business Model tier (in addition to the Presentation Layer as in earlier versions).
  • Accessibility support (Section 508).
  • Improved performance and usability.
  • MaxL load scripts for batch load.

This last new feature, in particular, will make automation much easier, as it essentially records a cube deployment, much like the Macro Recorder in Excel records keyboard and menu actions into a VBA macro. I do suspect that the auto-creation of load scripts will “lower the bar,” when it comes to the skill-set necessary to automate Essbase administration tasks. But as with Excel’s Macro Recorder, I expect that the auto-creation of load scripts will serve as a starting point for further optimization by skilled Essbase developers, as well as an excellent learning tool for those new to Essbase administration.

Finally, my favorite new feature slated for 11.1.2 is the addition of Essbase web services. This is something that has been sorely missing from the Essbase stack, and I personally look forward to leveraging them in our products in the near future.