2011年第1期 SCIENCE&TECHNOLOGY INFORMATION O IT论坛0 科技信息 BIRT商业智能报表在J2EE的应用 李根’徐颖 (1.安徽理工大学计算机学院 安徽 淮南 232001;2.安徽理工大学土木建筑学院 安徽 淮南 232001) 【摘 要】BIRT是基于Echpse的开源Web应用程序的报表系统。本文介绍了BIRT体系结构、并详细介绍了Design Engine API、Report Engine API的用途。给出了示例程序。 【关键词】BIRT;商业智能报表;RCP Business Intelligence and Reporting Tools for J2EE Application 【Abstract]BIRT is an Eclipse—based open source reporting system for web applications.This article introduced the BIRT architecture.and the detailed use of Design Engine API,Report Engine API,We also gives examples for reference. 【Key words]BIRT;Business Intelligence and Reporting Tools;RCP 1 BIRT简介 图表引擎——独立或嵌入BIRT报表中设计和生成图表.Charting Engine API(CE API)允许Java/J2EE开发人员在应用程序中嵌入图 BIRT(Business Intelligence and Reporting Tools),是基于Eclipse 的开源Web应用程序的报表系统,特别之处在于它是以Java和J2EE 表,设计和报表引擎使用CE API创建图表。 为基础。BIRT有两个主要组件:基于Eclipse的报表设计器,以及部署 BIRT浏览器——预览报表,既可以独立运行于J2EE应用程序 到应用服务器上的运行时组件。 (任何兼容JSP的J2EE服务器),也可以嵌入于富客户端平台(RCP) B]RT还提供了添加图表到应用程序的图表引擎。它能与应用程 应用程序。BIRT提供单个HTML、分页HTML、PDF、XIS、DOC、PPT和 序整合在一起,制作出精美报表。 Postscript作为网络输出:并支持导出数据。 BIRT项目开发流程如图2所示。 列表——列表是最简单的报表。 图表——提供饼状、线状以及柱状图标等。 3设计引擎 交叉表——交叉表使用两维显示数据:季度销售量或页面点击 率。 设计引擎使用(DE API)创建设计报表,通过读取写入报表,修改 信函和文档——通知、信件、以及其他文本文档;文档包括正文、 报表内容。 格式、列表、图表等。 首先.创建DesignConfig类实例对象config,并配置” 混合报表——包含以上几种报表构成的单一文档。 BIRTHOME”、并启动平台。 DesignConfig eonfig=new DesignConfi ); 2 BIRT组件 config.setProperty(”BIRT_HOME”,”C:/bitr—runtime一2—6_o/ BIRT项目提供的许多组件。下面列出了这些组件的简单描述(图 ReportEngine”); Platform.startup(config); 一)。 第二步,利用config对象,通过设计引擎工厂方法创建引擎实例 对象engine。 IDesignEngineFaetory factory (IDesignEngineFactory)Platform . HI^ ereateFaetoryObjeet(IDesignEngineFactory 耆器 EXTENSION_DESIGN_ENGINE_FACTORY); ^口■ ■喃■ * _ IDesignEngine engine:factory.ereateDesignEngine(eonfig); 第三步,实例化SessionHandle并创建一个报表设计对象design。 SessionHandle session=DesingEngine.newSession(nul1); ReportDesignHandle desing=session.createDesign(); 第四步,实例化ElementFactory对象factory。 图1 BlRT各组件关系图 ElementFactory factory design.getElementFaetory(); BIRT报表设计器——刨建BIRT报表设计,以XML格式存储。 第五步,通过factory对象向报表添加新元素,如:MasterPage、 设计引擎——创建和修改报表设计,Design Engine AH(DE API) d、table、label等。 DesingElementHandle element=factory.newSimpleMasterPage f” 包装了设计引擎的函数并用于任何Java/J2EE项目中。在BIRT报表 设计器中使用DE API构造XML设计。 Page Master”); 报表引擎——使用报表设计文档生成报表。Report Engine API desing.getMasterPages().add(element); (RE API)用于任何Java/J2EE项目中,在BIRT网络浏览器中使用RE GridHandle grid=factory.newGridhem(null,2,木cols /,1 row API来执行和显示报表。 /); design.getBody().add(grid); 最后,保存并关闭报表。 desing.saveAs(”test.rptdesign”); desing.close(); 此时可以在BIRT中打开报表预览它。 4报表引擎 报表引擎使用(RE API)运行显示报表(图3)。 首先.创建EngineConfig类实例对象eonfig,配置引擎并启动平 台。 町盎* l一… lEngineConfig config=new EngineConfig(); 图2 BIRT顺序图 config.setEngineHome(”C:/birt-runtime一2 6 0/ReportEngine”); 74 科技信息 0 IT论坛0 SCIENCE&TECHNOLOGY INFORMATION 2011年第1期 (上接第14O页)同一个心理障碍的解释并不是唯一的,不同的治疗 config.setegConfLig(”e:/birt/logs”,Leve1.FINE); 原理会对同一个心理障碍有不同的解释,重要的并不是这个解释是什 Platform.startup(eonfig); , 第二步.利用config对象,通过报表引擎工厂方法创建引擎实例 么。重要的是治疗师与来访者都相信这个解释是可信的。 2.2东西方之间的文化差异是否会影响这些共同因素 对象engine。 第一个因素更多的取决于当事人自身改变的动机;第二个因素, IReportEngineFaetory factory (IReportEngineFactory)Platform ereateFactoryObjeet (IReportEngineFactory. 有效的治疗关系常常以“真诚、无条件积极关注和尊重”为重要特征,EXTENSIONREPORTENGINEFACTORY);治疗师本身的人格特质尤其是共情的能力很大程度上决定了治疗关 系的质量,较少受到文化差异的影响。 EngineConfig config factory.ereateReportEngine(eonfig); 而第三个因素,一套双方都认可的治疗原理或概念构想,是受文 engine.changeLogLevel(Leve1.WARNING); ._一一二 化差异影响最大的。一般说来,一套治疗原理本质上是一种人性观,它 lReportRunnable design=engine.openReportDesign f”Reports/test. 要解答的是两个问题“人是什么?”以及“人的问题从哪里来?”,对于这 rptdesin”)g; 第四步.利用engine对象生成一个或多个任务task对象。 第三步.利用engine对象打开报表文档”test.rptdesign”。 两个问题的思考不可避免地会受到社会文化和个人经历的影响,所以 在某种意义上。任何一套治疗的原理和概念构想都是一种个人哲学, IRunAndRenderTask task = engine.ereateRunAndRenderTask 它一定会带着那个时代、那个社会以及那个人自身独特经历的烙印。 所以一套在特定社会文化环境中产生的治疗原理可以用来解释和治 (desin)g; 第五步.选择输出样式:HTML、PDF等,并对其详细设置。 疗在同样的社会文化环境中的人的问题,但离开那样一个特定的社会 HTMLRenderOption options=new HTMLRenderOption0; PDFRenderOption options:new PDFRenderOption0; 第六步,运行并显示报表。 task.setRenderOption(options); 文化环境,这一套治疗的原理和概念构想就有可能失效。但是我们同 样不能忽视的一点是两种文化之间虽然存在比较大的差异,但是这种 差异不是绝对的,两种文化之问同样有共同的东西,而一套好的治疗 task.runO; 第七步,对于多个报表,重复3-6步骤 第八步,完成显示后,关闭任务、引擎等。 理论的核心信念往往是两种文化之间共同的东西,比如以来犯者为中 心的疗法深信人生而有自我实现的潜能,认知行为疗法认为一个人的 思维会影响他的情绪。所以,虽然精神分析关于性动力的思想在今天 并不为大家所接受。但精神分析的另一个核心信念即认为一个人的行 为受到一些他自己都意识不到的因素的影响已经被大家所接受。 3讨论 综上所述.我们可以看到.受到文化差异影响比较大的是一套治 疗原理或概念构想这一因素,但是文化差异对于这一因素的影响可能 task.close0; engine.destroy0; Platform.shutdown(); 并没有我们想象中那么大,因为一套好的治疗原理所包含的核心信念 往往是各文化中共有的。这也就提示。或许文化间的差异对于心理咨 询的效果影响并没有我们想象中的那么大。 尽管如此,本人认为心理咨询依然有本土化的必要。一方面。关于 心理咨询中共同因素的研究处于起步阶段,关于究竟心理咨询中有哪 些共同因素会影响来访者,会使来访者产生改变的问题还没有一个明 确的答案,虽然就目前而言,文化差异仅仅对一套治疗原理或概念构 想这一因素有比较大的影响。但可能咨询中还存在其他的共同因素, 而这些因素也许会受到文化差异的影响。 另一方面.中国传统文化源远流长.数千年积累下来的许多民间 生存智慧都折射出对心理问题的综合性理解。中国的传统文化对于人 以及人的问题有着自己深刻的看法,这些看法是符合中国人的思维模 式的.是为中国人所广为接受的。所以建构一种以中国人心理特点为 基础,根植于中国传统文化和中国古代心理学思想基础之上的一种本 土的心理咨询模式是完全可能的。l 图3 RE APl的类图 【参考文献】 [1]江光荣.心理咨询与治疗[M】'△肥:安徽人民出版社,1995,380+ [2]黄姗,陈小萍.当代中国心理咨询与治疗本土化的途径.牡丹江师范学院学 5 总结 BIRT不仅可以部署在iava代码平台,也可以部署在非Java代码 报,2006(6):121—123. 论中国人社会化与心理咨询本土化.南都学坛,2002(22). 平台,如:PHP。BIRT具有良好的扩展性,可利用BIRT脚本来扩展 [3]刘毓.[4] ̄3J6荣.心理咨询的理论与实务【M】.高等教育出版社,2005,35. BIRT,另外还可构建BIRT扩展插件扩展到BIRT中。BIRT提供ODA 心理咨询的理论与实务fM】.高等教育出版社,2005,36. (Open Data Access)框架来支持自定义数据访问方法。BIRT 2.3.0支持 [5]江光荣.ried,M.R.Some views on efective principles of psychotherapy 输出到HTML,PDF,Excel、RTF(Rich Text Format)、SVG(Scalable Vector [6]GoldfGraphic)、图像等等。BIRT在今后会提供更多输出格式。l 【参考文献】 [1]BIRT官方网站.http://www.eclipse.org/birt/phoenix. [2]BIRT社区.http://wv ̄.birt-exchange.ors/. Cognitive therapy and Research,1980(3):271-306 [7]Framk,J.D.Therapeutic components of psychotherapy:A 25一year progress report of research.The Joumal of Nervous and Mental disease,1974(159):325— 342. [8]夏瑞雪,高学德.从文化角度探讨心理咨询理论的本土化甘肃联合大学学 报,2008(24). [9]汪新建,张秋霞.关于心理咨询与治疗本土化的思考.甘肃社会科学.2003 [责任编辑:张慧] (2). [103何昭红.心理咨询本土化问题初探.健康心理学杂志,2OOl(9). 作者简介:费涛,上海师范大学应用心理学硕士研究生,研究方向为心理咨 询与治疗、0理学史。 [责任编辑:翟成梁】 75