PentahoBIServer源码分析.docx

上传人:夺命阿水 文档编号:1684798 上传时间:2024-11-24 格式:DOCX 页数:54 大小:128.85KB
返回 下载 相关 举报
PentahoBIServer源码分析.docx_第1页
第1页 / 共54页
PentahoBIServer源码分析.docx_第2页
第2页 / 共54页
PentahoBIServer源码分析.docx_第3页
第3页 / 共54页
PentahoBIServer源码分析.docx_第4页
第4页 / 共54页
PentahoBIServer源码分析.docx_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《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.pent

16、aho.phtform.uti1.c1.ietSorg.pentaho.p1.atform.uti1.1.oggigSorg.pentaho.p1.atform.uti1.messagestBorg.pentaho.p1.atform.uti1.versioncheckerorg.pentaho.p1.atform.uti1.webtBorg.pentaho.p1.atform.uti1.xm1.击org.pentaho.p1.atform.uti1.xm1.dom4j三org.pentaho.p1.atform.uti1.xm1.w3cTest-src包:,test-srcorg.penta

17、ho.p1.atform.engine.coreSorg.pentaho.p1.atform.engine.securityorg.pentaho.p1.atform.engine.serviesIBorg.pentaho.p1.atform.engine.services.actionsIorg.pentaho.p1.atform.uti1.ffiorg.pentaho.p1.atform.uti1.beanJBorg.pentaho.test.p1.atform相org.pentaho.test.p1.tform.engine.cofeSorg.pentaho.test.p1.atform

18、.engine.iecurityorg.pentaho.test.p1.atform.engine.serviesCIog4j.xm1.f三testsetting$.properties相关jar:/e1.ibaant1.r-2.7.6.jar1.iasm3.1Jarasm-attrs-2.2.3.jarais2*adb1.4.1.jar1.ais2-kerne1.-1.4.1.jarIbatikawtuti1.1.7.jar1.batik-dom-1.7.jarbatik-svggen1.7.jarcg1.ibnodep2.2.jar匚commons-beanuti1.s-1.8.0.jar

19、1.icommons-codec-1.5.Jar1.COmmOnSYO1.IeaiOnS321Jarcommons-compress-1.4.jarmons-dbcp-1.4.jarcommons-digester-1.8.arck-2.5.1.jarjmockjunit42.5.1.jar1.jmock-1.egacy-2.5.1.Jarjunit-4.4.jar1.1.junit-dep-4.4.)arIog4j-1.2.16.jarISobjenesis1.0.jarPentaho-XuI-Core-S-O-SNAPSHOTJarspri11g11ck2.0.2.jarsta-api-1

20、.0.1.jarjfreechart*1.0.13.jarjmi200507110943.jarjmiuti1.s-2507110943.)arjoda-time-1.6.jar点js1.7R1.jar揖jsch-0.1.46.jar2jta-1.1.jardjug-1.gp1.2.0.0.jarkett1.e-core-5.0-SNAPSHOTJarkett1.e-engine-5.0SNAPSHOT.jar1.ibbase-5.0-SNAPSHOT.jarIibformuIa-S-O-SNAPSHOTJarIog4j1.2.17.jarmdrapi-200507110943.)armeta

21、store-5.0-SNAPSHOT.jarmof-2507110943.jar:nbmdr-200507110943custom.jarogn1.2.6.9.jar2.2.2Pentaho-User-Conso1.e该USer-CCmSQIe模块是PentahObi这个中的目录结构如下列图:Jpetahouserconso1.ei9sourcepJUnit4MJRESystem1.ibrarySunJDK1.6.0,13*Referenced1.ibrariespebinGbui1.d-resk&bui1.d-resources&codegen-1.ibvQconfiggdev-1.ibJ邑

22、dist卜&pakgeres&screenshotsbtest-1.ib:,etestsrc邑war三IXJiId.propertiesbui1.d.m1.TBdev.bui1.d.propertiesdcv-bui1.d.xm1.区HOWTOivy.xm1.区rvysettings.xm1.Qgp-2.1.txtmant1.e.im1.1.mant1.e.1.aunchXpapuc-apisthemesxu1.6angu1.ar-animation$.c$sdbtn.q1.browse.pngbtn.q!.manage.pngJ1.btn.q1.newana1.ysis.pngJ1.btn.

23、q1.newreport.pngJ1.buttonbg.gifJjbuttonhoverbg.gifr1.J1.arAKr*1.Mant1.e包的子包:Jpentaho-user-conio1.e,isource;&org.pentaho.mat1.eepub1.icXMant1.eApp1.ication.gwt.xm1.对于创立的该gwi工程.其生成的模疑配置文件如下:*Mant1.eApp1.icatio.gwt.xm1.1.modu1.erename-to-mant1.e下面对生成的模块配置文件做简单的说明:!-rena三er。为蟆块起一个别名使用起来5(单一其他子包:V曲org.pe

24、ntaho.mant1.e,方org.pentaho.mant1.e.c1.ientorg.penuho.rant1.e.c1.ient.adminmandsorg.pentaho.mant1.e.c1.ient.diakgs三org.pentaho.mant1.e.c1.ient.dia1.ogs.schedu1.ingHorg.penuho.mant1.e.c1.ient.didk)g$.$hedu1.ing.va1.idat(三org.pentaho.mant1.e.c1.ient.eventsorg.pentaho.mant1.e.c1.iet.imges三org.pcntaho.ma

25、ntk.c1.ient.messages9org.pentaho.mant1.e.c1.ient.objects卜org.pe11Uho.mant1.e.c1.ient.so1.utionbrowser三org.pentaho.mant1.e.c1.ient.so1.utionbrowser.fi1e1.ist涝org.penuho.mant1.e.c1.ient.so1.utionbrowser.fi1.epick1.is三org.pentaho.mant1.e.c1.ient.so1.utionbrowser.fi1.epropeorg.pentho.matte.c1.ient.so1.u

26、tionbrowser.tabsorg.pentaho.mant1.e.c1.ient.so1.utionbrowser.too1.bars出org.pentaho.mante.c1.ient.so1.utionbrowser.treeorg.pentaho.mant1.e.c1.ient.ui$org.pentaho.mant1.e.c1.ient.ui.tabsorg.pentaho.mant1.e.c1.ient.ui.u1.org.pentaho.mant1.e.c1.ient.usersettingsorg.pentaho.mant1.e.c1.ient.workspce三org.p

27、entaho.mant1.e.1.oginorg.penuho.mant1.e.1.ogin.IfiITenantjava团TenateiP11nip1.eNmeReso1.ver.vi1.ITenantManagenjava一.F.4 .责源库.包挣敛据源、效据节点,实力效据里.简单兼髡费总库模块的api定义;2.2. 5Pentaho-P1.atfonrextensionsB1.最终步骤SQ1.1.ookupRu1C-一生成领域和羟理列支Uti1.ityCoeponent-生成卸件信息,标题和附件的名称JfreeReporComponent生成报表EmaiICoeporwnt发送报表Act

28、ain:管理员,出org.petaho.p1.atform.dminIfiGatherStatsActionjava团GatherStats1.istener.Java,GeneratedContentCIeanenjavaB1.SutsDatabaseCheck.java注:这个包里的GeneratedContontC1.eHner,引入了日志处理HPi包.org.apache,commons,1.ogging.1.og;importor.apache,c三nons.1.ogging.1.ogFactory;CCmfig:配置信息,包括:Conso1.e.HibernateIIrianCon

29、tg.iConso1.eCont,I1.dapConiig,ffiorg.pentabo.p1.atform.configB)AcIEntryJavaO)Ana1.ysisViewJava1.AppconfigExceptionjavaS)AppconfigPropertiesjavaIfiChckedException.java2)ConsoIeConfigXm1.java,DtdEntityResoIverjavaIfiHibemateSettingsjavaSIHibernateSettingsXm1.javaS)IconsoIeConfigjdvaE)IEnterprtseConso1

30、.eConfig.)ava,S)IHibernateSettings.javaI1.dapCon6g.java团IMondrianConfigJavaS)IPdiCOnfigjaVa设计到的jar:1.VebXa1.Java中i(ortorg.do1.j.Ikxiu(teni:irortorg.ixn1.j.Ikxnjficn1.Exccption:invertorg.dn1j.IkKUreenIHRDtdEntityReso1.ver.java中X祝的SAX解桁器I1.dnpCnnftg.jvaUXW(较量级目录访月冰仪PdiConfiX111.javaPidi18n回际化简律6.s1.f4

31、jAction:由org.pentaho.p1.atform.p1.ugin.ation.bui1.tinffiorg.pentaho.p1.atform.p1.ugin.artion.chartbeansorg.pentaho.p1.atform.p1.ugin.an.defju1.tcontetffiorg.pentaho.p1.atform.p1.ugin.acton.deprecated出org.entaho.p1.atform.p1.ugin.aton.examp1.esffiorg.pentaho.p1.atform.p1.ugin.action.hq1.org.pentaho.p

32、1.atform.p1.ugin.ation.javascriptffiorg.pentaho.p1.atform.p1.ugin.aon.jfrcechart田Orgpentahop1.atforTnpIugimactionjfreereportorg.pentaho.p1.atform.p1.ugin.aponent$田org.pentaho.p1.atform.p1.ugin.actio11.jfreereport.he1.perorg.pentaho.p1.atform.p1.ugin.action.jfreereport.outputs电org.pentaho.p1.atform.p

33、1.ugin.ation.jfreereport.res田Orgpentdhdp1.atformp1.ugimactionkett1.effiorg.pentaho.p1.atform.p1.ugin.an.mdxorg.pntaho.p1.atform.p1.ugin.action.messagcsorg.pentaho.p1.atform.p1.ugin.acton.mondrian出org.penuho.p1.atform.p1.ugin.an.mondrian.catakgffiorg.pentaho.p1.atform.p1.ugin.action.mondrian.mapper(B

34、org.pentaho.p1.atform.p1.ugin.actkn.morx1.rian.re$ffiorg.pentaho.p1.atform.p1.ugin.actkn.openf1.ashchartffiorg.pentaho.p1.atform.p1.ugin.acton.openf1.ashchart.factory出org.penwho.p1.atform.p1.ugin.an.pentahometadauffiorg.pentaho.p1.atform.p1.ugin.action.sq1.org.pentaho.p1.atform.p1.ugin.ation.ver$ion

35、chekerffiorg.pentaho.p1.atform.p1.ugi.aon.m1.webserviceffiorg.pentaho.p1.atform.p1.ugin.action.xm1.xqueryorg.pentaho.p1.atform.p1.ugin.an.xm1.aJfreereportKett1.e组件加我Mondrinn桀构加我Mdx查沟实现Xm1.a姻件XM1.OM1.forAnH1.yEiS)是一种基于同学干象访问协议(SOAP)的XMI.除议.它是专为有空留在Web上的任何标准多维数据黑的通用数据访问而设计的。XM1.A的好处就在于其应用皎别短传枪称议是SoAP.

36、纭使XM1.A的效劳处供者具有了WebSW供者的角色,从而各件修杳维写的M户播都可以轻松访问,而不会普求额外的麻便.XM1.or.Ana1.ysis(XM1.A)开放标准支持对驻田在万雄M上的薪杂源的数据访问.MicrosoftSQ1.ServerAna1.ysisServices按XM1.A1.1标准实现TXM1.XMI.A是一杓针对MicrosoftSQ1.ServerAna1.ySisServices;的本机林仪用于客户端应用程序与Ana1.ysisServices实例之间的所有交互。Ana1.FT支持XM1.f.rAr,.Iysi.11,并且还提供了支持元案据管理.会话管理将侦定功能的

37、犷展与Ana1.ySiSServices实区进行通信时,分析管理对象(AMO)和AIXM).XET布茨用XM1.工怖议.ApwcheYFS:皮默文件乐疑:如下列困,田org.pentaho.p1.atform.p1.ugin-outputs;,ApacheVFSOutputHand1.er.java:)Fi1.eOutputHand1.er.java3JcrcmsOutputHandIerjavaServicesorg.pentaho.p1.atform.p1.ugin.$ervkes.cacheorg.pentaho.p1.atform.p1.ugin.services.connections.hq1.ffiorg.pentaho.p1.atform.p1.ugin.servkes.connectionsJavascriptorg.penuho.p1.atform.p1.ugin.ervk

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号