Corporate dashboards, easy as PiiE

Digital Harbor's deep-diving visual toolkit builds ontologies for maximum data linkage

When my brother, the TV ad writer, worked for one of the major burger chains, he complained that the success or failure of each advertisement would be decided immediately by the next morning's sales reports. It didn't matter if his 15-second spot was cute, clever, or pretty as long as burger sales spiked after an ad ran.

The current buzzword for such real-time telemetry is "corporate dashboard." The challenge with dashboards is to tie enough data together to make them truly useful in forecasting or reporting rather than just giving yet another database summary.

Digital Harbor's PiiE (Professional Interactive Information Environment) 4.5 meets that challenge. It provides a sophisticated framework for linking data from multiple sources and presenting it in one interactive GUI. Taking the corporate adage, "You can't manage what you can't measure," to heart, PiiE constructs sophisticated dashboards that allow management or line workers to grapple with all the data generated by their company.

The result is what Digital Harbor calls a Business Ontology, which provides a more sophisticated view of data sources than would a plain set of database tables. The managers of a burger chain, for instance, might include information about sales, coupon usage, advertising purchases, and maybe even the weather. The relationships between tables and columns are built into the ontology and thus are available to guide any user who wants to explore the data.

Slicing Up the PiiE

Technically, the PiiE toolkit is a Java-based technology, but I wouldn't be surprised if many adopters never see a line of Java code while using it. The system includes a Smart Client application and a Fusion Server tool that both come with extensive visual development environments. Much of the programming requires drawing lines between boxes instead of typing out parsable Java.

Opinions regarding this approach will probably be split. I'm more of a meat-and-potatoes programmer, but a number of my good friends are firm believers in creating programs in UML  by drawing lines between boxes. They'll be right at home in the PiiE environment, because much of the server and client configuration is done with visual tools that take in the ontology and spit out the XML used by the core applications.

All this information, which comes from multiple data sources, is stitched together with a UML-based visual language. When the design is completed, the PiiE server handles deployment by turning the lines and boxes into EJB that run on the embedded J2EE server.

The scope of the endeavor is impressive, and the PiiE system comes with several major applications that make the dashboard more flexible. The Enterprise Designer environment allows you to specify the data entities, the processes for analyzing the data, and the events that trigger the analysis. Sandia's Jess rules engine is also embedded in the system if you want to program the actions with rules logic.

The ontology used by the smart clients is designed by the Smart Client Builder environment, which stitches together Swing components. A fairly wide collection of Swing components can be linked together in the IDE to produce a smart client that will dynamically display information.

Some of these components are much more sophisticated than the average Swing canvas, and most standard data types come with special displays such as maps. The aforementioned burger managers might link together data and produce maps that compare burger sales with advertising penetration.

Although many people will create their applications entirely from these visual tools, it is possible to extend the system by creating custom components or data sources. The system will react to events generated by either WSDL-defined Web services or JMS (Java Message Service)-based messages. All of these can be coded in Java.

To test PiiE, I built some simple ontologies and extended a few of the examples distributed with the system. The platform is extensive, although a bit slow when the WebLogic server, the smart client, and the different designers are all running on the same Windows PC with only 512MB of memory. If the load is kept in line with the memory, then it's as well-behaved as any J2EE application.

The more I played with the system, the more it became clear that PiiE was trying to break out of the table structure of most databases to allow users to see the networks or links between the data. After the developer works through specifying these links, the toolkit allows the user to click on data and follow the links. This is a great feature for anyone building a dashboard, because users always want to drill down deeper into the hierarchy.

The visual programming system, although not my style, does a great job anticipating how you might use the system. The dialog boxes save plenty of time by snagging common information such as column names from tables. I'm skeptical that nonprogrammers will be capable of using the visual system to its full advantage-- at least not without substantial training -- but I think some programmers will be able to adapt to it quickly and benefit from the various shortcuts.

Still, I came away a bit overwhelmed by the scope of the PiiE system. A wide array of data sources, from database tables to WSDL-specified Web services, can trigger events that filter through the system before the results appear in the right GUI widget. The documentation takes several days to work through, because there is a wide range of possible ways to use the system.

Depth Is the Difference

The main competitors to PiiE are some of the various JSR-168-compliant portals such as Pluto or Liferay. Those systems also make it easy to stitch together modules and build dashboard applications, but they work only at the surface. They provide the framework for linking together the modules and presenting a nice GUI; however, most lack the information-linking back end of PiiE's Fusion Server. If you want to generate that with other dashboard systems, you'll need to revert to old, text Java to do all the work.

The PiiE system requires a certain amount of devotion and training before you can use it, but it rewards this effort with a unique and expansive collection of powers. If your company or your boss wants to build a system that involves comprehensive dashboards, spend the time to explore the deep corners of the API. The results can be quite impressive for you and your users. The targets of the real-time telemetry -- like my brother -- may feel differently about the amount of power placed at corporate fingertips, however.

InfoWorld Scorecard
Flexibility (25.0%)
Value (10.0%)
Documentation (15.0%)
Setup (10.0%)
Ease of development (15.0%)
Capability (25.0%)
Overall Score (100%)
Digital Harbor PiiE 4.5 9.0 9.0 9.0 9.0 7.0 9.0 8.7