PentahoBIServer源码分析8809.docx
《PentahoBIServer源码分析8809.docx》由会员分享,可在线阅读,更多相关《PentahoBIServer源码分析8809.docx(62页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、Pentaho BI源码分析报告目 录1、Pentaho BI简介32、项目概况42.1 项目生成42.2项目模块分析42.2.1 pentaho-platform-core42.2.2 pentaho-user-console92.2.3 pentaho-platform-api132.2.4pentaho-platform-scheduler142.2.5 pentaho-platform-extensions152.2.6 pentaho-platform-repository182.2.7pentaho-platform-assembly213、项目架构分析213.1架构简介213.2
2、 Pentaho Bi架构图213.3 PentahoServer243.4 Pentaho Design Studio284、项目框架及重要包284.1 Jpivot284.2 GWT框架304.3 Jackrabbit框架434.4 Spring框架544.5 Slf4j包564.6 commons-logging日志系统615、总结631、Pentaho BI简介 Pentaho BI平台是一个以流程为中心的,工作流驱动的,可扩展平台,用于解决商业智能问题。Pentaho是一个以工作流为核心的、强调面向解决方案而非工具组件的BI套件,整合了多个开源项目,目标是和商业BI相抗衡。它包括。由
3、上可见Pentaho是一个很完善的BI解决方案。Pentaho偏向于与业务流程相结合的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认证:JOSSO 其目的在于将一系列企业级BI产品、开源软件
4、、API等等组件集成起来,方便商务智能应 用的开发。它的出现,使得一系列的面向商务智能的独立产品如Jfree、Quartz等等,能够集成在一起,构成一项项复杂的、完整的商务智能解决方案。 目前Pentaho框架包括了Eclipse BIRT,JasperReports,Mondrian,JPivot,调度(scheduling),web服务,Kettle(数据集成工具),商业规则等多个组成部分。Pentaho的主要组成元素包括报表生成、分析、数据挖掘和工作流管理等等。这些组件通过 J2EE、WebService、SOAP、HTTP、Java、JavaScript、Portals等技术集成到Pe
5、ntaho平台中来。下面就其源码进行分析,该源码不是最新源码。2、项目概况2.1 项目生成在Pentaho官方网站下载最新源码、并在MyEclipse 10中部署该项目。 2.2项目模块分析成功构建之后的源码由7个模块项目构成,其目录结构如下图1-1所示:2.2.1 pentaho-platform-core日志、审计和安全被建立在BI平台的内核里。并且它们被自动化运行以保证,对于管理和性能监控这二者总是存在着正确的审计跟踪。日志,审计和安全内置于核心中,并被自动使用,以确保总有一个精确的审计跟踪可用于管理和性能监控。1、repository:创建文档请求回复类、创建文件夹请求回复类、导航服务
6、接口、对象服务接口,其中包括创建文档、创建文件夹、创建关系、创建策略、获取允许的action、获取属性、获取内容流、更新属性、移动/删除对象、删除树结构、选择/删除内容流等方法的声明;子包exception中包括:以上操作的各种异常类定义:约束冲突异常、过滤器无效异常、文件夹无效异常、未找到对象异常等;子包type:各种属性类型的定义,文档、布尔、日期、十进制、Html、Id、字符串、Xml属性类型的定义等;其目录结构如下图所示:2、Tenant:实现了api中的ITenant接口;2、 审计:包括审计项、审计帮助等类的定义;3、 输出:缓冲区内容项、多内容项、多输出流、简单内容流、简单输出H
7、andler处理类的定义;4、安全:security:默认情况下jdbc的角色映射器、默认情况下Ldap角色映射器、默认角色用户详细信息服务装饰器、默认的用户名比较器、日志记录拦截、安全帮助、安全参数提供程序、简单的权限掩码、简单角色、简单会话、简单用户、SpringSecurity许可管理。5、 服务:Services:action序列JCR帮助器、基于请求的处理器、消息格式化器、Soap帮助器、解决方案URI解析器、Web服务的Util;Audit(审计):审计连接、审计文件项、审计SQL项;6、 dbcp数据库连接池:connection:Pentaho的连接工厂datasource.d
8、bcp:JNDI数据源服务、非汇集数据源服务、汇集数据源帮助器、汇集数据源系统监听器、汇集或者JNDI数据源服务;dbcp.tenantware:租客意识到登录解析数据源服务; 单独使用dbcp需要3个包:common-dbcp.jar,common-pool.jar,common-collections.jar由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,用完后再放回去。7、 Uifoundation:chart:抽象图表组件、抽象Jfreechart组件、条形图表定义、分类数据集图表
9、组件、Jfreechart引擎、Pentaho的图表URL标签片断生成器、XY图表定义、XY序列收集图表组件;component:Action组件、Action过滤器定义、基于UI组件、全局过滤器定义、Html组件、会话过滤器定义、静态过滤器定义;8、 util:文件帮助器、文件类型插件、jar实体解析器、参数帮助器、服务器类型Util、字符串类型Util;Util.client:BI平台资源库客户端、BI平台资源库客户端导航服务、客户端util、发布util、服务异常等;logging:commons-logging日志系统,详见文章后续部分;Test-src包:相关jar:2.2.2 pe
10、ntaho-user-console该user-console模块是pentaho bi这个中的目录结构如下图:以下就pentaho-user-console项目模块中的source源码进行简单分析。Mantle包:Mantle包的子包:对于创建的该gwt工程,其生成的模块配置文件如下:下面对生成的模块配置文件做简单的说明: . 其他子包:相应的jar包:2.2.3 pentaho-platform-api该应用程序编程接口的定义如下:1、action 、缓存、数据、邮件等模块的api定义;2、引擎,包括视角、安全引擎模块的api定义;3、ITenant:core模块中包mt的Tenant类实
11、现该接口;4、资源库,包括数据源、数据节点,实力数据库、简单数据资源库模块的api定义;5、调度器api定义;6、ui用户界面、用户设置api定义;Lib资源:2.2.4pentaho-platform-scheduler2.2.5 pentaho-platform-extensionsBI最终步骤SQLLookupRule-生成领域和经理列表UtilityComponent-生成邮件信息,标题和附件的名称JfreeReportComponent-生成报表EmailComponent-发送报表Admin:管理员注:这个包里的GeneratedContentCleaner,引入了日志处理api包
12、。mons.logging.Log;import mons.logging.LogFactory;Config:配置信息,包括:Console、Hibernate、IMondrianConfig、IConsoleConfig、ILdapConfig等接口的定义;设计到的jar:1、WebXml.java中import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.DocumentHeDtdEntityResolver.java中XML的SAX解析器ILdapConfig.javaLDAP(轻量级目录
13、访问协议PdiConfigXml.javaPidi18n国际化简称6、slf4jAction:Jfreereport组件加载Kettle组件加载Mondrian架构加载Mdx查询实现Xmla组件XMLA (XML for Analysis) 是一种基于简单对象访问协议(SOAP) 的 XML 协议,它是专为对驻留在 Web 上的任何标准多维数据源的通用数据访问而设计的。XMLA的好处就在于其应用级别的传输协议是SOAP,这使XMLA的服务提供者具有了WebService提供者的角色,从而各种语言编写的客户端都可以轻松访问,而不会带来额外的麻烦。XML for Analysis (XMLA) 开
14、放标准支持对驻留在万维网上的数据源的数据访问。Microsoft SQL Server Analysis Services 按 XMLA 1.1 规范实现了 XMLA。XMLA 是一种针对 Microsoft SQL Server Analysis Services 的本机协议,用于客户端应用程序与 Analysis Services 实例之间的所有交互。Analysis Services 完全支持 XML for Analysis 1.1,并且还提供了支持元数据管理、会话管理和锁定功能的扩展。与 Analysis Services 实例进行通信时,分析管理对象(AMO) 和 ADOMD.NE
15、T 都使用 XMLA 协议。Apache VFS:虚拟文件系统:如下图Servicesweb2.2.6 pentaho-platform-repository安全授权访问控制列表:该包调用Apache 的内容仓库,内容仓库Apache Jackrabbit将在下后续文章介绍。资源库:以上包及其子包中定义了资源库的hibernate、runtime、usersetting、webservices等.资源库2:该包及其子包中定义了pentaho本地化类、(数据访问对象DAO )异常类、文件的输出输出类、文件系统访问控制(AclDao)类、备份资源库生命周期管理器验证成功监听器、默认Pentaho的
16、密码编码器类、简单资源库文件数据的转换类的定义等;其中jcr实现了JCR Acl元数据策略、JCR资源库文件utils等类安全的实现是由spring框架提供支持。基于角色的策略:角色授权策略角色绑DAO接口、角色授权策略类、角色绑定结构类;管理员安全action类、发布action类、资源库创建action类、调度器action类、授权策略选举者、默认的授权策略WebService类、角色授权策略角色绑定 WebService的Dao接口定义等;用户角色:该包及其子包中定义了:默认的用户角色列表Web服务类、用户角色列表Web服务接口、Pentaho角色类、Pentaho用户类、Pentaho
17、用户角色映射类;相关的类库:。2.2.7pentaho-platform-assembly该目录结构中无源码,编译源码时,在这一层文件夹中编译,其中dist文件夹中是编译生成后,保存生成结果的文件夹。3、项目架构分析3.1架构简介Pentaho框架不同于传统的BI产品。Pentaho是一个带有商业智能组件的以流程为中心、面向解决方案的框架,它使公司可以开发针对商业智能问题的完整解决方案。 Pentaho平台上执行的商业智能流程。流程可以很容易被定制,并且新流程可以被添加。Pentaho包含用来分析这些流程性能的组件和报表。 Pentaho是面向解决方案的。因为平台的操作是定义在流程定义和指定每
18、个活动的action文档里面的。这些流程和操作共同定义了一个商业智能问题的解决方案。这个BI解决方案可以很容易地与平台外部的业务流程集成在一起。方案的定义可以包含任意多个流程和操作。Pentaho平台包含一个BI框架、BI组件、一个BI工作台以及桌面信箱:1、BI框架提供日志、审计、安全、时序安排、ETL、web services 、属性存储库和规则引擎。2、BI组件包括报表、多维分析、工作流、仪表盘和数据挖掘。3、BI工作台是一套集成进Eclipse环境里的设计和管理工具。这些工具业务分析师或开发者来创建报表、仪表盘、分析模型、业务规则和BI流程。4、桌面信箱可以是第三方RSS阅读器或Pen
19、taho Inbox Alerter 。这些信箱传递任务和报表,或者异常通知。 BI框架和BI组件构成了Pentaho Server 。BI方案被使用BI工作台(Design Studio)来设计并被发布到Pentaho Server 。Pentaho Server :是一个由工作流引擎驱动的运行时引擎, 负责协调各个BI组件的执行以及它们之间的通信。Design Studio是一个桌面的,基于Eclipse的设计和管理环境。Design Studio:产生工作流定义和解决方案(Solution)定义文件,它们被服务器用于执行BI解决方案(Solution)。3.2 Pentaho Bi架构图
20、Pentaho bi架构图如下所示: 词汇表BI-BusinessIntelligence商业智能Components组件desktopnotifications桌面通知Pre-ConfiguredInstallation预配置的安装包process流程Workbench工作台Workflow工作流Workflowitems工作流项Platform平台InboxAlerter信箱告警器/收件箱警报器Dashboard仪表盘Data Mart数据集市Auditing 审计Single Sign On 单点登录 Prototyping 原型化Key Performance Indicator(KP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PentahoBIServer 源码 分析 8809
限制150内