OpenI平台调研报告.doc_第1页
OpenI平台调研报告.doc_第2页
OpenI平台调研报告.doc_第3页
OpenI平台调研报告.doc_第4页
OpenI平台调研报告.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 引言31.1 Openi简介31.2 调研版本42 调研分析42.1 本地部署52.1.1 环境准备52.1.2 下载openi-1.3.0-RELEASE52.1.3 部署52.1.4 配置数据库:62.1.5 配置数据源62.1.6 配置Tomcat服务器角色72.1.7 查看demo效果72.2 OpenI在Myeclipse上的部署82.3 OpenI plugin for Pentaho82.4 OpenI简单使用112.4.1 新建分析112.4.2 保存152.4.3 下载162.5 OpenI体系结构172.6 OpenI数据流程182.7 OpenI开发框架192.8 OpenI工作流原理212.9 OpenI开发套件212.10 是否支持大数据212.11 BI工具212.11.1 Mondrian212.11.2 JPivot232.11.3 WCF242.11.4 JFreeChart25第25页1 引言1.1 Openi简介OpenI是一个基于网络的商务智能应用程序,同样也是一个Java开发的Web应用,主要功能在于能对OLAP服务器、关系数据库和数据挖掘服务器进行多维分析和报表展示,非常易于使用和部署,界面美观友好,后续还将支持数据挖掘和ETL等。它能够轻松可视化OLAP数据,关系型数据库管理系统,数据挖掘工具和直观的建立和发布交互式的报告,分析。它提供了一种简单的方式去将处理过的OLAP数据和最终用户联系起来,通过文字图形和图表的形式,用户只要简单的单击按钮,然后进行查询处理。使用它非常有趣,尤其当他是基于网络的。主要特点如下:l 标准J2EE WEB应用软件架构l 支持以下三种数据源创建报表多维数据库(OLAP Servers)关系型数据库(RDBMS Servers,如:MSSQL,MYSQL,ORACLE等)数据挖掘服务器(Data Mining Servers)l 数据源连接方式XMLA连接多维数据库,支持提供XMLA接口的所有OLAP Servers,如Mondrian, Microsoft Analysis Services ,Hyperion Essbase等JDBC连接关系型数据库R-PROJECT接口连接数据挖掘服务器l 经营模式:未发现任何与商业相关信息,目前判断为无调研基于官方资料及互联网搜索资料。官方网站如下:1) 官网:/2) OpenI的在线demo:/openi/Home3) OpenI Wiki:/4) OpenI SourceForge论坛:/projects/openi/5) Svn地址:/svnroot/openi/openi_2_0/trunk/6) GitHub地址:/openi/openi3.01.2 调研版本l 目前版本:1 OpenI plugin for Pentaho2 OpenI plugin for i2b23 OpenI-Jasper4 OpenI 2.0OpenI2.0版本于2009年停止开发维护。最新版本为3.0版本,OpenI作为pentaho和jasper的一个顶端插件提供出来。目前调研版本为OpenI 2.0。l 协议:GPL(GNU GENERAL PUBLIC LICENSE Version 2, June 1991)2 调研分析调研工作分为以下六部分完成:1) OpenI的部署及使用2) OpenI的实现机制3) OpenI使用的BI工具4) OpenI的实现机制、开发套件、数据流程5) OpenI集成到Pentaho平台的使用2.1 本地部署2.1.1 环境准备Tomcat服务器7.0、Mysql数据库5.1(目前部署成功的版本为OpenI-1.3.0版本)2.1.2 下载openi-1.3.0-RELEASE1) 官方网站: 或/index.html2) 下载发布版本:在上/projects/openi/files/下载这两个包openi-1.3.0-RELEASE-src.zip和openi-1.3.0-RELEASE.zip。如果只是先看一看,浏览一下的话,只下载openi-1.3.0-RELEASE.zip就可以了,因为其文件也不小,有50M左右.2.1.3 部署准备一个可用的tomcat服务器。分别解压这两个zip包,把openi-1.3.0-RELEASE/openi目录下的mondrian.war,openi.war和openi-projects.war这三个war文件拷贝到 /webapps目录下。在启动Tomcat后,在Tomcatwebapps目录下,出现下图所示三个文件夹,其中mondrian文件夹为OpenI所使用的OLAP服务器-mondrian的工程目录,openi为OpenI系统所需文件夹,openi-projects为OpenI的demo目录。2.1.4 配置数据库:准备好mysql(我安装的是MySQl server 5.1),可通过两种方式配置数据库。a.从Mysql的命令行界面配置数据库:1 启动MySQL,输入在安装MySQL的时候设置的密码,出现mysql后,输入创建数据库的命令create database foodmart; 2 再输入使用数据库的命令:use foodmart; 3 最后输入导sql文件的命令:source E:create-foodmart-mysql.sql; ( 找到openi-1.3.0-RELEASE/openi/conf/mondrian目录,在该目录下有一个create-foodmart-mysql.zip包,把这个包解压,得到一个create-foodmart-mysql.sql脚本文件。此处source后应为该sql文件的路径,我直接放在E盘目录下)b.使用MySQL的图形化插件:安装一个MySQL的图形化插件,这样在导入sql脚本文件时就非常方便。进入后,创建一个数据库,名为foodmart。完成之后,不急于把create-foodmart-mysql.sql脚本文件导入到数据库中,因为这个文件在最开始的地方有多余的信息,需要删除,不然用navicat软件进行直接导入的时候会出现12个错误,由于这个create-foodmart-mysql.sql文件比较大,用记事本打开时会非常的慢,建议用word打开,删除最开始的一些版本之类的信息一直到第一条创建表的语句为止,再导入,则能够成功。2.1.5 配置数据源只需修改webappsmondrianWEB-INFdatasources.xml文件中下面几个红色的地方就可以了,将其改为本机的配置:/webapps/mondrian/WEB-INF/datasources.xml2.1.6 配置Tomcat服务器角色配置/conf目录下的tomcat-users.xml文件,找到这段代码,意思为添加Tomcat服务器角色tomcat,去掉这段代码的注释,不然在首页上无法登陆,出现invalid login的信息。2.1.7 查看demo效果启动tomcat, http:/localhost:8080/openi,登陆用户名和密码为tomcat/tomcat,如果不对,请去conftomcat-users.xml自己去找.然后login,点开左边的SamplesmondrianHR Employees,出来下载漂亮的报表了。2.2 OpenI在Myeclipse上的部署1、新建一个web project,取名为openi2、把openi-1.3.0-RELEASE-src/openi/src目录下的文件全部拷贝到工程openi的src目录下。3、把openi-1.3.0-RELEASE-src/openi/ext目录下的包全部拷贝到工程openi的openi/WebRoot/WEB-INF/lib目录下。4、把openi-1.3.0-RELEASE/openi目录下的openi.war文件拷贝到/webapps的目录下,然后启动tomcat,会在webapps目录下出现一个openi的文件夹,把该文件夹中的所有文件(除WEB-INF)拷贝到工程openi/WebRoot目录下。5、这样在Myeclipse上已经部署好。2.3 OpenI plugin for Pentahol 下载openi-pentaho-plugin-3.0.1.zip压缩包和Pentaho BI Server使用Pentaho BI Server 3.9或更高版本,/projects/pentaho/files/Business%20Intelligence%20Server/下载Pentaho的BI Server,并从/projects/openi/files/openi-3/下载并解压openi-pentaho-plugin-3.0.1.zip后,将openi文件夹复制放到/pentaho-solutions/system文件夹下,将openiopeni-sample文件夹复制放到/pentaho-solutions文件夹下。l 重新启动pentaho的bi server登陆进入pentaho平台后,可以看到OpenI已集成到平台中。可以新建一个OpenI 分析报表。在此处可以选择数据源类型,以及多维数据库中的Catalog和Cube。如下图所示,为创建好的一个表,分别用Table和Chart显示效果:TableChart2.4 OpenI简单使用2.4.1 新建分析使用部署于本地的openi,可以新建数据分析,点击下图所示的图标:然后选择数据源因在部署时未使用MSAS服务器,选择数据源为mondrian,根据已配置好的demo可知存在六个Cube可供选择。如下图所示:其对应的物理文件为TomcatwebappsmondrianWEB-INFqueriesFoodMart.xml,上图中的6个Cube对应如下图所示的FoodMart文件中内容:选择一个Cube(Warehouse and Sales)进行参数配置:配置好之后,点击ok按钮,出现下图:在下图中可以选择不同的图标形式进行展示;2.4.2 保存选择下图所示的图标:另存为选择存储的位置,如下图所示:点击save按钮,分析下载完成,下载位置如下图所示:2.4.3 下载导出pdf和excel格式的文档。点击下图中所示的图标,可以导出pdf格式的分析文档;点击下图中所示的图标,可以导出excel格式的分析文档;点击下图中所示的图标,可以查看图:点击下图中所示的图标,可以查看图表:点击下图中所示的图标,可以编辑mdx语言:点击下图中所示的图标,可以编辑sql语言:2.5 OpenI体系结构该系统基与多层体系结构设计,其中包括:WEB客户端层;WEB服务器层;数据持久层。系统多层体系结构图2.6 OpenI数据流程下图为系统的数据流程与相关功能关系图:系统的数据流程图从上面的图中我们可以看到,数据仓库系统系统数据有两类:业务数据和多维数据。业务数据由业务系统产生,经过一系列处理并放到数据仓库中的关系数据库。多维数据是系统从数据仓库中经过汇总、统计而产生的。它通过采用多维结构和将一些数据预先进行了统计等预处理操作,对原始数据进行重新组合,来实现灵活而快速的数据访问。OpenI使用由J2EE应用服务器提供的基于角色的安全管理模式。应用程序安全性可以通过不同的配置方法实现,如通过属性文件,用户数据库,数据源等。请参阅各自的J2EE服务器文档中关于安全配置的详细信息。定义角色:l 每个用户都必须有一个角色“openi”用于访问OpenI网络应用程序。这个角色本质上是用来隔离进入OpenI应用的用户(由于你的J2EE服务器中部署了多个应用时,可以通过这个角色将OpenI的web应用和其他应用隔离)。l 其他角色如下所示:App_admin:此角色为应用管理员角色,拥有对全部OpenI项目的管理权限,如管理员可以修改任意OpenI项目的任意内容和配置。_admin:这个是项目管理员角色,拥有对id为的项目的管理权限。如对示例项目“foodmart”:“foodmart_admin”将拥有对该项目的管理权限。_user:这个是项目用户角色,拥有对id为的项目的用户级权限。如对示例项目“foodmart”:“foodmart_user”将拥有对该项目的用户级权限。一个项目用户无法对Preferences下的选项操作(出来管理他们自己的文件),另外无法修改外部的分析文件,但是可以创建或者修改新的分析文件。2.7 OpenI开发框架OpenI系统主要基于Spring Web MVC框架开发,Action配置文件为WEB-INFspringapp-servlet.xml,View配置文件为WEB-INFperties程序运行框架图如图所示:开发框架图由于OpenI是一个基于Java开发的Web应用。针对OpenI2.0版本,在openi-2.0-RC2-srcopeniresourcesWEB-INFweb.xml中可看到整个应用程序的基本信息,包括多个过滤器及Servlet映射信息,以及平台安全权限的角色设置。而当前台发送链接,由Spring控制器根据配置文件WEB-INFspringapp-servlet.xml来对整体进行控制,对前台的请求调用对应的JAVA Bean处理。如使用OLAP服务器时,url中发送analysis.htm将调用org.openi.web.ui.jsf.bean.reports.analysis.AnalysisBean进行处理。使用关系型数据库时,url中发送rdbms.htm将调用org.openi.web.ui.jsf.bean.reports.RdbmsReportBean类进行处理。这些Java Bean均继承自OpenI提供的ProjectContextAwareBean抽象类。2.8 是否支持大数据在OpenI WiKi中了解到其RoadMap即前文中提及到的OpenI的版本信息,即RoadMap已停止更新。OpenI面向的主要是小企业或组织用户,在其工程项目下未发现任何etl相关jar包,使用的OLAP服务器为Mondrian,其为关系型OLAP引擎,不提供对大数据的支持。2.9 BI工具其使用的开源BI工具如下所示:1、 OLAP服务器:Mondrian2、 OLAP操作:JPivot组件3、 OLAP界面展现:WCF组件4、 报表引擎:Jasper Report、JFreeChart2.9.1 MondrianMondrian是一个开源项目。在OpenI中作为OLAP引擎使用。它自身是一个用Java写成的OLAP引擎。它用MDX语言实现查询,从关系数据库(RDBMS)中读取数据。然后经过Java API以多维的方式对结果进行展示。Mondrian的使用方式同JDBC驱动类似。可以非常方便的与现有的Web项目集成。Mondrian OLAP 系统由四个层组成; 从最终用户到数据中心, 顺序为:1、 表现层,它决定了最终用户将在他们的显示器上看到什么, 及他们如何同系统产生交互。表现层以多维文法(grammar)(维、度量、单元)”的形式发出查询,然后OLAP服务器返回结果。JPivot是Mondrian的表现层标签库。2、 维度层,用来解析、验证和执行MDX查询要求。为了提高效率,维度层把要求查询的单元成批发送到集合层,查询转换器接受操作现有查询的请求,而不是对每个请求都建立一个MDX 声明。3、 集合层,负责维护和创建集合缓存,一个集合是在内存中缓存一组单元值, 这些单元值由一组维的值来确定。4、 存储层,它是一个关系型数据库(RDBMS)。它负责创建集合的单元数据,和提供维表的成员。有Pentaho平台下的Mondrian结构图如下:将Mondrian与本地数据库连接时,需建立一个模式(Schema)文件,一个模式定义了一个多维数据库. 它包含一个逻辑模型(logical model)、一组数据立方(consisting of cubes)、层次(hierarchies)、和成员(members),并映射到物理模型(关系数据库)上。简单的说,配置一个模式文件就是配置一个关系数据结构到多维数据结构的映射。2.9.2 JPivotJPivot - 是一个JSP 自定制的标签库,它基于XML/XSLT配置来生成相应的html,可以绘制一个OLAP表格和图表。用户可以执行典型的OLAP操作,如上钻、下钻、切片、和切块等。它使用WCF(Web Component Framework)组件,基于XML/XSLT来渲染Web UI组件,生成OLAP报表。在OpenI中,JPviot组件不能直接产生界面输出,但JPviot所有的可发布的组件都实现了Renderable接口,所有组件的输出信息都是通过Renderable接口中的render方法生成的,然后由WCF标签库的render标签调用JPivot组件的render方法将组件信息输出到界面上。从Web应用的架构来讲,JPivot完全遵循MVC结构。为了减少对特定第三方框架的影响,JPivot自己实现了MVC框架,但它可以与其它MVC框架共同使用。JPivot 的MVC结构如下:l 模型Model:JPivot的Model部分处理Olap的模型定义,查询及结果集;JPivot自己定义了一个Olap模型,然后分别提供了Mondrian及XML/A的JPivot model实现,这两个实现又通过Adapter与Mondrian系统及xml/a系统交互。l 视图View:JPivot的View部分比较丰富,包括JPivot taglib、wcf taglib定义及相关的UI Component助手类。用户可以在自己的JSP中使用tag构建新的视图。与其它Web框架不同的是JPivot在该层次提供了大量的Web组件,类 似于JSF那样。l 控制器Controller:JPivot的控制器部分非常有特色。在JPivot中,使用单件模式(Singleton)在每个用户的HttpSession中维护唯 一一个WcfController对象,然后以此对象为根,使用Composition模式,将所有的控件请求处理的RequestFilter组织成树 形结构。在JPivot中,所有的UI控件操作都使用DispatcherSupport来维护处理该控件中UI交互的一个或多个 Handler(比如表示表格中扩展钻取的“+”图标的DrillExpandUI类中的dispatcher属性与ExpandHandler内部 类),而每个UI控件的dispatcher又在其父控件的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论