Suppose you are an applications developer who wants to include reports or dashboards in your final product or perhaps give users the ability to explore data visually without boundaries, which is the current rage in this era of "big data." Do you build the BI functionality yourself or do you buy it from a reputable business intelligence (BI) vendor and then embed it into your application?
There are pros and cons to both options, but since BI tools have matured significantly in the past 20 years and now run on modern hardware, software, and internet platforms, it's likely that you'll opt to embed an existing BI product rather than invest the time and resources required to build your own BI capabilities.
Nonetheless, there are reasons why you might want to roll your own BI functionality. Control is perhaps the biggest factor. When you build your own BI functionality, you get just want you want and nothing more or less. When you tightly integrate BI functionality into your application, you can deliver an exquisite experience for users. Users can flow seamlessly from one set of functionality to another without having to launch a separate application with its own look and feel. This degree of integration might be particularly important if analytics is one of the primary features of the overall product.
But there are other reasons as well. Building your own capabilities might make sense if BI tools don't support the functionality you need. Or, perhaps it's quicker to build your own capabilities than integrate a commercial BI tool with your application. And finally, you avoid licensing and royalty costs when you build your own BI functionality and you don't have to worry about handing off support calls to a third party.
However, most application developers simply slip into becoming BI developers when they decide to add a chart or table to their application. They mostly use open source libraries to keep costs low. But over time they create more and more BI content, which they have to maintain and enhance. In essence, they end up creating a BI platform, which becomes a huge time sink. Although they don't know it, these developers need access to a low-cost BI platform which looks and feels like low-cost charting libraries but supports the full life cycle of BI development.
Why Buy and Embed?
Despite these benefits, more companies choose to embed third party BI software into their products or applications rather than build their own BI. The primary reason is that for many developers, BI is not a core competency and they don't want to divert precious time and resources into building, maintaining, and extending a BI tool. It's much simpler to outsource these capabilities to a trusted third party who lives and breathes BI for a living and can keep up with all the latest developments. Embedding commercial BI tools into your application enables your development team to focus on what it does best: building the features and functions of the core application.
Moreover, embedding third party software instantly enhances your application or product with best-of-breed BI capabilities. This makes your application more appealing and desirable. In addition, the third party invests its own resources to enhance the product on a continuous basis, ensuring your application always contains the most modern and up-to-date BI functionality. And embedding a third party product accelerates your time to market. Rather than building BI functionality from scratch, you simply integrate your application with a third party BI program using a high-level API, which are increasingly Web-based and easy to learn. Finally, the right BI vendor can work on your behalf, promoting your (commercial) product in the marketplace and serving as a channel for additional sales.
Things to Consider
If these benefits compel seem worthwhile, and you decide to embed a commercial BI product in your application, you should consider a few things.
BI functionality. First, not all BI products are alike. You need to find a product that supports the BI functionality you need. And that depends on the types of users who will be using your product and how they want and need to access and analyze information. For example, casual users like executives and managers usually simply need to monitor key business processes. As such, they generally need simple, interactive dashboards that consolidate information, display visual metrics, and let users click to drill down to more detailed information. Power users, on the other hand, such as business analysts will want to explore data, add dimensions, create calculated fields and custom groups, and author their own reports and dashboards. Most BI tools are either better suited to casual users or power users, but usually not both.
Rich API. Second, you'll need to evaluate the depth, breadth, and accessibility of the application programming interface (API) that enables you to plug the BI tool into your application. Ideally, you want to be able to access the full range of functionality offered by the BI tool, as well as create a custom look and feel that matches your application's graphical interface (i.e., "white labeling").
Time and effort. Although embedding a commercial BI product saves time, don't underestimate the effort required to integrate the tool into your application. You still need to configure the graphical interface, create metrics and populate them with data, establish dimensional hierarchies and drill paths, create analytical workflows that update application content or trigger alerts, and pass through security tokens to ensure users only see authorized reports and data. Often, commercial BI tools lack a critical piece of functionality that an application requires, and either the BI vendor or the application developer or both working together must build it from scratch. All this takes time and effort; embedding is never as quick and easy as most developers expect.
Authoring environments. The best BI tools for embedding offer a simple but powerful authoring interface that makes it easy for developers to create custom reports and dashboards and plug them into their applications. The last thing developers want to do is learn a new development environment so the simpler the better.
And to be honest, some developers would rather not learn a new authoring environment at all; they would prefer to access BI components within their own Java or .NET development environments. And if they develop cloud-based applications, they would rather provision BI services from their platform-as-a-service provider (e.g. Amazon Web Services) and use the same utility- or subscription-based licensing scheme (e.g. hourly usage rate or monthly user subscriptions.) These are the developers I mentioned above who inadvertently slip into building a BI platform.
A few BI vendors, such as Jaspersoft, Logi Analytics, Pentaho, and Actuate, have positioned their products to appeal to software developers who want to embed BI into their applications. These vendors tip the "build versus buy" scale in favor of embedding third party BI functionality. They offer rich modern APIs, simple yet powerful authoring environments, cloud-friendly server-based processing, and generous licensing terms. Many also have created forums where developers can share ideas, troubleshoot issues, and, in some cases, market their applications and functionality.