您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>源码下载>VxWorks/Nucleus/eCos/PalmOS>

Pentaho源代码阅读报告

大小:598 人气: 2010-02-10 需要积分:0
{$username}的空间

用户级别:注册会员

贡献文章:

贡献资料:

Pentaho源代码阅读报告

Pentaho运行系统的组成
Pentaho运行系统共有四部分组成: Pentaho平台资源库(Repository)、Pentaho平台、应用服务器和Solution目录树。
Pentaho平台资源库是Pentaho平台运行时所需的外部数据的一种抽象。它存储了定义,执行和审计解决方案(Solution)所必需的数据资源。资源库中保存的信息主要包含四个部分:一是Pentaho平台的配置信息;二是运行于Pentaho平台上的Solution的元数据,如共有多少个Action,每个Action的描述文件的存放位置等等;三是Pentaho平台第三方插件的私有信息;四是Pentaho平台运行过程中的跟踪和审计信息。在通常情况下,资源库通常是一组数据库服务。
 
图 2 Pentaho平台运行系统示意图
如图 2所示,Pentaho平台运行于应用服务器容器内,并通过应用服务器接口访问Pentaho资源库(在这里资源库实际上是一个数据库);当有客户请求道达Pentaho平台时,它将根据客户的请求解释执行Solution目录下的某个Action序列描述文件。本文关注的焦点是Pentaho平台这一部分。
Pentaho运行系统的配置文件
Pentaho平台是一个复杂的软件系统,拥有许多配置文件,这些配置文件在Pentaho系统的运行中起着至关重要的作用。总的来说共有三种配置文件:Pentaho平台的Web应用配置文件;Solution的配置文件;Pentaho系统各个插件的私有配置文件。
Pentaho系统的Web应用配置文件主要是指WEB-INF目录下的web.xml文件,在该文件中,有以下两个配置项需要着重指出:
1. ***属性。该属性配置了Pentaho系统在应用服务器内注册的EventListener类,这些类在Pentaho系统的初始化、Session管理等方面都有很重要的作用。
2. 预定义属性“solution-path”,这个属性是部署于Pentaho平台上的Solution的根目录,如果这个属性设置错误,会导致Pentaho平台找不到Solution根目录的严重错误,这样该平台将无法提供BI服务。
Pentaho的Solution配置文件主要是指“solution-path”目录下的pentaho.xml文件,该文件规定了Solution相对于Pentaho平台的配置信息,主要包括Pentaho平台所需的数据源访问类,各个插件的EventListener(参见“插件的加载与卸载” 一节),以及系统预定义的一些系统Action序列的相关信息。
Pentaho系统各个插件的私有配置文件存放在solution-path\system\***\(***为插件名称)目录下,不同插件有不同的私有配置文件,内容也千差万别,需要使用者在用到某个插件时再做修改。
基于Pentaho平台的BI开发
基于Pentaho平台的BI开发十分简便,开发者只需要进行Solution的开发即可,而开发Solution,只需给出Solution中所包含的所有Action序列的描述文件即可。为了方便基于Pentaho平台的BI应用开发,Pentaho项目组提供了一个基于Eclipse的集成开发环境:PentahoDesignStudio。用户仅需要以一种图形化的形式输入Action序列的描述,而由该开发工具产生相应的Action序列描述文件,十分方便。
Pentaho平台的软件架构
Pentaho平台的总体结构
Pentaho平台是Pentaho运行系统中的核心部分,它本身是一个Web应用,部署于一个J2EE兼容的应用服务器上。它又作为Solution的服务器存在着,是Solution中各个Action序列的解释执行者。
 图 3 Pentaho平台总体结构图
如图 3所示,Pentaho平台大致可分为三个层次:界面层、核心层和插件层。界面层是外部用户访问Pentaho服务的接口,主要包含三个部分:UDDI、Web页面、和Navigation Component。UDDI为外部应用程序或Web Service访问Pentaho服务提供接口;Web页面则为用户通过浏览器访问Pentaho服务提供接口;Navigation Component实质上是一组Servelet,它主要用于显示当前部署在Pentaho平台上的Solution中所包含的各个Action序列,用户可在其中选择需要执行的Action序列。
核心层主要由Solution Engine和它的Runtime环境组成。Solution Engine实质上是一个解释执行Action序列描述文件的解释器,它接收来自用户界面的请求,这个请求通常是要求执行Solution中的某个Action序列。Solution Engine连同其Runtime环境就负责解释执行这些Action序列。解释执行过程中,出于调试和性能分析的需要,引入了一个Audit机制,该机制类似一个日志记录系统,记录Pentaho平台运行过程中的一些动态过程。Solution Engine和Audit机制的运行都需要访问许多相关的数据资源,这些数据资源被称为“资源库”,也就是图中的各个Repository。
插件层主要包括了集成到Pentaho平台中的各种BI产品,如Quartz、Jfree等等。从图3中可以看出,插件层又可分为两类模块,一类叫作Component模块,这种模块是插件层与核心层的接口模块,它们将各种不同的插件的功能以一个统一的接口提供给上层使用,起到一个功能抽象的作用。另一类则是形形色色的BI插件的具体实现,这通常由第三方开发者提供。各种插件运行过程中可能会用到自身的私有数据,这些数据在Pentaho平台中也被抽象成为资源库(Responsory),这使得不同的插件可以以一种统一的方式访问自己的数据。

非常好我支持^.^

(5) 100%

不好我反对

(0) 0%

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!