《PentahoBIServer源码分析.docx》由会员分享,可在线阅读,更多相关《PentahoBIServer源码分析.docx(54页珍藏版)》请在优知文库上搜索。
1、PentahoBI源码分析报告1、PentahoBI简介32,工程溉况32.1工程生成32.2工程模块分析32. 2.1pentaho-pIatfornrcore43. 2.2Pentaho-User-Conso1.e74. 2.3pentaho-pIatfornrapi115. 2.4pentaho-p1.atfo11n-schGdu1.er126. 2.5pentaho-p1atform-extensions137. 2.6pentaho-pIatfor11rrepository168. 2.7pcntaho-p1.atform-assemb1.y183、工程架构分析188.1 架构简介1
2、88.2 PentahoBi架构图199. 3PcntahoServer223.4PentahoDesignStudio254、工程程架及重要包264.1Jpivot2642GWT*2/4.3Jackrabbit框架3944Spring棍架504.5S1.f1.j包5146COiniiODs_1i11r日系55、总结581、PentahoBI简介PentahoB1.平台是一个以流程为中心的,工作流里动的,可粕展平台,用于第决商北智能问题,PcnIHh。是一个以工作溉为核心的,图调面向城决方案而非工具组件的B1.杰件.SJ合了多个开源工程.目标是和癖立H【相抗衡.它包括.由上可见Pentah。是
3、一个IR先善的BI”决方案.Pentah。偏向于与业务流程相皓合的B1.解决方案,创丈于大中梨企业应用.1 .工作流引擎:SharkandJaWE2 .ft$;FirebirdRDBMS3 .集成管理和开发环境:Ec1.ipse4,报表工具:Ec1.ipseB1.RT5. ET1.工具:EnhydraZKctt1.c6. 01.PServer:Mondrian7. O1.AP展示:JPivot8. H据挖掘组件:VUa9. 应用效劳器和POrti1.I效劳舞:JBoSS10. 单点登陆效劳及UJap认证:JOSSO其目的在于将一系列企业或B1.产3.开源软件,API等等俎件集成i来,方便商务智
4、能应用的开发.它的出现.使律一系列的面向癖务台能的独立产品如rcc、Quar1.z等等.能解集成在一髭.构成一项项熨杂的.完整的商务?俄第决方案。目STPentaho花架包括了Ec1.ipseB1.RTJasperRepor1.s.Mondrian.JPivot.度(schedu1.i11g).veb效劳,KettIe(敷据柒成工具),窃业规则等多个娼成局部.PCnIWhn第主要组成元素包行3R表生成,分析、数据挖掘和工作流管理等等,这些组件过年J2EE.Wcb!rvicc.S(SP.H11P.Java,JavaScript.POr1.aIS等技木集成至IPenIohO平台中来.下面就其源招遗
5、行分析,嫉源招不是我新源小.2、工程概况2.1工程生成在Pmuth。官方网站下收录新悬碍.弁在MyECIiPsC10中部寻谈工程。2. 2工程模块分析成功秀乳之后的源码由7个模块工程构成.其目录结构如下列图IT所示:dpentaho-p1.atformapiZpentaho-p1.atform-assemb1.yi三pentaho-p1.atform-core播pentaho-ptform-extensions)3Pentahop1.atfOrm-repositorypentaho-p1.atform-schedu1.er,pentaho-user-conso1.e2.1.1 pentaho-
6、p1.atfonrcore日志、审计和平安被建立在B1.平台的内核里.并且它们被自动化运行以保证,对于管理和性能监控这二者总是存在着正册的审计跟踪日志.审计和平安内置于核心中,并被自动使用.以确保总有一个精确的审计跟踪可用于管理和性能监控。1.repository:创立文档请求回曳类、创立文件夹请求回复类、导航效劳接口、对笊效劳接口,其中包括创立文档.创立文件夹、创立关系.创立策略.获取允许的action,荻取属性,获取内容流,更兴属性.移动/初除对象删除树结构,选择/删除内容流等方法的声明:子包CXCeP1.ion中包括:以上操作的各种异常类定义:约束冲突异常、过速器无效异常、文件夹无效异常
7、、未找到对象异常等;子包各种国性类型的定义.文档、布尔、日期、十进制、机.1、Id、字符串、XB1.属性类型的定义等;其目录转构如下列图所示:Bmons.uti1.repositorymons.uti1.repository.exceptionBmons.uti1.repository.type:ffiorq.pentho.ptform.corc.mt2、TenarH:实现了api中的ITenarH接口:三org.pentaho.p1.atform.core.mtTenant.java2、审计:包括审计项、审计帮助等类的定义;用org.pentaho.p1.atform.engine.core
8、.auditI AuditEntryjavaQ1.AuditHeIperJdva团MessdgeTypejavaII NuIIAuditEntryjava3、输出:缓冲区内容项、多内容项,多输出流、简单内容流、简单输出HandIer及理类的定义:,org.pentaho.phdorm.engie.core.outputJO)BufferedContent1.tem.java团Mu1.tiContent1.tem.java份Mu1.tiOutputStreamjava:,团SimpIeContentItemJava(fiSimp1.eOutputHdndIerjava4.平安:security:
9、默认情况下jdbc的角色映射舞、默认情况下1.daP角色映射器、默认角色用户详细信息效劳装饰器、默认的用户名比较器、日志记录拦就、平安帮助、平安参政援供程序、简单的权限掩码、简单角色、简单会话、简单用户、SPringSCCUri1.y许可帝理。Ifiorg.pentaho.p1.atform.e11gine.securitySBorg.penuho.p1.atform.engine.security.ac1.$i9org.pentaho.p1.atform.engine.security.ac1.s.voterffiorg.penuho.p1.atform.engine.security.ev
10、ent田org.pentaho.p1.arform.engine.security.messages5、效劳:SCrViCes:aciion序列JCR帮助器、基于请求的处理器、消息格式化器、SOaP帮助器、解决方案UR1.解析器、UCb效劳的UtihAUdit计):审计连接.审计3件:、产计SQ1.%:Jfiorg,penuho.p1.atform.engine.services.9org.pentaho.p1.atform.engine.services.actionsequenceorg.penwho.p1.atform.egine.services.uditJfiorg.pentaho.
11、p1.atform.engine.services.connection用org.pentaho.p1.atform.engine.services.connection.datasource.dbcpffiorg.pentaho.p1.atform.e11gine.services.connection.datasource.dbcp.tenantawareorg.pentaho.patform.engine.services.messagesffiorg.pentaho.p1.atform.e11gine.services.metadataorg.penxaho.p1.atform.eng
12、ine.services.outputhand1.er用org.pentaho.p1.atform.engine.services.runtime出org.pentaho.p1.atform.engine.services.so1.ution6、dbcp数据库连接池:connection:Pentaho的连接工厂datasource.dbcp:JND1.数据源妓劳、芈聚集数据源效劳、聚臬败据源帮助器.聚集数据源系统监听器、聚集或者JND1.数据源效劳;dbcp.tenantware:租客意识到登录解析数据源效劳:IBorg.pentaho.p1.atform.engine.$ervices.c
13、onnection.田org.pentaho.p1.atform.engine.services.connection.datasource.dbcp:,由org.pentaho.p1.atfofm.engine.servke$.connection.dau$ource.dbp.tenanuware单独使用dbcp需要3个电:ccamon-dbcp.jar.connon-poo1.jar.co11on-coI1.ections.jar由于建立数据库连接是一个小#耗时相登津的行力.所以通过连接池演先同教培卑建立一些连接.秋在内存中,应用栈序需要是立数据卑我按应直接到连接池中中途一个就行.用完后再
14、放回去。7、Uifoundotion:CharI:拉乳图表组件,抽象JfreeChart组件.条形图表定义.分奏数抿裳图袤组件.JfreCChart引擎、PentahO的图表UR1.标笠片冬生成器.XY图表定义.XY序列收集图表组件:CMponcn1.:Actiontt.ACtiM过激森灾义,是于CI组件.全局过泣界定义、Htm1.ia件、会话过谑界定义、修态过渡以定义;,旧org.pentaho.p1.atform.uifoundation.chartorg.pentaho.pUponentBOrgpentaho.Phtform-Uifoundationxomponentxm1.IBorg.
15、pentaho.phtform.uifoundation.contentgen由org.penuho.p1.atform.uifoundtion.messages8、uti1.:文件帮助器、文件类型插件,jar实体解析器、参数钳助器、效劳器类型Uti1.字符电类型Uti1.:Uti1.CIienUB1.平台资源库客户潴.BI平台资源库客户潴导航效劳、客户端UIi1.发布UIi1.效劳异常等:Ioggingzconaons-Iogging日志系琉,详见文章后续局部;V伊org.pentaho.ptform.uti1.org.pentaho.p1.atform.uti1.beansorg.pentaho.phtform.uti1.c1.ietSorg.pentaho.p1.atform.uti1.1.oggigSorg.pentaho.p1.atform.uti1.messagestBorg.pentaho.p1