zoukankan      html  css  js  c++  java
  • 开源-解决方案-数据-商业智能平台:SpagoBI

    ylbtech-开源-解决方案-数据-商业智能平台:SpagoBI

    SpagoBI是一个商业智能平台,为商业智能项目提供了一个完整开源的解决方案。它涵盖了一个BI系统所有方面的功能包括:数据挖掘、查询、分析、报告、Dashboard仪表板

    1. 产生背景返回顶部
    经过几年的积累,大部分中大型的企事业单位已经建立了比较完善的CRM、ERP、OA基础信息化系统。这些系统的统一特点都是:通过业务人员或者用户的操作最终对数据库进行增加、修改、删除等操作。上述系统可统一称为OLTP(Online Transaction Process,在线事务处理),指的就是系统运行了一段时间以后,必然帮助企事业单位收集大量的历史数据。但是,在数据库中分散、独立存在的大量数据对于业务人员来说,只是一些无法看懂的天书。业务人员所需要的是信息,是他们能够看懂、理解并从中受益的抽象信息。此时,如何把数据转化为信息,使得业务人员(包括管理者)能够充分掌握、利用这些信息,并且辅助决策,就是商业智能主要解决的问题。  如何把数据库中存在的数据转变为业务人员需要的信息?大部分的答案是报表系统。简单说,报表系统已经可以称作是BI了,它是BI的低端实现。
    国外的企业,大部分已经进入了中端BI,叫做数据分析。有一些企业已经开始进入高端BI,叫做数据挖掘。而我国的企业,大部分还停留在报表阶段
    数据报表不可取代
    传统的报表系统技术上已经相当成熟,大家熟悉的Excel、水晶报表、Reporting Service等都已经被广泛使用。但是,随着数据的增多,需求的提高,传统报表系统面临的挑战也越来越多。
    1. 数据太多,信息太少
    密密麻麻的表格堆砌了大量数据,到底有多少业务人员仔细看每一个数据?到底这些数据代表了什么信息、什么趋势?级别越高的领导,越需要简明的信息。如果我是董事长,我可能只需要一句话:我们的情况是好、中还是差?
    2. 难以交互分析、了解各种组合
    定制好的报表过于死板。例如,我们可以在一张表中列出不同地区、不同产品的销量,另一张表中列出不同地区、不同年龄段顾客的销量。但是,这两张表无法回答诸如“华北地区中青年顾客购买数码相机类型产品的情况”等问题。业务问题经常需要多个角度的交互分析。
    3. 难以挖掘出潜在的规则
    报表系统列出的往往是表面上的数据信息,但是海量数据深处潜在含有哪些规则呢?什么客户对我们价值最大,产品之间相互关联的程度如何越是深层的规则,对于决策支持的价值越大,但是,也越难挖掘出来。
    4. 难以追溯历史,数据形成孤岛
    业务系统很多,数据存在于不同地方。太旧的数据往往被业务系统备份出去,导致宏观分析、长期历史分析难度很大。
    因此,随着时代的发展,传统报表系统已经不能满足日益增长的业务需求了,企业期待着新的技术。数据分析和数据挖掘的时代正在来临。值得注意的是,数据分析和数据挖掘系统的目的是带给我们更多的决策支持价值,并不是取代数据报表。报表系统依然有其不可取代的优势,并且将会长期与数据分析、挖掘系统一起并存下去。
     
    2. 发展版本返回顶部
    2011年6月16日,3.0版本发布;
    2011年7月22日,3.1版本发布;
    2011年12月22日,3.3版本发布;
    2012年4月17日,3.4版本发布;
    2012年7月13日,3.5版本发布;
    2012年10月23日,3.6版本发布;
    2013年6月18日,4.0版本发布;
    2013年12月3日,4.1版本发布;
    2014年4月10日,4.2版本发布;
    2014年9月16日,5.0版本发布,此版本中添加的驾驶舱功能。
    2015年1月22日,5.1版本发布;
     
    3. 主要功能返回顶部

    基本介绍

    商业智能套件SpagoBI提供一个基于J2EE的框架用于管理BI对象如报表、OLAP分析、仪表盘、记分卡以及数据挖掘模型等。它提供的BI管理器能够控制、校验、验证与分发这些BI对象。SpagoBI特性包括支持Portal、Report、OLAP、QbE(FreeInquiry)、ETL、Dashboard、文档管理、元数据管理、数据挖掘与地理信息分析等。SpagoBI的安装配置较为简单方便,能够方便地在UNIX/Linux、WindowsServer操作系统下,基于流行Tomcat7.0.xServer和JDK1.7.x环境运行,实现了Web框架下的AJAX风格的UI显示界面,比较适合于中、小型的应用软件系统进行智能化分析类OLAP、Ad-hoc、Reporting等BI相关应用展示。其典型demo显示截图如下:
    SpagoBI平台功能较为完整,官方声称市场上唯一100%开源的BI套件解决方案(基于LGPL协议);各个BI组件之间模块化很好,通过Plugin插件方式加载,来看一下它的各个组件:
    Report:BirtReportDriver,BirtReportEngine,JasperReportDriver,JasperReportEngine
    GEO:GeoDriver,GeoEngine(用地图显示数据和查询的)
    OLAP:JPivotDriver,JPivotEngine
    QBE:QbeDriver,QbeEngine
    DataMining:WekaDriver,WekaEngineSecurity:ExoPortalSecurityProvider
    ETL:Octupus和talend(Talend是官方合作伙伴)
    Portal:eXoPortal
    Booklet(小册子):BookletsComponent:主要包括文件上传,工作流,OpenOffice支持。
    它还支持文档管理,用的是Apache的JackRabbit;支持搜索功能,使用的是ApacheLucene。它的展现层也使用了AJAX特性,另外它在DashBoard也使用了Openlaszlo,(一个用Javacode生成Flash的框架),所以SpagoBI的DashBoard看上去很好。SpagoBI体系架构图如下
    它的界面强大、美观,具备良好的跨浏览器支持,页面缩放,元素的布局都很稳定划一。

    软件下载

    截止到2015年4月,SpagoBI软件的最新版本号为v5.1 。
    1、下载完整的包含所有插件的安装All-In-One-SpagoBI-5.1-21012015.zip。
    2、下载SpagoBI元数据库配置表需要的SQL脚本(SpagoBI支持Oracle/MySQL/SQLServer/Ingres/Postgres-SQL等多种RDBMS关系型数据库)
    3、修改SpagoBI内置的Tomcat7.xServer对应的server.xml配置,创建metadata元数据库,并启动相关实例SpagoBI应用是以核心加引擎的模型来组织应用的。SpagoBI发行包中包含多个引擎。

    软件配置

    本文及以后的示例使用的数据库都为oracle,如需使用其他数据库请从SpagoBI官网下载相应数据库的BDSQL脚本文件并运行
    1.首先在Oracle实例中创建数据库SpagoBI
    2.创建数据库完成后创建表空间等:
    --在创建用户之前,先要创建表空间:
    SQL>createtablespaceSpagoBIdatafile'/data/oradata/SpagoBI.dbf'size500M;
    --创建用户
    SQL>createuserSpagoBIidentifiedbySpagoBIdefaulttablespaceSpagoBI;
    --授予权限
    SQL>grantconnect,resourcetoSpagoBI;
    3.创建数据表,执行ORA_create.sql
    4.创建定时器数据表,执行03ORA_create_quartz_schema.sql
    5.以上操作完成后可以进行部署环境,更改tomcat_homeconfserver.xml中的<Resourcename="jdbc/SpagoBI"auth="Container"type="javax.sql.DataSource"driverClassName="oracle.jdbc.driver.OracleDriver"url="jdbc:oracle:thin:@127.0.0.1:1521:SpagoBIi"username="SpagoBI"password="SpagoBI"maxActive="20"maxIdle="10"maxWait="-1"/>数据库连接部分。
      l修改.webappsSpagoBIWEB-INFclasses下hibernate.cfg.xml,
      l修改:jbpm.hibernate.cfg.xml数据库方言设置hibernate.dialectorg.hibernate.dialect.Oracle9Dialect修改quartz.propertiesorg.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
      l修改默认服务器URL与端口号:SpagoBI默认端口是8080,如果想使用其他端口需要在Tomcat配置文件server.xml中将默认端口修改,同时修改SpagoBI_service_url和SpagoBI_host_url中默认端口。SpagoBIServer部署在内网环境的服务器上时,需要修改Tomcat配置文件中的URL的localhost为IP地址(例如192.169.2.x),如果在公网上部署,可以使用DNS域名。
    6.运行Tomcat,启动SpagoBI(点击bin下SpagoBIStartup.bat文件)。在启动的过程中SpagoBI会在后台将一些必须的数据保存到数据库中。
     
    4. 中文汉化返回顶部
    最新的版本为SpagoBI从官方网站上下载5.1的官方版。这个版本和其他历史版本一样都不支持中文,并且也没见到官方支持中文的计划。
    通过跟踪下代码,发现SpagoBI是支持国际化的,相应的配置文件也都存在,只是缺少中文的支持。要支持中文除了配置文件还需要更改大量的JSP文件,因为SpagoBI原有的JSP是以ISO-8859-1为编码方式,于是全部改成了UTF-8。
    更改了JSP还是会在保存中文内容时报错,于是继续分析代码,加上转换。最终解决了中文支持的问题。SpagoBI可以支持中文(这里对SpagoBI做了很多改造工作,包括修改源代码类和JSP,如果只改JSP的encode和增加zh_CN汉化文件是不支持中文的,也无法保存带中文名称的菜单,配置等)。使用者有兴趣的话可以自己进行汉化工作。
     
    5.返回顶部
     
     
    6.返回顶部
     
    7.返回顶部
     
    8.返回顶部
     
    9.返回顶部
     
    10.返回顶部
    1、
    2、
    3、
     
    11.返回顶部
     
    warn 作者:ylbtech
    出处:http://ylbtech.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    对MVC模式与MVVM模式的认识
    优雅降级和渐进增强
    入园第一天
    看看AQS阻塞队列和条件队列
    简单看看LockSupport和AQS
    简单看看LongAccumulator
    JUC中的原子操作类及其原理
    java并发基础知识
    简单看看es6解构赋值
    简单使用vue-cli
  • 原文地址:https://www.cnblogs.com/storebook/p/8490800.html
Copyright © 2011-2022 走看看