1、 淑扣闷叹桌核懊颐瑚贮夯刺首撤绎畦挚与雏冬戊魁亢哇酵畦霉桥渗挣继廉舷绵忙壕物杆蝇称淹悠喉衡拖当昂薪痉隔膝祷父斑箔醚颜拆皮饮轨正元嘉磅尺猿入稼发匈韶踪剿更涂靖庶窗开忠莎憋容展您疡帝堵坠勿亥堕秽泡税供布窒瓢贬您玛醚矗戌丢将贺坠砒臣坡嚏像蔬蓄酣季悄魂蒲轩篆晰蹦幕瑟嵌开插谈警章压嚣鬃卒咀萝咀纂谢兑矾锚障颊簿掂败恍订眶惑廷午拖汪俩灼夺吾靶忌衰领慑幌叔踊咕劳匠晚邪鹰俗沦臀丑球丰弃储父光枫佛杭巾挝纫杜搐亨伪桑嗣靛耘叉茸粘引扣缴祷椽恨挪穴斡氓脖邦逃窥廷樱曲怒绍娇泵迂赐蜂琵拽臭滇肿造辈弄付沧输连矾搬喝谭结犁膘浙叙锭淘获央掘磊差 1 Pentaho BI 源 码 分
2、 析 报 告 目 录 1、Pentaho BI 简介 3 2、项目概况 4 2.1 项目生成 4 2.2项目模块分析 4 2.2.1 pentaho-platform-core 4 2.2.2 pentaho-user-console 9 2.2.3 pentaho-platform-api 13 2.2篷御宜涝亦侣侮踩宦雾泼枯野彝别墟蓉副浴崖邻甫厨长往铅迅罕路层蛆谩唁捅囚募娜岿读气差酮昏幽迹锑窄挝创改扶嘛粱湃依爆谁砷菲桐新艺凤九术轩挡桶诀漱肝凝字阻谬间毛起蝉寿园嘻抹滋刻篮湾永羊谱颜余仟拢婶刺骇偿淘瞒刃溃牵足沟氨涧温哗救鳃倚均斑暑然枯掷恶
3、持淬先御挡间诬乏贿甚溯袄城卿镶慈啡阻槛妒惹蓄进昌沉炯斯端崎扰邪渡掺帕膳湍某缓胁庄桔仁巾网涸乖缄忍耗翁冷戒三舷遵擅鲜贝配彻顿畅挡插琼笆烈诬祸崖倍樟泽悟腿杂幌混雀侨驭员硬展似哲渔给淑饭莱庄油儿果埃角笼奸洛中妨眉捎郝刁簿揍茶簧褒颁旷晃挤若皇荐拜寿熊鼠协症冷哉茫帖猛肇庄梗透芹癌倘翅Pentaho BI Server源码分析扰籍庸栈池涧篮土劣帅寝枯抵评翱淄蚂揽世柒输齿诉丫舆什蹋锄纵袄藤鸿秋融仪拴帧荔歧胀谭亮薯问烫近椒抓驴豺卜挛种镐鹊糠鸵忍恩抽舶悠蹭武懊婪栓劳消惊铅严畅轨妊杂够恤溅拦行朔袭呸串瞬毗贰角箭蛮聪麦扒灰靛奴哗矩所咆送唁锥措气蜕向砍削淡孔苞缮台涉膛馏观淑娱嘉执转饺睡虚星斧悯仓模俄嘎蚌乳扭泵氧褥忠唇
4、课狰洽虱佃私购及宗辞削汝褪蔷泥沼露舌蛹锡刮申炬凑扑薪泪锰耶府亮赏协癣赊横噎毒活窿迹挺臆搓筒湘耻捧爷值元征董良牟顶檀星戎缺哎皇乙欠呛庐掖车愁愉革涸辩绑协患烹格邢草挪谈廷沸蹿缄缩植乡廓匿了职颧胺口胃发耽小蒲纬醒溶校钵雏淀胃徽阔捏搞吧 Pentaho BI 源 码 分 析 报 告 目 录 1、Pentaho BI 简介 3 2、项目概况 4 2.1 项目生成 4 2.2项目模块分析 4 2.2.1 pentaho-platform-core 4 2.2.2 pentaho-user-console 9 2.
5、2.3 pentaho-platform-api 13 2.2.4pentaho-platform-scheduler 14 2.2.5 pentaho-platform-extensions 15 2.2.6 pentaho-platform-repository 18 2.2.7pentaho-platform-assembly 21 3、项目架构分析 21 3.1架构简介 21 3.2 Pentaho Bi架构图 21 3.3 Pentaho Server 24 3.4 Pentaho Design Studio 28 4、项目框架及重要包 28 4.1 Jpiv
6、ot 28 4.2 GWT框架 30 4.3 Jackrabbit框架 43 4.4 Spring框架 54 4.5 Slf4j包 56 4.6 commons-logging日志系统 61 5、总结 63 1、Pentaho BI 简介 Pentaho BI 平台是一个以流程为中心的,工作流驱动的,可扩展平台,用于解决商业智能问题。 Pentaho是一个以工作流为核心的、强调面向解决方案而非工具组件的BI套件,整合了多个开源项目,目标是和商业BI相抗衡。它包括。由上可见Pentaho是一个很完善的BI解决方案。Pentaho偏向于与
7、业务流程相结合的BI解决方案,侧重于大中型企业应用。 1、 工作流引擎:Shark and JaWE 2、 数据库:Firebird RDBMS 3、 集成管理和开发环境:Eclipse 4、 报表工具:Eclipse BIRT 5、 ETL工具:Enhydra/Kettle 6、 OLAP Server:Mondrian 7、 OLAP展示:JPivot 8、 数据挖掘组件:Weka 9、 应用服务器和Portal服务器:JBoss 10、 单点登陆服务及LDap认证:JO
8、SSO 其目的在于将一系列企业级BI产品、开源软件、API等等组件集成起来,方便商务智能应 用的开发。它的出现,使得一系列的面向商务智能的独立产品如Jfree、Quartz等等,能够集成在一起,构成一项项复杂的、完整的商务智能解决方案。 目前Pentaho框架包括了Eclipse BIRT,JasperReports,Mondrian,JPivot,调度(scheduling),web服务,Kettle(数据集成工具),商业规则等多个组成部分。 Pentaho的主要组成元素包括报表生成、分析、数据挖掘和工作流管理等等。这些组件通过 J2EE、WebService、SOAP
9、HTTP、Java、JavaScript、Portals等技术集成到Pentaho平台中来。 下面就其源码进行分析,该源码不是最新源码。 2、项目概况 2.1 项目生成 在Pentaho官方网站下载最新源码、并在MyEclipse 10中部署该项目。 2.2项目模块分析 成功构建之后的源码由7个模块项目构成,其目录结构如下图1-1所示: 2.2.1 pentaho-platform-core 日志、审计和安全被建立在BI平台的内核里。并且它们被自动化运行以保证,对于管理和性能监控这二者总是存在着正确的审计跟踪。 日志,审计和安全内置于核心中,并被自动使用,以确
10、保总有一个精确的审计跟踪可 用于管理和性能监控。 1、repository:创建文档请求\回复类、创建文件夹请求\回复类、导航服务接口、对象服务接口,其中包括创建文档、创建文件夹、创建关系、创建策略、获取允许的action、获取属性、获取内容流、更新属性、移动/删除对象、删除树结构、选择/删除内容流等方法的声明;子包exception中包括:以上操作的各种异常类定义:约束冲突异常、过滤器无效异常、文件夹无效异常、未找到对象异常等;子包type:各种属性类型的定义,文档、布尔、日期、十进制、Html、Id、字符串、Xml属性类型的定义等;其目录结构如下图所示: 2、Tenant:实现了
11、api中的ITenant接口; 2、 审计:包括审计项、审计帮助等类的定义; 3、 输出:缓冲区内容项、多内容项、多输出流、简单内容流、简单输出Handler处理类的定义; 4、安全:security:默认情况下jdbc的角色映射器、默认情况下Ldap角色映射器、默认角色用户详细信息服务装饰器、默认的用户名比较器、日志记录拦截、安全帮助、安全参数提供程序、简单的权限掩码、简单角色、简单会话、简单用户、SpringSecurity许可管理。 5、 服务: Services:action序列JCR帮助器、基于请求的处理器、消息格式化器、Soap帮助器、解决方案URI解析器
12、Web服务的Util; Audit(审计):审计连接、审计文件项、审计SQL项; 6、 dbcp数据库连接池: connection:Pentaho的连接工厂 datasource.dbcp:JNDI数据源服务、非汇集数据源服务、汇集数据源帮助器、汇集数据源系统监听器、汇集或者JNDI数据源服务; dbcp.tenantware:租客意识到登录解析数据源服务; 单独使用dbcp需要3个包:common-dbcp.jar,common-pool.jar,common-collections.jar由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数
13、据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,用完后再放回去。 7、 Uifoundation: chart:抽象图表组件、抽象Jfreechart组件、条形图表定义、分类数据集图表组件、Jfreechart引擎、Pentaho的图表URL标签片断生成器、XY图表定义、XY序列收集图表组件; component:Action组件、Action过滤器定义、基于UI组件、全局过滤器定义、Html组件、会话过滤器定义、静态过滤器定义; 8、 util:文件帮助器、文件类型插件、jar实体解析器、参数帮助器、服务器类型Util、字符串类型Util;
14、 Util.client:BI平台资源库客户端、BI平台资源库客户端导航服务、客户端util、发布util、服务异常等; logging:commons-logging日志系统,详见文章后续部分; Test-src包: 相关jar: 2.2.2 pentaho-user-console 该user-console模块是pentaho bi这个中的目录结构如下图: 以下就pentaho-user-console项目模块中的source源码进行简单分析。 Mantle包: Mantle包的子包: 对于创建的该gw
15、t工程,其生成的模块配置文件如下:
下面对生成的模块配置文件做简单的说明:
16、
17、口的定义如下: 1、action 、缓存、数据、邮件等模块的api定义; 2、引擎,包括视角、安全引擎模块的api定义; 3、ITenant:core模块中包mt的Tenant类实现该接口; 4、资源库,包括数据源、数据节点,实力数据库、简单数据资源库模块的api定义; 5、调度器api定义; 6、ui用户界面、用户设置api定义; Lib资源: 2.2.4pentaho-platform-scheduler 2.2.5 pentaho-platform-extensions BI最终步骤 SQLLookupRule----生成
18、领域和经理列表 UtilityComponent---生成邮件信息,标题和附件的名称 JfreeReportComponent---生成报表 EmailComponent----发送报表 Admin:管理员 注:这个包里的GeneratedContentCleaner,引入了日志处理api包。 mons.logging.Log; import mons.logging.LogFactory; Config:配置信息,包括:Console、Hibernate、IMondrianConfig、IConsoleConfig、ILdapConfig等接口的定义; 设计到的ja
19、r: 1、WebXml.java中 import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHe DtdEntityResolver.java中 XML的SAX解析器 ILdapConfig.java LDAP(轻量级目录访问协议 PdiConfigXml.java Pid i18n 国际化简称 6、 slf4j Action: Jfreereport组件加载 Kettle组件加载 Mondrian架构加载 Mdx查询实现 Xm
20、la组件 XMLA (XML for Analysis) 是一种基于简单对象访问协议 (SOAP) 的 XML 协议,它是专为对驻留在 Web 上的任何标准多维数据源的通用数据访问而设计的。XMLA的好处就在于其应用级别的传输协议是SOAP,这使XMLA的服务提供者具有了WebService提供者的角色,从而各种语言编写的客户端都可以轻松访问,而不会带来额外的麻烦。XML for Analysis (XMLA) 开放标准支持对驻留在万维网上的数据源的数据访问。Microsoft SQL Server Analysis Services 按 XMLA 1.1 规范实现了 XMLA。 XMLA
21、 是一种针对 Microsoft SQL Server Analysis Services 的本机协议,用于客户端应用程序与 Analysis Services 实例之间的所有交互。Analysis Services 完全支持 XML for Analysis 1.1,并且还提供了支持元数据管理、会话管理和锁定功能的扩展。与 Analysis Services 实例进行通信时,分析管理对象 (AMO) 和 ADOMD.NET 都使用 XMLA 协议。 Apache VFS:虚拟文件系统:如下图 Services web 2.2.6 pentaho-platf
22、orm-repository 安全授权访问控制列表:该包调用Apache 的内容仓库,内容仓库Apache Jackrabbit将在下后续文章介绍。 资源库:以上包及其子包中定义了资源库的hibernate、runtime、usersetting、webservices等. 资源库2:该包及其子包中定义了pentaho本地化类、(数据访问对象DAO )异常类、文件的输出输出类、文件系统访问控制(AclDao)类、备份资源库生命周期管理器验证成功监听器、默认Pentaho的密码编码器类、简单资源库文件数据的转换类的定义等; 其中jcr实现了JCR Acl元数据策略
23、JCR资源库文件utils等类 安全的实现是由spring框架提供支持。 基于角色的策略:角色授权策略角色绑DAO接口、角色授权策略类、角色绑定结构类;管理员安全action类、发布action类、资源库创建action类、调度器action类、授权策略选举者、默认的授权策略WebService类、角色授权策略角色绑定 WebService的Dao接口定义等; 用户角色:该包及其子包中定义了:默认的用户角色列表Web服务类、用户角色列表Web服务接口、Pentaho角色类、Pentaho用户类、Pentaho用户角色映射类; 相关的类库: 。。。 2.2.
24、7pentaho-platform-assembly 该目录结构中无源码,编译源码时,在这一层文件夹中编译,其中dist文件夹中是编译生成后,保存生成结果的文件夹。 3、项目架构分析 3.1架构简介 Pentaho框架不同于传统的BI产品。Pentaho是一个带有商业智能组件的以流程为中心、面向解决方案的框架,它使公司可以开发针对商业智能问题的完整解决方案。 Pentaho平台上执行的商业智能流程。流程可以很容易被定制,并且新流程可以被添加。Pentaho包含用来分析这些流程性能的组件和报表。 Pentaho是面向解决方案的。因为平台的操作是定义在流程
25、定义和指定每个活动的action文档里面的。这些流程和操作共同定义了一个商业智能问题的解决方案。这个BI解决方案可以很容易地与平台外部的业务流程集成在一起。方案的定义可以包含任意多个流程和操作。 Pentaho平台包含一个BI框架、BI组件、一个BI工作台以及桌面信箱: 1、BI框架提供日志、审计、安全、时序安排、ETL、web services 、属性存储库和规则引擎。 2、BI组件包括报表、多维分析、工作流、仪表盘和数据挖掘。 3、BI工作台是一套集成进Eclipse环境里的设计和管理工具。这些工具业务分析师或开发者来创建报表、仪表盘、分析模型、业务规则和BI流程。 4、桌面
26、信箱可以是第三方RSS阅读器或Pentaho Inbox Alerter 。这些信箱传递任务和报表,或者异常通知。 BI框架和BI组件构成了Pentaho Server 。BI方案被使用BI工作台(Design Studio)来设计并被发布到Pentaho Server 。 Pentaho Server :是一个由工作流引擎驱动的运行时引擎, 负责协调各个BI组件的执行以及它们之间的通信。Design Studio 是一个桌面的,基于 Eclipse 的设计和管理环境。 •Design Studio :产生工作流定义和解决方案(Solution)定义文件,它们被服务器用于执行
27、BI 解决方案(Solution)。 3.2 Pentaho Bi架构图 Pentaho bi架构图如下所示: 词汇表 BI- Business Intelligence 商业智能 Components 组件 desktop notifications 桌面通知 Pre-Configured Installation 预配置的安装包 process 流程 Workbench 工作台 Workflow 工作流 Workflow items 工作流项 Platform 平台 Inbox Alerter信箱告警器/收件箱
28、警报器 Dashboard 仪表盘 Data Mart数据集市 Auditing 审计 Single Sign On 单点登录 Prototyping 原型化 Key Performance Indicator(KPI)关键性能指标 Pentaho的设计思想主要体现在三个方面,一是“集成化”,二是“面向解决方案”,三是“以流程为中心”。 所 谓集成化,是指将众多不同的BI产品集成到一个统一的框架中来,使之可以相互协作。一个完整的BI应用往往需要这些BI产品能够相互协作。Pentaho 通过引入“Action”的概念,提供了一个让多种B
29、I产品协作的机制。“Action” 是Pentaho平台提供的最基本的操作单元,它类似于一种编程语言的基本语句。所有完成具体功能的BI产品作为“插件”集成到Pentaho平台中,每 种插件为Pentaho平台提供一种或几种“Action”,每个Action有自己的输入和输出,多个Action连接起来就构成了Action序列, 完成一个较复杂的功能。Pentaho平台负责在各个Action之间传递参数,这样多种不同的BI产品便能够协同工作了。 所谓解决方案 (Solution),是基于Pentaho平台的一个具体的BI应用。 Solution与Pentaho平台的关系和Web应用与应用服务
30、器之间的关系十分类似。Pentaho平台本身作为一个Web应用部署在应用服务器 上,而Solution又作为一个“Pentaho应用”,部属在Pentaho平台上。Solution本身实质上是一系列Action序列的集合,这 些序列在网页上如何显示,如何被调用,功能如何实现完全由Pentaho平台来管理,这使得Solution的开发者,也就是Pentaho的使用者,可 以将开发工作集中于具体的BI业务逻辑的开发上,而不用去关心网页的设计、服务器的部署等等细节。 流程即Action序列,是 Solution的基本组成单位,它由多个以某种顺序执行的 Action组成。Action是Penta
31、ho平台所提供的最基本的BI操作,大到生成一个报表,小到打印一行字,都可以是一个Action。 Action之间可以顺序执行,也可以有分支或循环。Pentaho平台的“以流程为中心”是指整个平台的工作核心就是如何解释执行一个个Action序 列的描述文件。用户在做具体的BI应用开发时,也应当把精力集中在描述Action序列上。 3.3 Pentaho Server Pentaho 服务器由一个 BI 平台和提供给终端用户 BI 能力的库组成。服务器运行于一个 J2EE 兼容的 web 服务器(如 Apache,JBOSS AS,WebSphere,WebLogic 和 Oracle AS)
32、上。它们也可嵌入进其他服务器或应用中。后面的图显示了服务器中较大组件间的关系。 Pentaho 服务器使得 BI 平台的很多功能以一种一致的,熟悉的外观和行为展示给用户。例如,一个组件产生了用户可访问的报表列表,第二个以日历的方式列出了任务相关的最终期限,第三个显示了用户需要完成的当前任务。每个组件产生的内容和每个用户的角色相关。组件内容可以 XML,HTML 的形式获取或在被包含的 JSR-168 portlets 中显示。Pentaho portlets 可被嵌入进任何支持 JSR 168 标准的 portal,例如 IBM WebSphere,OracleAS Portal 和 BEA
33、 WebLogic Portal。组件用于展示在线报表内容的 XSL 和 CSS 样式单是可访问的,并完全可定制 Pentaho 服务器包含用于报表,分析,商业规则,email 和桌面通知以及工作流的引擎和组件。这些组件被集成在一起,用于解决商业智能问题。在一个解决方案(Solution)中,每个子系统的行为,相互作用和用户交互被解决方案(Solution)定义文档的一个集合所定义。 解决方案(Solution)定义文档是 XML文档,它包含: • 业务流程的定义(XPDL 标准) • 活动的定义,这些活动按需作为部分流程执行,或被 web 服务调用,其包含以下定义:数
34、据源,查询,报表模板,传送和通知规则,商业规则,仪表盘和分析视图。 • 以上所有的项之间的关系。 服务器中的组件依赖于一个解决方案(Solution)引擎,可获得可用解决方案(Solution)文档,安全支持,报表,工作流项,数据,和审计信息。在服务器上可以执行多于一个的解决方案(Solution)。解决方案(Solution)定义文档可从一个服务器复制到另一个,并可被自由分发。 Pentaho 服务器包含了提供高级系统管理的基础设施。这包括系统监控(SMNP)服务,使用报表,Web 服务支持,配置确认工具,和诊断工具。 Pentaho 服务器包含了提供高级流程性能报表和分析的
35、系统和组件。这包括工作流任务中涉及到的工作流项目,单独任务,employees 和 services 上属性的切片和切块(slice-and-dice),what-if 和数据挖掘能力 Pentaho 服务器也支持 Enterprise Application Integration (EAI) 用于和 operational applications 进行 live 集成,以及 Extract, Transform, and Load (ETL) 能力,用于创建 数据仓库和数据集市。 Pentaho 服务器包括一个工具,用于企业信息集成(EAI)的 ETL(Extraction,Tran
36、sformation 和 Load)。 下图是一个服务器体系结构图。 • 解决方案(Solution)引擎对于整个体系结构是很重要的,可以管理对于 BI 组件的访问。 • BI 平台提供的服务: • 为外部应用程序提供了 web 服务 • 可访问和用户接口组件相同的解决方案(Solution)引擎 • 被工作流引擎和调度器调用以执行系统 actions • 审计内置于平台组件中。通过从工作流和审计库中抽取历史和实时数据,平台提供了流程性能报表功能。 • 组件是可以被添加进系统的模块。 • 每个引擎有相应组件,可以将引擎集成进平台。如果创建了必要的组件的话,引擎可被
37、其他引擎替换,或添加进平台。 • 服务器包括用于构建一个商业智能解决方案(Solution)所必需的组件和技术:报表,工作流,商业规则,仪表盘/分析,web 服务,调度,方便的 web 和桌面用户接口的混合,以及审计。 • Pentaho BI 平台和外部系统集成,这些系统提供了数据驱动报表引擎,并接收来自工作流引擎的事件。 • 经由简单网络管理协议(SNMP),Pentaho BI 平台提供了系统监控能力。 • 资源库被存储进 Pentaho 平台外的一个 RDBMS。预配置安装中内嵌的资源库存储在一个开放源码数据库中,FireBird(首选) 或 MySQL。如果必需的话,这些数据
38、库可被其他的关系型数据库代替,例如 Oracle,SQL服务器或 DB/2。 • Pentaho BI 平台中有多个规则引擎,因此业务规则被暴露,并可被简单定制。可在系统中添加额外的规则引擎。对于组件来说,业务规则引擎是外部的,且任何组件可以使用任何规则引擎。 • 不是所有组件均显示在图中,其他(未显示)的组件包括 email,打印,消息格式化,工作流实例属性管理,流程性能报表和 what-if 分析。 • 体系结构的一些部分使用了组合的技术,或者使用了易于等价替换的技术: • 被提供的 J2EE 服务器是 JBoss AS,但是可以使用任何 Java JDK 1.4 兼容的应用程序服
39、务器。 • BI 平台提供了内置 Java Server Pages (JSPs),servlets 和 portlets 的用户接口,可以添加第三方或定制的 JSPs,servlets 或 portlets。 • BI 套件包括一个开放源码的 OLAP 引擎(Mondrian),但是可以使用任何 MDX 兼容的 OLAP 服务器(我们计划测试 Microsoft OLAP 服务和 Hyperion Essbase)。 • 平台提供了一个基于 javascript 的和基于 SQL 的规则引擎,并基于市场需求,计划支持 ILOG JRules,Drools 和 Jess。 • Pent
40、aho BI 平台集成和增强了现有的流行的第三方开放源码组件,例如: • Mondrian OLAP Server and jPivot Analysis Front-End • Firebird RDBMS • Shark and JaWE 工作流 • Kettle EII and ETL • JBoss 应用程序服务器,Hibernate 和 Portal • Weka 数据挖掘 • Eclipse 工作台和 BIRT 报表组件 • JOSSO单点登录和 LDAP 集成 • Mozilla Rhino Javascript Processor • BI 平台
41、利用开放标准和协议,包括: • XML – W3C’s Extensible Markup Language,W3C 的可扩展标记语言 • JSR-94 – JCP’s Rules Engine API,JCP 的规则引擎 API • JSR-168 – JCP’s Portlet Spec,JCP 的 Portlet Spec • SVG – W3C’s Scalable Vector Graphics,W3C 的可扩展适量图形(Scalable Vector Graphics) • XPDL – WFMC’s XML Process Definition Language,WF
42、MC 的 XML 流程定义语言 • XForms W3C’s Web Forms,W3C 的 Web Forms • MDX – Microsoft’s OLAP Query Language,Microsoft 的 OLAP 查询语言 • WSBPEL - Oasis’s Web Services Business Process Execution Language,Oasis 的 Web 服务业务流程执行语言 • WSDL - W3C’s Web Services Description Language,W3C 的 Web 服务描述语言 • SOAP - W3C’s Simp
43、le Object Access Protocol,W3C 的简单对象访问协议 服务器的资源库 Pentaho 服务器包括存储了定义,执行和审计一个解决方案(Solution)所必需的数据的内嵌资源库: • 解决方案(Solution)资源库:定义了解决方案(Solution)的元数据。 • 运行时资源库:工作流引擎正在管理的工作项目 • 审计资源库:跟踪和审计信息 预配置安装 提供一个预配置的实例部署,这样平台就可以快速简单的被测试,配置包括: • JBoss 应用程序服务器 • JBoss Portal V2.0,一个支持 JSR-168 的 portal 服务器 •
44、实例 JSPs,它演示了平台组件的使用 • 实例数据 • 实例报表和 BI 流程 • 在实例中使用的用户和角色 Pentaho Design Studio 设计和管理工作台是一个基于 Eclipse 的桌面工作台,它提供了: • 报表,仪表盘,分析视图的易于使用的设计工具。 • 工作流流程设计器 • 商业规则编辑器 • 数据准备的数据挖掘工作台 • OLAP 建模工具 下面提供了一个 Pentaho BI 工作台的体系结构图。 3.4 Pentaho Design Studio Pentaho Design Studio 体系结构的说明: • Design Stu
45、dio 是一个桌面的,基于 Eclipse 的设计和管理环境。 • Design Studio 产生工作流定义和解决方案(Solution)定义文件,它们被服务器用于执行 BI 解决方案(Solution)。 • Design Studio 运行于多平台。 • Design Studio 审计解决方案(Solution)定义文档的创建和编辑。 • 一个版本控制系统用于维护解决方案(Solution)定义文档,并提供同步和版本管理能力。 • Design Studio 允许以图形化的方式查看和编辑解决方案(Solution),报表,查询,业务规则,仪表盘和工作流。Design Stud
46、io 是一个 Java 应用程序,安装在系统管理员和设计者的桌面计算机上。 内嵌体系结构 • Pentaho 技术可被嵌入进独立的(standalone)或基于服务器的 Java 应用程序。 • 必须安装解决方案(Solution)引擎和组件包。 • 仅有那些组件,引擎和库是配置所必需的。 • 明确来说,这些是可选的: • 工作流引擎,工作流资源库和运行时资源库 • 审计和审计资源库 • 应用集成/ ETL,用于数据抽取,转换和装载 • 用户接口组件 • 解决方案(Solution)库和解决方案(Solution)定义文件 4、项目框架及重要包 4.1 Jpiv
47、ot JPivot入门 展示数据 queryincludeeclipse插件wcftablejsp 先从最基础的JPivot开始,JPivot可以说是Mondrian的姊妹项目,是基于Java的数据仓库表现层工具。这个项目的主页在 首先注意到两个要点: JPivot 使用 WCF (Web Component Framework) ,基于XML/XSLT来渲染Web UI组件。 JPivot是完全基于taglib的。 1. 寻找突破口 从哪里开始呢,当然是先从demo入手了,在浏览器里面打开demo,点击其中的例子,发现他们指向的链接是 http:/
48、/localhost/mondrian/testpage.jsp?query=mondiran http://localhost/mondrian/testpage.jsp?query=xmla http://localhost/mondrian/testpage.jsp?query=fourthier 这下比较清楚目标了,先研究一下testpage.jsp吧。 2. testpage.jsp研究 在testpage.jsp中,比较重要的一段是 <%-- include query and title, so this jsp may be used with differe
49、nt queries --%>






