开源BI平台Openi的开发数据仓库系统(下)
2009-12-08 17:28
871 查看
三、 系统开发
1 .程序运行框架
本系统主要基于Spring Web MVC框架开发,
Action配置文件为WEB-INF/springapp-servlet.xml,
View配置文件为WEB-INF/classes/springapp-views.properties
程序运行框架图如图所示:
程序运行框架图
2
.WCF
组件
本系统对OLAP的操作主要基于JPivot组件实现,界面展现主要采用WCF组件进行渲染,本节对JPivot组件和WCF组件的使用进行详细介绍。
WCF是一个JSP
自定制的标签库,它主要通过XSLT对XML进行渲染,创建、展现和验证HTML表单。特别地,JPivot组件通过Renderable接口中的
render方法生成组件的XML描述信息,再借助于WCF的Render标签可以将XML描述信息转换为HTML发布到用户界面上。以下对WCF部分标
签的用法分别予以介绍。
(1).form
此组件采用XML文件的方式来创建HTML表单,该组件在设计阶段并不中见,必须通过WCF render标记进行渲染后方可见。XML文件的格式如下:
而它的数据绑定而言,关联到了相关的JavaBean。通过modelReference属性来对bean属性注入值。当然modelReference可以包含EL表达式。
示例:
示例:
3
.JPivot
组件
JPivot - 是一个JSP 自定制的标签库,可以绘制一个OLAP表格和图表。用户可以执行典型的OLAP操作,如上钻、下钻、切片、和切块等。JPviot组件不能直接产生界面输出,但Pviot所有的可发布的组件都实现了Renderable接口,所有组件的输出信息都是通过Renderable接口中的render方法生成的,然后由WCF标签库的render标签调用JPivot组件的render方法将组件信息输出到界面上。以下对JPivot部分组件的用法分别予以介绍。
(1).chooseQuery
采用queryName属性来创建查询内容。
示例:
(2).clickable
使所有的维度成员或级别可以点击,例如产生一个链接。产生的URL地址包含成员的唯一名称。当然,它的动作依赖于sessionParam属性,当它存在时,在新页面展示之前,参数值将写进com.tonbeller.jpivot.param.SessionParamPool。当不存在时,参数值将通过编码附加在超级链接后面。
示例:
四、 系统效果
1. 设置数据源和多维模型
选择数据源和多维模型
2.
浏览报表
打开并浏览报表
1 .程序运行框架
本系统主要基于Spring Web MVC框架开发,
Action配置文件为WEB-INF/springapp-servlet.xml,
View配置文件为WEB-INF/classes/springapp-views.properties
程序运行框架图如图所示:
程序运行框架图
2
.WCF
组件
本系统对OLAP的操作主要基于JPivot组件实现,界面展现主要采用WCF组件进行渲染,本节对JPivot组件和WCF组件的使用进行详细介绍。
WCF是一个JSP
自定制的标签库,它主要通过XSLT对XML进行渲染,创建、展现和验证HTML表单。特别地,JPivot组件通过Renderable接口中的
render方法生成组件的XML描述信息,再借助于WCF的Render标签可以将XML描述信息转换为HTML发布到用户界面上。以下对WCF部分标
签的用法分别予以介绍。
(1).form
此组件采用XML文件的方式来创建HTML表单,该组件在设计阶段并不中见,必须通过WCF render标记进行渲染后方可见。XML文件的格式如下:
<xform style="twocolumn" mce_style="twocolumn"> <title value="Form Demo"> <imgButton label="Cancel" .../> </title> <textField type="int" modelReference="intValue" label="Count" .../> <checkBox modelReference="nestedBean.boolValue" label="Check Me" .../> </xform>
而它的数据绑定而言,关联到了相关的JavaBean。通过modelReference属性来对bean属性注入值。当然modelReference可以包含EL表达式。
示例:
<jsp:useBean id="testbean" class="com.tonbeller.wcf.form.TestBean" scope="session" /> <wcf:form id="formcomp" xmlUri="/WEB-INF/formdemo.xml" model="#{testbean}"/> <form action="formdemo.jsp" method="POST" id="form01"> <wcf:render ref="#{formcomp}" xslUri="/WEB-INF/wcf/wcf.xsl" xslCache="true"/> </form>
示例:
<xform style="twocolumn" mce_style="twocolumn"> <title value="fmt:fetch.title.from.resource.bundle"> <imgButton id="cancel" src="wcf/form/cancel.png" mce_src="wcf/form/cancel.png" action="revert" label="Cancel" forward="tabledemo.jsp" handler="com.tonbeller.wcf.form.ButtonHandler"/> </title> <!-- Text control --> <textField id="string" type="string" modelReference="stringValue" label="Text:" value="" title="please enter some text"/> <textField id="int" type="int" modelReference="intValue" label="Integer:" value="" title="please enter an integer"/> <textField id="double" type="double" modelReference="doubleValue" label="Decimal number:" value="" title="please enter a decimal number"/> <textField id="date" type="date" modelReference="dateValue" label="Date:" value="" title="please enter a date"/> <textField id="dateTime" type="dateTime" modelReference="dateTimeValue" label="Date/Time:" value="" title="please enter a date/time"/> <!-- Password control --> <password id="password" type="string" modelReference="password" label="Password:" value=""/> <!-- Text area --> <textArea id="textarea" rows="7" cols="40" type="string" modelReference="textArea" label="Text area:" value="This is a text area"/> <checkBox id="checkbox1" modelReference="checkBox1" label="check box 1"/> <checkBox id="checkbox2" modelReference="checkBox2" label="check box 2"/> <!-- ListBox, single selection --> <listBox1 id="list1" type="int" modelReference="list1" label="List, single selection:"> <listItem id="list1.1" value="1" label="list item 1"/> <listItem id="list1.2" value="2" label="list item 2"/> <listItem id="list1.3" value="3" label="list item 3"/> <listItem id="list1.4" value="4" label="list item 4"/> </listBox1> <!-- ListBox, multiple selection --> <listBoxN id="listN" type="int" modelReference="listN" label="List, multiple selection:"> <listItem id="listN.1" value="1" label="list item 1"/> <listItem id="listN.2" value="2" label="list item 2"/> <listItem id="listN.3" value="3" label="list item 3"/> <listItem id="listN.4" value="4" label="list item 4"/> </listBoxN> <!-- ListBox, single selection, dynamic item list --> <listBox1 id="listbox" type="int" modelReference="dynList" label="List, dynamic content:" handler="com.tonbeller.wcf.form.TestItems"/> <label label="This is a label" value="value attribute goes here"/> <label label="Dynamic label (content from TextArea)" modelReference="textArea"/> <radioButton id="radio1" modelReference="radioButton1" group-id="group1" label="radio button 1"/> <radioButton id="radio2" modelReference="radioButton2" group-id="group1" label="radio button 2"/> <buttons> <button id="cancel" action="revert" label="Cancel" forward="tabledemo.jsp" handler="com.tonbeller.wcf.form.ButtonHandler"/> <button id="revert" action="revert" label="Revert" handler="com.tonbeller.wcf.form.ButtonHandler"/> <button id="validate" action="validate" label="Validate" handler="com.tonbeller.wcf.form.ButtonHandler"/> <button id="ok" action="validate" label="OK" forward="tabledemo.jsp" handler="com.tonbeller.wcf.form.ButtonHandler"/> </buttons> </xform>
3
.JPivot
组件
JPivot - 是一个JSP 自定制的标签库,可以绘制一个OLAP表格和图表。用户可以执行典型的OLAP操作,如上钻、下钻、切片、和切块等。JPviot组件不能直接产生界面输出,但Pviot所有的可发布的组件都实现了Renderable接口,所有组件的输出信息都是通过Renderable接口中的render方法生成的,然后由WCF标签库的render标签调用JPivot组件的render方法将组件信息输出到界面上。以下对JPivot部分组件的用法分别予以介绍。
(1).chooseQuery
采用queryName属性来创建查询内容。
示例:
<jp:mondrianQuery id="query01" queryName="name1"> SELECT ... </jp:mondrianQuery> <jp:mondrianQuery id="query01" queryName="name2"> SELECT ... </jp:mondrianQuery> ... <jp:chooseQuery id="query01" queryName="name1"/>
(2).clickable
使所有的维度成员或级别可以点击,例如产生一个链接。产生的URL地址包含成员的唯一名称。当然,它的动作依赖于sessionParam属性,当它存在时,在新页面展示之前,参数值将写进com.tonbeller.jpivot.param.SessionParamPool。当不存在时,参数值将通过编码附加在超级链接后面。
示例:
四、 系统效果
1. 设置数据源和多维模型
选择数据源和多维模型
2.
浏览报表
打开并浏览报表
相关文章推荐
- 开源BI平台Openi的开发数据仓库系统(上)
- 基于开源BI平台Openi的数据仓库系统的设计开发
- 中小型企业商业智能平台的开发和实现(数据仓库、BI系统、真实项目实战)
- 中小型企业商业智能平台的开发和实现(数据仓库、BI系统、真实项目实战)
- 中小型企业商业智能平台的开发和实现(数据仓库、BI系统、真实项目实战)
- 开源BI报表及OLAP多维分析平台OPENI(二)—搭建Eclipse下的Openi开发环境
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 远程同步服务器大量基础数据到客户端
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 大型软件系统客户端数据同步的问题解决
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台(C#开发)-系统需求分析
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台(C#开发)-系统需求分析
- 分享一个全开源的ASP.NET快速开发平台,能快速开发OA CRM ERP 等系统
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 所有的基础数据都可以恢复删除
- 全球最大开源软件开发平台和仓库
- BI建设实战–使用SSIS根据数据仓库数据有条件提取业务系统数据
- 快速开发平台 开源,帮你快速开发OA、CRM、ERP等系统
- 数据仓库之系统开发周期(SDLC)
- C#.NET 大型通用信息化系统集成快速开发平台 4.0 版本 - 省市区数据权限的实现效果
- 通达OA智能开发平台CRM系统 实现数据的自动计算
- 数据仓库,数据挖掘,OLAP,BI等系统技术深度建设
- 全球最大开源软件开发平台和仓库