Structure of Thin Beans

BI Beans includes thin beans, which support the development of HTML browser-based, business-intelligence applications. Thin beans include HTML versions of the BI Beans presentation beans, as well as other user-interface components that allow users to manipulate the thin presentation beans and to access the BI Beans Catalog.

Each thin bean has two main components: an implementation of the oracle.dss.thin.beans.ThinBeanUI interface; and a UIX Component, which implements the oracle.cabo.ui.UINode interface. The following diagram illustrates the two pieces of a thin bean.

ThinBeanUI and UINode as part of a BI Beans thin bean

The ThinBeanUI is responsible for handling events, and it is the part of the bean that you manipulate most often. For example, to change the appearance of a thin graph, you set properties on the ThinGraph class, which implements a subinterface of the ThinBeanUI interface. The Presentation JSP tag and JSP tags that have the name of a thin bean, such as ExplorerDetail, SortTool, and ExportOptions, correspond to the ThinBeanUI part of the thin bean. UIX Language tags that end with "Def" correspond to the ThinBeanUI.

The UINode is responsible for rendering HTML for the thin bean. The JSP Render tag corresponds to the UINode. The Presentation UIX tag and UIX tags that have the name of the thin bean, such as PrinterFriendlyView and PrintOptions, correspond to the UINode.

Thin versions of presentation beans implement the ThinDataviewCommon interface, which extends the ThinBeanUI interface. The ThinDataview object implements ThinDataviewCommon; ThinGridView extends ThinDataview, and ThinCrosstab and ThinTable extend ThinGridView. This structure is very similar to the structure of the Java-client GridView classes.

The ThinGraph object does not extend ThinDataview. Instead, because the HTML-client graph is so similar to the Java-client graph, the ThinGraph class extends the Graph class. ThinGraph implements ThinDataviewCommon, as ThinDataview does.

The following diagram illustrates these relationships.

Structure of thin Dataview classes; described in text

The HTML-client tools and dialogs all extend the BaseThinBeanUI class, which implements the ThinBeanUI interface. The ViewToolbar extends BaseThinBeanUI directly. The thin dialogs all extend the ThinBeanDialog, which extends BaseThinBeanUI. The thin tools for manipulating the thin views extend the BaseViewTool, which extends BaseThinBeanUI. In addition, the BaseViewTool class implements the ViewTool interface, which extends the ThinBeanUI interface.

The following diagram illustrates these relationships.

Structure of HTML-client dialogs & tools; described in text