Thursday, June 25, 2009

Kaleidoscope Notes

Note: I wrote this last Thursday but, due to vacation and travel, I didn't get a chance to post it until today..

Kaleidoscope 2009 is almost over and, unfortunately, I haven't had the time to keep those of you not lucky enough to be in Monterey up to date. The buzz is that this has been the best Hyperion related conference ever. Literally everyone I have talked to, and every one of the other ODTUG board members have talked to, have given Kaleidoscope a big thumbs up!

Some of the highlights for me:

  • Hyperion Sunday Symposium. Oracle brought a bunch of development people to talk about what they are working on for the future and it looks very exciting for those of us from the Hyperion community. I plan to blog a summary of Sunday later.

  • Hands-on labs. They were packed and I heard people were almost fighting to get in.. We are hoping to greatly expand the labs next year. We did learn that we were trying to fit too much into the time given for the lab and we will attempt to address that next year. Kudos to Monty Lateolais and our own Derek Hill for the many hours.

  • Midnight Madness. This late-night, Hyperion 'stump-the-panel' discussion lasted the full 2 hours (thankfully starting at a more merciful 10 pm instead of midnight) and literally none of the 100 to 150 people there left early. As my expertise is really in the Essbase API, I served as the moderator for the panel and added color commentary where applicable. Perhaps the most amazing fact with Midnight Madness is that all of those people were drawn to the session without the offer of major quantities of free alcohol. There was, however, as much coffee, chocolate and Red Bull that your could consume.

  • Oracle ACE Directors Sundown Session. The Sundown Session was another great panel discussion featuring all 4 Oracle ACE Directors in the Oracle BI Community including me, Mark Rittman from Rittman-Mead Consulting (and the leading expert on OBIEE-Essbase integration) and the team of Edward Roske and Tracy McMullen from interRel Consulting. I enjoyed this session a bit more as someone actually asked a Java API question (although it was really a Java IDE question).. The answer? I don't normally use Oracle JDeveloper but rather use IntelliJ. It is really a matter of WYLIWYL ("What You Learn Is What You Love").

  • Wednesday night Special Event. The special event this year was dinner, followed by a comedian and finally dancing. The dinner was buffet style featuring more of the excellent food Kaleidoscope is known for; my favorite was the bay shrimp/avocado salad and the grilled salmon; the roast beef and roast turkey breast stations looked delicious). The comedy of Don Friesen was extremely funny and I was lucky enough to sit front-row center and not get picked on. You can see him on his website at http://www.donfriesen.com/. Finally, the music/dancing portion won me over when one of the first songs the DJ played was one of my favorites, "Pride and Joy" by Stevie Ray Vaughn.

  • Working with the ODTUG Board and Oracle. I had *many* meetings this week between both the ODTUG Board and Oracle people and have continued to work on behalf of the Hyperion user community to provide great conference, great educational and great networking opportunities. Every Oracle employee we talked with was very enthusiastic about Kaleidoscope!

Kaleidoscope 2009 was also a coming out party for Dodeca. My Monday morning vendor session on Dodeca was so full I heard they had to turn people away. We also gave away a bunch of Dodeca T-Shirts at the session and at our booth.

I am writing this in a Thursday morning session that has a fairly large room that is nearly half full (which in itself is amazing for the last half-day of a conference). There are a quite a number of people wearing their Dodeca shirts today including me!

If you attended this Kaleidoscope, please give me the honest feedback on how we can make it better next year (and yes, we are painfully aware of the bandwidth issues here in Monterey).

Friday, June 19, 2009

Oracle BI & EPM Excellence Award

Is your company using Oracle BI and/or EPM to gain better insight, make better decisions, and drive business results? If so, Oracle wants you! I have been working with the Oracle team that is working on the Oracle Excellence Awards. For the first time ever, Oracle will be presenting an Oracle BI & EPM Excellence Award. Winners will be interviewed by Oracle Profit Magazine, will win a free conference pass to OpenWorld 2009 in San Francisco and will have the opportunity to meet with Oracle Executives. The deadline for entry is Friday, August 14, 2009. For more information and nomination forms, see the Excellence Award website at http://www.oracle.com/goto/2009biepmaward.

It is ironic that the lead tag line on the Excellence Awards site closely resemble our new corporate tagline: Better insight. Better decisions. Better results. We have several customers who have excellent examples of combining Dodeca with several Oracle technologies and enabling access to value-added application of technology to a much wider audience. I will encourage them to be nominated for this award.

Sunday, June 14, 2009

SQL Server Integrated Security in Tomcat

Last week, we had a request to run our Dodeca server using SQL Server as the database and using SQL Server integrated security for authentication. Not a problem, right? After all, the SQL Server JDBC driver has supported integrated security since, I believe, version 1.2. It turned out to be a bit of a challenge.

First, to use integrated security, the connection string needs to be modified. Here is a sample connection string from my laptop setup to use integrated security:

jdbc:sqlserver://localhost;DatabaseName=dodeca;SelectMethod=cursor;integratedSecurity=true

This connection string worked perfectly when Tomcat was running in a command window but stopped working when we tried running Tomcat as a service. That seemed very confusing at first but, after some investigation, it makes sense. Integrated security uses the security context of the user running the process. In the case of Tomcat running as a service, Tomcat is running under the SYSTEM user and SYSTEM is not a SQL Server user. Here is the solution I came up with:
  1. Create a user account under which to run Tomcat. In my case, I created a
    hyperion_system’ user on my laptop for this purpose. Give this user Administrative privileges on the server in order to run the service properly.





































  2. Make sure that same username has a login on SQL Server.

















  3. Map the user to have the following privileges on the Dodeca database:

    • db_datareader

    • db_datawriter

    • db_ddladmin

















  4. Open the Services dialog and select the Provider Services service. Right-mouse click and choose Properties. Choose the ‘Log On’ tab and configure the service to use this username (instead of the default ‘SYSTEM’ username.



















  5. Save and restart the service.

Once this is complete, SQL Server integrated security works like a champ.

Note: Don't forget to place the sqljdbc_auth.dll that is delivered with the JDBC driver in the Windows System32 directory.

Tuesday, June 2, 2009

Strange Installation Anomaly

I was installing 11.1.1.2 on one of my employees laptops last week and saw this really strange thing. I thought I would write about it as it may save someone time if they see this strange behavior.

First off, let me say that the bulk of the time I spent on the installation was:
  • Uninstalling System 9.3.0
  • Copying 11.1.1.2 installation files to the machine (almost 2 hrs!)
  • Upgrading SQL Server 2005 to Service Pack 3 (required for XML/A from Reporting Services to work properly)

I finally started the actual 11.1.1.2 installation at about 6 pm. My employee took off to run some errands and said if I needed to reboot, just login using the laptops admin/password. I did the complete installation process under her login and everything was smooth. I started the configuration process and was able to connect to my relational datastore (SQL Server) but was unable to proceed with EAS on port 10080. I instantly remembered this was due to the port issue with AVG antivirus; I blogged on that issue a while back.

I disabled the AVG Web Shield and still, no luck with port 10080. I could have easily continued with another port but, for simplicity, I like to use the default ports. I thought to myself that perhaps a reboot was needed. I rebooted, logged in with our admin username and proceeded to the Configuration Utility. This time, though, was less successful.

After the reboot, I could not, for the life of me, get the Configuration Utility to connect to SQL Server. I did everything including dropping/recreating the SQL Server database. After several tries, I was pretty frustrated. That is when I noticed the command window that launched the Configuration Utility had a stack trace in it. The stack trace showed a Java NullPointerException was being thrown in, get this, the validate() method. Some validation routine that is!

As it was getting to be late, about 8 pm, I decided to call my employee and try just one more time using the employees username/password. It worked! It appears that the Oracle Installer or the Configuration Utility may put some files into the users home directory (or users temp directories) and cannot proceed without those files. Very strange.

Note: In a followup to my AVG post, I also discovered you must disable both the Web Shield and LinkScanner components to free up port 10080.

Sunday, May 24, 2009

Interesting New Visual Studio Features

Dodeca has an interesting, best-of-breed architecture that features a .NET user interface connected to a pure Java server via web services. We selected .NET for the richness of the user interface elements, especially the spreadsheet functionality available in the SpreadsheetGear component we deliver as part of our product. Java was selected for the server component due to it's enterprise scalability and its 'Write Once Run Anywhere' mantra that makes it possible for our customers to deploy on Windows, Unix or Linux. Finally, the web services paradigm is found everywhere now as part of the Service Oriented Architecture (SOA) wave that is spreading throughout the IT world and forms the basis for the Oracle Fusion Middleware product line.

As part of my job, I need to keep up on all of these technologies and thus recently saw an interesting blog post about the new beta for Visual Studio 2010. The post, What's New in VS2010 and .NET 4 for Data Drivers?, had this very interesting paragraph:

For those developing data-driven applications, the beta is expected to give developers a first look at "Entity Framework version 2" or what Microsoft dubs "Entity Framework 4" As reported, EF 4 adds support for n-tier templates, Plain Old CLR Objects (POCO) and persistence ignorance.

Plain Old CLR Objects? How ironic. The server architecture of Dodeca uses the Hibernate Object/Relational Mapping system to persist metadata to the relational database. Hibernate introduced me to the concept of Plain Old Java Objects, or POJO's, years ago. Since then, POJO's have become a very popular concept. They were so popular, in fact, that Sun adopted the Hibernate model when they redesigned the J2EE Enterprise Java Beans 3.0 (EJB 3.0) spec and the new Java Persistence API contained within it. Even Oracle has jumped on board by donating some bits from the TopLink product, which is part of the Fusion Middleware stack, to the open source community.

It is good to see that Microsoft is adopting POCO's as it validates my decision years ago to use POJO's at the heart of Dodeca's patent-pending metadata persistence implementation.

Thursday, May 21, 2009

Debugging FDQM

I got an email from a user who was seeing an error with FDQM and asking for my advice. First let me say that I have never used the product but I have debugged many, many Hyperion
issues over the years.
The user is getting a very uninformative error message: Error: At Line: 125. I'll bet you can look at that message and guess exactly what the problem really is, right?
The email mentioned a related OTN posting: http://forums.oracle.com/forums/thread.jspa?threadID=855841&tstart=-1. I took a look at posting and the user had posted much more information from the logs:

** Begin FDM Runtime Error Log Entry 2009-02-05-14:35:32**
ERROR:

Code......................................... -2147417851
Description..................................
At Line: 125
Procedure.................................... clsBlockProcessor.ActConnect
Component.................................... upsWBlockProcessorDM
Version...................................... 931
Thread....................................... 7948

IDENTIFICATION:
User......................................... administrator
Computer Name................................ DSDFS931
App Name..................................... TestOra
Client App................................... WebClient

CONNECTION:
Provider..................................... ORAOLEDB.ORACLE
Data Server..................................
Database Name................................ orcl
Trusted Connect.............................. False
Connect Status.. Connection Open

The thing that sticks out like a sore thumb, from my point of view, is the error code -2147417851. This looks like the error number that an ActiveX control (or server application) may throw when it has an internal error. I searched the web and found some references to that error number being thrown when trying to run Excel via COM Automation.

To find the real reason for the error, Oracle Support (or Dev) will need to look in the class 'clsBlockProcessor', method 'ActConnect'. I bet once they get to 'Line 125' as indicated in the error message, they will have a good start on finding a solution.





Sunday, May 17, 2009

LinkedIn Spreadsheet Poll

In the LinkedIn updates email I received this morning, one of my friends, Doug Bliss from DougWare, found an interesting LinkedIn poll regarding the use of spreadsheets. The poll was quite telling in our business as there seems to have been this running battle over the years in the Hyperion world: spreadsheets or web?

When Arbor first rolled out Essbase, the spreadsheet was king and the web was basically a gov't research project. Many of us in the Essbase world started out back then and still consider the spreadsheet king. By the summer of 2000, Hyperion had taken a new direction and declared that everyone in the Hyperion world would dump spreadsheets for the web.

I remember the Sales Kickoff in Miami Beach in the summer of 2000 when the mantra was that everyone in the Hyperion world, from the development side, would embrace and love Java and that other technologies, such as Visual Basic, would be abandoned en masse. In the end, Microsoft abandoned the (classic) Visual Basic world before Hyperion developers.

The LinkedIn poll shows the spreadsheet is still strong which, of course, we all knew all along. We have focused our company, and in particular on our Dodeca product, on the fact that the spreadsheet is king. Our aim is to leverage the spreadsheet concept but to make it easy enough that all users in a company can use them to get the information they need to do their jobs.

Take a look at the poll, and vote if you are so inclined, at http://polls.linkedin.com/poll-results/34682/gripr.

Is Essbase Making a Comeback? What You Need to Know.

At the recent Kscope26 conference, Oracle showed the next generation of Essbase in several different sessions. I came away from the conferen...