Many new BO WebI users, especially former “full-client” users, complain about how slow and inefficient it is to develop reports on WebI. Most of the time when I hear these complaints I come to discover that the complainer is missing some basic knowledge about WebI report editor.
First the Basics of BO WebI Client Server Relationship
Business Objects XI WebI is a web application that depends on the web server and CMS repository for quite a few things. This is not a stateless web application. Initially the server provides the editor, GUI, parser… to the client. Once the editor application (a.k.a. Web Intelligence Java Report Panel) loads locally the server maintains a constant communication channel with the editor. The WebI Java Report Panel starts by default in the “Results Viewer” mode.
What is the “Results Viewer” / “View Results” mode?
The results viewer mode of WebI is the complete WYSIWYG (What You See Is What You Get) mode of Web Intelligence. It present the report almost exactly as it will appear to end-users (there are a few differences). Complete communication with the BO server is required in order to generate the WYSIWYG view as it applies all formatting, filtering, aggregation, and calculating on the report’s variables and the query’s results. Some may argue that this should not require server communication beyond the first iteration; however it certainly does in the present “online” WebI versions (“off-line WebI” should change this drastically). It seems that the standard “online WebI” is in many ways a “light client” application. All of this means that EVERY change made to the report while in “View Results” or “Results Viewer” mode will require communication to and from the server and this will make editing the report VERY slow.
WebI Java Report Panel’s Structure View to the Rescue
What is surprising to many is that certain mundane actions that normally would not even register with the server do require server processing when executed in the default “Results View”, but not in the “Structure View”! To switch to the “Structure View” click on the button labeled “View Structure”. This will switch you to a template of the structure of the report you are building. Now changing fonts, cell shading, column order, header titles, cell contents and much much more become instantaneous. Most of the changes you make to the report are cached on the local client; this explains the new found speed.
Additional Advantages of the Structure View
The structure view also allows you to view and easily manipulate certain elements of the report better than the “results view”. For example, table footers can be quickly accessed and section within the report are represented with gray lines that mark their beginning and end. A cell’s object(s) or variable(s) can also be immediately visually identified in the structure view as well.
A Disadvantage of the Structure View
All of the speed of the Java Report Panel Structure View is because server communication is reduced to the minimum. This minimal level of communication means that most report formatting actions and several common report editing actions are not communicated to the server at all. Big deal? Yes, this means that the server is not being reminded that you are working hard on your report and it is certainly not saving those wonderful changes you are diligently working on. In other words, when working in the “structure view” save often!
Using Structure View is an excellent way to gain performance when editing reports. Another option is to purge all data before making changes to the report.
Does Rich Client have the same constant interaction between the client and server?
Great point on the alternative of purging the data. Truthfully, though, even with all data purged, I have had much better performance with the Structure View.
Excellent question about the rich client. I really need to stop messing with R2 and start playing with R3 more. I really wonder how they handle this. Please share anyone who knows.
R3 Rich Client does not have frequent communication with the server, only when you require new dimensions of refreshing information.