HFM under the covers – the new architecture

Probably the biggest change in is with Financial Management. In this release, the entire architecture has been redone and recoded. The biggest driver for this re-architecture was to get HFM onto Linux. Why? You guessed it – so it can be put in Exalytics and eventually into some sort of consolidation cloud offering. I’ll go deeper into the changes, but first… the shockers:

Shocker 1:  “Platform Independent”

For months, Oracle had been touting that HFM would be released “platform independent.” However when it was released, we read the shocker: HFM on Linux is only supported on Exalytics! I think I can join the rest of my brethren in the industry and say this is just downright infuriating. Oracle states that the reason for the Exalytics mandate was because they wanted a known platform to roll out the initial Linux code set. However, Oracle has historically only certified their products to an operating system, and technically there is no reason why you could not install HFM on a commodity server running the same Linux operating system. (As a matter of fact people have). Regardless, doing so would violate the license agreement and not be supported. It is not clear weather Oracle plans to release HFM for commodity Linux in the future; my guess is that they would. One thing is clear however – is certainly not “platform independent”


Shocker 2:  No more copyapp utility does not contain a copyapp utility to migrate an application between environments. Instead, they have included a new artifact in LCM called “HFM application snapshot” that will do this for you. This has been met with a lot of complaints in the community. The traditional copyapp was a simple utility that directly connected a source and target database. By forcing customers to use LCM, now we have to ensure we have plenty of disk space to export the entire HFM application to disk, then copy the export to the target system, then import. You can include data or not. Regardless, this will easily double the amount of time it takes to do HFM migrations. Also, you will need to ensure nobody is using the system during the migration.

Shocker 3: SSL incomplete

Currently, SSL is only supported in the web layer, they have not implemented it in the application layer yet, but should be coming soon.

First Class Citizens

One of the biggest changes with the close suite is the promotion of the modules as “first class citizens” in the workspace WE see the new tax modules and supplemental data manager in there.

workspace2 workspace1

Along with this, we see a general move from clients to the web, additional utilities, embedding OFMA in HFM, better Calc Manager parity with VBScript, and better integration with FDM.

New Web Profile Editor


Selection of Multiple files for load actions (Only using Firefox)

multiple files

Reordering of Tabs by users as a user preference.


The New Architecture

In order to remove the windows dependent components, The basics had to change:

  • Remove DCOM as the internal communication method
  • Remove all IIS components, including ASP and .net Web services
  • Embrace Java as the backbone of the API.
  • Eliminate the configuration settings in the Windows System Registry

So that’s what they did.

  • DCOM communications were replaced with TCP/IP for client/server communication.
  • ADO was replaced by ODBC for database communication
  • Removed IIS components and integrated into Weblogic
  • Combined the Smartview provider with the HFM web application in WLS.
  • Combined the LCM provider with the new JHsxserver
  • Replaced web services plugin to the Java API plugin for LCM.
  • Moved the configuration / settings to the database instead of the Windows system registry and moved all configuration to the web rather than the fat configuration clients. arch arch

As you can see, this architecture has been significantly simplified. All the web applications are in one Weblogic managed server (default port 9091), and all data retrievals go through one engine and one API. This also significantly reduced the code set footprint as well by eliminating 45% of the software files and 88% of the libraries.


The simplification also gave way to significant performance gains. The following outlines the biggest architectural differences that facilitated that.

  • Parallel threads. Historically HFM was maxed at 8 Threads for consolidations. And, to be honest, they did not scale all that well.   If you had an 8 CPU server that was using all 8 threads, you would see the %utilization of the CPUs dwindle as they scaled out. During large consolidations, it was common to see the first CPU at 100% and the last CPU only being used 20%. In, the 8 thread limitation has been removed and the calculation engine can now scale with all available CPUs. Oracle has tested this on servers with over 60 cores and has seen uniform distribution. Of course, remember that this dependent on the design of the application as well. You can only parallelize if the application is written in a way that it is possible. Regardless, these new advantages will significantly change the way consulting organizations architect HFM applications and the HFM servers.
  • Data retrieval: all data retrieval has been centralized into a single query engine. So things like FR, Smartview, and Web all use the same method for getting to HFM data.
  • Store only used currencies. In earlier version, all currencies and associated records were used when impacting regardless if your application used them. This was unnecessary work. In, only currencies used in the application are updated. If the parent has a different currency, it will pick that up at a later time when impact hits it.
  • User interface interactions and responsiveness. They replaced the very chatty webservices with a thrifty optimized engine that transfers objects between C++ server and Java based web tier.
  • Use SmartHeap. Oracle was able to improve memory allocation and reduce thrashing of heap. Instead of using Malloc ()it now uses a heap approach and using a different libraries.
  • Replaced ADO. The new ODBC method provides more efficient database communication.

Oracle’s initial benchmarking of HFM in the  new version is impressive. They have described case studies that claim instances of consolidations times shrinking from 2 hours  to 6 minutes simply by upgrading. Surprisingly, there is not much difference in performance at this time from a similarly sized commodity server and Exaytics at this time. However, that will change as Oracle is working on Exalytics-specific features in upcoming releases.

But what can YOU expect? Of course it depends on application design.  Here are some major factors to consider:


  • If your app has more entities, it is more likely to see significant benefits.
  • If number of records in each entity across accounts and custom dimensions is relatively large, more likely to see tangible improvement.


  • If all base entities are smaller in size (within +- 10%) then you will likely utilize the true parallelism
  • If all parent entities are similar size, you will see further parallelism as you roll up
  • Uniform entity structures tend to scale well with more processors.

Business Rules

  • Business Rules: computationally intensive rules will show improvements
  • Non-uniform rules across entities will not see as much

In general, the less uniform the structure is, the less performance gains you will see.


Tips for


Multiple parents

  • spaghetti hierarchies will make performance unpredictable and hinder parallel processing. Because overlapping hierarchies compete for same locks and are queued.
  • Try to go with single parent entities.

Usage and infrastructure

  • overlapping concurrent Consolidations hinder parallelism
    • two users consolidating overlapping hierarchies will compete for locks
  • Always use dedicated consolidation servers
  • Better to have larger servers with more CPUS than multiple smaller application servers to take advantage of parallelism.

Uniform structure

  • For the best results, try for equal number of children in each parent



Performance Settings

As part of the restructure, Oracle got rid of the client based configuration utilities and moved them into the web.

Under Consolidation aAdministration, you will see messages.



Selecting settings will give you the options to change performance settings. Settings can be changed for all applications, or specifically per application. So you can add more resources to one application than another…


They also included a nice feature to take a note to document the reasoning for the change:


Most settings will require a restart of the HFM services to go into effect.

There are a total of 29 settings that can be used to tune or choose desired behavior. Here is a small list of some of the most important tuning parameters:

  • MaxNumDataRecordingsInRam.   Number of records in the data cache
  • MaxDataCacheSizeinMB.   Maximum memort allocated for the data cache.
  • MaxNumCubesInRam. Maximum number of cubes in RAM
  • NumCosolidationThreads.   Number of threads that can be used by consolidation.
  • NumThreadsToUseWhenUpdatingCalcStatusSystemWasChanged. The number of threads to use when updating calc status… should be a function of the number of CPUs on the system.



Logging and services

As part of the changes, Oracle got HFM in line with the rest of the products from a logging perspective. There is no error log viewer anymore and logs are now sent to a typical text-based file that can be controlled with Oracle Diagnostic Logging (ODL). They have the same typical fields, including the very helpful ECID concept. Logs are separated by application as well. System wide messages continue to function in the messages log viewer in the web.


Processes and services

The following processes have been removed:

  • HsvDatasource.exe
  • HsxServer.exe
  • HFMService.exe
  • DMEListener.exe

Instead, a new process called XfmDatasource.exe (yes .exe even on Linux) has been created to manage the datasource process. Services

old services Services

new services


What’s next:

Rumors for the .100 PSU

  • Exaytics only features: (not just performance) – Make HFM more aware and self tuning.
    • Insights – who did what. What are people doing, top users of system, graphical analysis.
    • Rule Profiling
  • Additional HFM utilities
  • Excel Based Journals Workbench
  • UI Enhancements
  • Application creation Wizard
  • More web based utilities
  • Ability to add years

Roadmap and Beyond

  • web based member list editor
  • Auto Archive of data audit
  • Mobile interface
  • Multiple databases
  • Audit Extract
  • HFM EA Copy Template
  • HFM Index Update Utility

~ by Eric Helmer on March 5, 2015.

3 Responses to “HFM under the covers – the new architecture”

  1. Great indepth article, Eric! To say that we were infuriated about HFM not being certified on any of the popular, commodity Unix OS’s (not even their own generic OEL or generic Solaris!), is an understatement! I actually followed Henri’s article (which was awesome, by the way!) and I was successfully able to get HFM to run on an OEL 5.8 based OS, which is the same version as is shipped on the X series Exalytics servers. We actually have a couple of very large Exalytics implementations coming up. One of them is one of the, if not the largest Exalytics deployment in the world, and having some semblance of a “hack” semi-Exalytics image running in our lab, on a Unix OS, is going to be very valuable to us. We certainly can’t afford to have a $250k Exalytics box running in our lab, for testing 🙂

    A couple of additional adds to your article, based on the Oracle Advanced Team Training on 3/4/15. HFM is only currently cerftified on the X series Exalytics servers (OEL based). They will not be supporting the T5 series supercluster (Solaris based) Exalytics servers until They stated that this PSU is tentatively scheduled for an April release. I certainly hope they meet this timeline, since part of our large Exalytics deployment was architected, by Oracle, to include HFM running on the T5 Exalytics servers.

    Oracle also said that their Exalogic OVM, which is an OEL based image, that they have available for download on OTN, will also allow HFM to run on it. Of course, it will not be suitable for a Production environment, but, at least it’s something to play around with.

    Another HUGE thing was their “supported” path to migrate to Exalytics HFM from HFM. To say it’s absolutely ridiculous would be the understatement of the year!! They said that you HAVE to do a maintenance release update of an Windows HFM environment to, then you can install the Exalytics server and configure it against the now updated repositories. Once you have installed and configured Exalytics, you can then remove the original Windows based instances and let Exalytics take over. Simple hunh? 🙂 The other option would be to do the MR update of an existing HFM install to, then you can use LCM and the “application snapshot” to migrate to a new Exalytics install. Either way, I think Oracle assumes that people simply have a spare Windows environment around that they can use as a pass-through environment, on the way to Exalytics. Needless to say, if this was Hyperion, back in the day, coming up with this type of crazy scenario, their customers would have had a revolt. But, because Uncle Larry is in control now, they have carte blanche to dictate how many hoops you have to jump through, just to upgrade and use one of their engineered systems!

    They will not support using LCM to export an HFM application and import it to HFM, whether on Windows or Exalytics. Not to mention that Oracle stated in their ATT, in 2013, that they were going to begin supporting application upgrades via LCM. There were all kinds of reports and information that I heard that certain patchsets would allow this, then, in the last few months, I found out that they completely, and quietly, dropped their attempt at supporting this. They seemed to be touting this functionality as the second coming, and then it was buried under the carpet. Needless to say, I had gone through many application upgrades, using LCM, based on this previous information. Luckily, those upgrades went through fairly uneventfully, but, now, I certainly can’t go down that road and still expect support from Oracle, if/when issues come up. But, I digress…

    Also, a couple of slight corrections. The HFM Web applications run on port 7363 (default) and the XfmDatasource/app process port range starts at 9091 (default). These aren’t Weblogic applications or even true Java processes (per Henri’s article). They do require those extra libraries that he mentioned. If they were true java processes, I think that having SSL implemented at the application layer would have been alot easier. But, I guess we should, sort of, be happy that HFM is starting to become platform independent. I think that the outcry from the customer and partner base will drive Oracle to have some sort of PSU, or, at the very least, within the next release or two, make HFM become truly platform independent.

    Hope all is well!

  2. […] Shameless plug for my husband, Oracle Ace Director Eric Helmer, who is going to go through the technical/infrastructure updates with the release of HFM and how it is significantly increasing performance for customers, and why. If you can’t attend the session, he’s got a great blog on the topic here. […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: