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.
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.
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.