Share:

Scalable Embedded Analytics with Pyramid

To make business analytics more accessible and relevant, organizations have been striving heavily to put analytics in the context of their business applications and workflows, rather than treat it as a separate set of tools and functions running in its own sandbox.

The process of embedding analytics is now a top tier demand and it comes with its own set of problems and complexities. Pyramid’s embedded analytics (separately licensed) is strongly designed to meet those challenges—making scalable, high-end 3rd party analytic solutions a reality.

Challenges

There are two core challenges with embedding analytics:

  1. The first relates to the process and technology that allows a complex application to run INSIDE another host application. This extends to how the content renders, its interactivity and its performance.
  2. The second relates to securing the analytic content—which is usually a window on top of prized data that often needs to be authorized in some manner.

The Technology

Almost all embed scenarios are through web content. Many analytic applications expose some version of their capabilities through a browser-based client. So, it follows that to embed the analytics, organizations must find a way to embed the analytic web site in the hosting application. And while this works in theory and has been an acceptable solution in practice, this exercise usually involves loading the web client into an IFRAME on the host page.

While the result should be a “light and fluffy” page, most web-based analytic clients are quite heavy: loading big data models into the browser; creating complex visualization objects; and producing interactive options for the end user. So much so, that to prevent the entire application from hanging or crashing the browser, most deployments have only one or two such IFRAMES per host page or panel. This is typical because each IFRAME instantiates its own separate client and duplicates the structural and memory footprint for each embedded item.

To further complicate matters, the IFRAME model - a dinosaur of older HTML standards - is on life-support with the emergence of HTML5 and modern web-app design (with frameworks like Angular and React).

To avoid these issues, some analytic applications render pictures and images. But it comes at the cost of low or no interactivity, not to mention issues with responsive design and low-quality, childish visualizations.

Security and Authorization

The next challenge involves data security.

Most analytic scenarios involve looking at important data. And if it’s important, the access needs to be secured and authorized. Most solutions involve a process of securing the embedded content. However, it becomes a challenge if the content is hosted in a different domain to the analytic platform or in scenarios where the technologies use entirely separate authorization techniques.

That said, with good technical development and time, most security headaches can be solved. It would just be so much nicer if it was easier.

Embedded Analytics with Pyramid

Pyramid was designed from the get-go to solve the challenges of embedding.

  • First, the solution includes a fully functional web client that was designed using modern HTML5 standards - keeping it light, nimble and easy to integrate . This means content can be exposed through any HTML container tag that can house the HTML directives (like “DIV”).  Pyramid content can live ON the page itself rather than in separate, sandboxed IFRAME containers. And it’s fully compliant with all the modern HTML5 frameworks and solutions in the market today.
  • Second, and most importantly, the client engine is instantiated once on a page—regardless of how many separate embedded items are shown. This has a dramatic impact on performance, because it means the solution can scale and the browser will not crash.
  • Third, Pyramid’s security REST APIs allow developers to easily create any type of security interface and authorization process between their host application and Pyramid; using practically any development language or host technology,  including all the necessary plumbing to solve cross-domain problems.
  • Fourth, the main Pyramid client interface includes super simple tools for grabbing content and embed "code snippets" that can be literally dropped into a host page to make the process of building and deploying embedded analytical content fast and easy.

  • Lastly, Pyramid includes a set of specific JavaScript API functions for embedded content that will facilitate the deployment of an application with dynamic embedded content. When coupled with the broader administrative and operational REST API’s, it’s entirely possible for organizations to build their own custom analytic viewer on top of Pyramid.

Other Resources

To get a better sense of how this all comes together, check out these links:

  1. See embedded content in action on our website here.
  2. Watch a demo movie on how to embed with Pyramid 
  3. Learn more about Pyramid embedding on our help site here.
  4. View example embedding scenarios here.
  5. Read more about how to create dynamic embedding here.