TIBCO: Embedded Visualizations’ Impact on Software Trends
The Grease Behind Software Systems
The Information Bus Company (TIBCO), as it was originally known, may not be as well known as some of the other large tech companies, even though it was founded in the late 90s. Presently, TIBCO has many different products that serve a variety of use cases, so it can be difficult to understand exactly what they do, if this article is the first time you’re reading about them.
Here are the important pieces of context: TIBCO initially offered a messaging bus to enterprises, this product grew in popularity, the business evolved with trends and developed more products, and now TIBCO is a global software force. At the time of writing, TIBCO’s customers include T-Mobile and NASA. The evolution of TIBCO’s product line was fueled, in part, by a number of acquisitions. One such acquisition was Jaspersoft, an embedded analytics tool, in 2014.
Jaspersoft, originally called Panscopic, emerged from a previously open-sourced project called JasperReports in 2001. JasperReports was a Java library that could produce reports in a number of formats, including PDF, HTML, and CSV. Jaspersoft eventually acquired the intellectual property behind JasperReports. Jaspersoft’s pre-acquisition market position and its post-acquisition transition away from a Java monolith provide insight into how visualization tools are changing to maintain relevance. If you’re specifically interested in learning more about Jaspersoft’s successful migration from monolith to microservices, check out this episode of Software Engineering Daily.
Use Case for Embedded Analytics
Data can be easier to consume if it is visualized properly. Large enterprises have a need for tools that can generate data visualizations, in order to make better business-related decisions. In other words, data visualizations can help a business increase their bottom line. Data visualization frameworks fall under the umbrella of business intelligence tools. Sherman Wood describes early business intelligence as “a dashboard in a portal-based application… where you looked at all of your BI” in this episode of Software Engineering Daily. This pattern has fallen by the wayside, while embedded analytics are increasing in popularity. It’s interesting to note that microservices were also increasing in popularity during this timeframe.
Embedded analytics are visualizations that live within internal applications that typically allow users to take some kind of action. Sherman Wood notes that portals dedicated to visualizations cause “…context switching to another application to actually take some action.” As detailed in the episode mentioned previously, Jaspersoft migrated from a monolithic Java application to a microservice-oriented architecture. This migration was driven by evolving business intelligence needs; it’s more difficult to support embedded visualizations with monolithic applications than with microservices.
Sherman Wood believes the initial impetus for this migration was Jaspersoft becoming “…the first BI platform on AWS, in their marketplace.” Alongside Jaspersoft beginning to ship their product in containers on AWS, their customer base began “…shifting from users of a standalone BI server to those who are SaaS providers”, as noted by Sherman. This necessitated an architectural shift in Jaspersoft’s software.
The Unavoidable Problems in Data Visualization
Modularizing Jaspersoft’s architecture was a critical step towards meeting the demands of customers operating SaaS businesses. In other words, Jaspersoft had to conform to SaaS architecture and all that came with it, including containerization. Dumping a Java monolith into a Docker container is a great way to give your customers a sub-par experience, to say the least; microservices were a must.
Though it’s a tautology, it should still be reaffirmed that sub-par user experiences do not optimize a business’s bottom-line. An evergreen problem in the realm of data visualization, noted Jaspersoft Principal Architect Sherman Wood, is the notion of “finding the data and then making it operationally available.” Wood also mentions that “you often see microservice after microservice being created to support individual visualizations.” If you’re interested in learning more about ubiquitous problems in the data visualization arena from Jaspersoft engineers, check out this episode of Software Engineering Daily.
Finding data and making it available are problems that will exist for the foreseeable future. But, breaking up the Jaspersoft monolith was an attempt to assuage the impact of these problems. It can be debated as to how the responsibilities of solving these problems should be split between backend and frontend technologies. Regardless of how they should be split, it’s interesting to examine why a debate about this partitioning of responsibility can exist.
Figure 4 helps illustrate this by presenting one way for backend and frontend technologies can interact to produce a visualization. Given, this is a very high-level overview, but the gist is there. By no means does Figure 4 attempt to represent the optimal interaction between backend and frontend technologies to render a visualization. Rather, Figure 4 outlines one approach; all of the logic is in the microservice and the frontend is agnostic to the data rendered.
The pattern presented in Figure 4 isn’t nearly as common as it used to be. In this episode of Software Engineering Daily, Jaspersoft engineer Chad Lunley rightly states “computers are so fast right now that we can offload a lot of that backend, technical stuff to … the frontend.” In today’s age, the client-facing side of an application is usually backed by much more computational power than it was a decade ago. All of this compute power ultimately enables developers to expand how they allow users to interact with data and meet the increased expectations of users.
Though TIBCO® Jaspersoft is only one of TIBCO’s many products, it is representative of how TIBCO has evolved with the times. Jaspersoft’s evolution also touches upon a number of pervasive themes in the world of software such as decomposing monoliths, increasing computational power of client-side devices, and rising expectations of users. Its history is an interesting case study into a number of technological trends and is worth exploring more. The episodes of Software Engineering Daily linked in this article are well worth your time.