BIEE作为Oracle的新的商业智能平台企业版,起源于Oracle所收购的Siebel公司,BIEE原来叫做Siebel Analytic,但是Siebel也不是它的发明者,它是Siebel在2001年收购的另一个公司叫nQuire software的产品,这个从它的配置文件的名称就可以看出来(NQSConfig,还一直保留着nQuire software的痕迹)。但是这个产品无论是在Siebel还是在Oracle都得到了发扬光大,我的理解是,也许它不一定是最好的BI工具,但是却是一个非常有创造力的工具,它对于物理层,逻辑层,展现层的理解和定义创造了一个非常简洁而清晰的数据模型,使用这个数据模型可以完整地连接企业内各个异构数据源和前台的业务使用人员,使商业智能真正能够在企业范围内得到大规模部署和使用:就是报表的“开发”以一种非常容易的方式交还给业务人员,他们就可以随时产生自己所需要的智能数据报表,而不是把需求再提交给开发人员,而开发人员,在定义好了商业智能的元数据之后,就可以避免对业务人员的连续不断的需求疲于应付了!请注意,这个并不是广告语,如果你真正理解了BIEE的架构和部署,你也会有相同的感觉的,所以,觉得BIEE前台报表开发过于简单的人也许并不理解这才是BIEE的真正优势! BIEE architecture  BIEE的架构非常简单,如下图:   窗体顶端 窗体底端 窗体顶端 窗体底端 窗体顶端 窗体底端我觉得这这个架构里,最重要的最核心的应该是BI Server和由BI Server所操作的Repository。一般的数据仓库或者商业智能关心的一个核心问题是特定领域的分析数据模型的建模,这个建模的过程在BIEE里主要是通过BI admintool来进行,而整个建模的成果则是称之为repository的一个文件。BI admintool是一个图形工具,主要用于建立和维护repository,BIEE的repository相当于BIEE的元数据层,而且从很多信息来看很可能将会被作为未来Oracle的商业智能解决方案的中心元数据层,在Repository里主要包含了:

·         数据源的定义

·         多维数据模型的定义

·         业务展现层的定义

而整个元数据的定义可以清楚地看到数据如何从源头被一步一步地转换最终以业务人员能够理解的方式方式展现给最终用户,BIEE的repository设计得非常简洁和合理,分别对应于以上的大三个部分分为三个层次的定义:

·         物理层:对应于数据源的定义,可以建立多个不同系统的数据源,比如一个数据源时essbase,一个数据源是Oracle数据库,而另一个数据源时DB2。

·         逻辑层:从多个物理数据源里抽象出来的多维数据模型,主要为了业务需求服务,一般是一个星型模型或雪花模型,在逻辑层可以从多个物理数据源形成一个统一的单个多维模型。

·         表现层:把多维模型以业务的术语展现给最终报表建立的用户,从展现层的定义中我们不难发现,其实BIEE的开发主要集中于元数据层的开发,而最终报表和展现甚至可以让最终的业务用户自己来完成,这个也说明了BIEE的展现层开发是相当容易的!

BI Server(BI服务器)由admintool建立的Repository最终由BI Server来使用,BI Server运行的时候会打开Repository文件,分析服务通过配置文件NQSConfig.ini中的 Star=RPD文件名文件名来找到该数据模型定义文件。物理层和数据源作为一个BI服务器,BIEE的BI Server和传统意义上的Essbase或Oracle OLAP的地位并不相同,最大的差别是无论是Essbase或者是Oracle OLAP,本身都包含了数据的建模,存储,处理等服务,但是BIEE BI Server本身却并不存储数据,而只是“指向数据”,用户的分析请求会自动的由分析服务组织成合适的SQL发送到定义在物理层的数据源,由数据源执行,当然BI Server本身还可以对多个数据源返回的结果重新组织和“装配”,最后把组织装配后的结果返回展现层。作为源数据的提供者可以是普通数据库数据,关系型数据,OLAP服务,文本文件,excel文件,XML文件或者符合XMLA规范的数据源等等,当在物理模型里定义多个和多种类型的数据源的时候,数据源的多样性完全可以由逻辑层进行掩藏,从而最终的商业智能报表开发者或者使用者可以完全不知道最终的信息来源于多种不同的系统。当从关系数据库来导入数据模型的时候,一般而言事实表和维度表之间都存在着主外键的关系,在BIEE里创建物理层的时候可以通过导入的方式来把这些事实表和维度表之间的关系直接导入到物理层里,这样BIEE就可以在创建逻层的时候自动地认识到哪些是事实表,哪些是维度。但是维度的层次关系一般而言还是需要自己去定义;而从Essbase或者Oracle OLAP导入数据模型的时候就要容易一些,因为导入会把维度的层次关系直接从Essbase里抓出来,就不需要额外去建立维度的层次关系就可以直接使用Essbase里的设计了!

BI Presentation Service(BI展现层服务) BIEE的BI展现层是Web服务器的一个扩展模块,就如Siebel应用里的SWSE一样,BI展现层接收BI服务器的数据然后把把数据组织称HTML或者图表展现给最终用户,BI展现层也需要操作一个文件(catalog文件,以.webcat结尾),这个文件存储了用户通过管理界面定义的应用的dashboard,通过BI Anwsers定义出来的各种报表,以及这些仪表盘,报表和用户或者组的权限对应关系。

BIEE入门(一)架构的更多相关文章

  1. BIEE入门(三)业务模型层

    正如它的名字所示(Business Model and Mapping Layer),业务逻辑层需要把物理层的数据源以一种业务用户的视角来重新组织物理层的各个数据源(所谓的Mapping),同时在业务 ...

  2. 入门MySQL——架构篇

    前言:  上篇文章我们介绍了入门MySQL的基本概念,看完上篇文章,相信你应该了解MySQL的前世今生了吧.本篇文章将带你从架构体系来学习MySQL.我认为学习MySQL架构体系应该是入门阶段必须的, ...

  3. 从零入门 Serverless | 架构的演进

    作者 | 许晓斌 阿里云高级技术专家 本文整理自<Serverless 技术公开课>,关注"Serverless"公众号,回复 入门 ,即可获取 Serverless ...

  4. Kafka(一)【概述、入门、架构原理】

    目录 一.Kafka概述 1.1 定义 二.Kafka快速入门 2.1 安装部署 2.2 配置文件解析 2.3Kafka群起脚本 2.4 topic(增删改查) 2.5 生产和消费者命令行操作 三.K ...

  5. BIEE入门(二)物理层的定义

    使用BIEE的第一步是使用admintool去建立一个多维数据模型,而建立多维数据模型的第一步则是建立物理层,请注意因为BIEE本身并不存 储数据,所以所谓BIEE物理层的意义是需要在BIEE里建立各 ...

  6. BIEE入门(四)展现层

    BIEE里最终面向最终用户(业务界面使用者的)叫做BIEE的Presentation Layer也即展现层,展现层的定义将是最终用户Web报表开发界面里能够看见的完全一样的样子,所以展现层一般将是以最 ...

  7. Mybatis框架基础入门(二)--架构简介

    mybatis配置 SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息. mapper.xml文件即sql映射文件,文件中配置了操作数据库的 ...

  8. IBM总架构师寇文东谈程序员的职业规划

    有些年轻的程序员向我咨询,将来的路该怎么走?俗话说,条条大路通罗马.不同的路都能走向成功,到底选择哪条路,取决于自己的兴趣.可能有程序员会问:如果还没有找到自己的兴趣怎么办?我的建议是多尝试,努力做, ...

  9. IBM 总架构师:话说程序员的职业生涯

    作者:IBM 软件集团大中华区总架构师 寇卫东 有一些年轻的程序员向我咨询,将来的路应该怎么走?俗话说,条条大路通罗马.不同的路都能走向成功.到底选哪条路,取决于自己的兴趣.可能有程序员会问:如果还没 ...

随机推荐

  1. BZOJ 2935/ Poi 1999 原始生物

    [bzoj2935][Poi1999]原始生物   2935: [Poi1999]原始生物 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 145  So ...

  2. P3233 [HNOI2014]世界树

    传送门 看到指定的总节点数小于等于 300000 就知道要搞虚树了 考虑如何在虚树确定每个议事处控制的节点数量 可以两遍dfs 第一遍求儿子对父亲的影响,第二遍求父亲对儿子影响 注意搜索顺序,这样就可 ...

  3. [转] 使用 Java8 Optional 的正确姿势

    [From] https://unmi.cc/proper-ways-of-using-java8-optional/ 我们知道 Java 8 增加了一些很有用的 API, 其中一个就是 Option ...

  4. MySQL 重设root密码

    Mysql 5.6.15版本的windows下的重设root密码,找了n个帖子终于弄明白了. 1. 开一个cmd窗口,进入Mysql的安装目录的bin文件夹,然后运行这个: mysqld --skip ...

  5. 《STL详解》解题报告

    看完发现文档缺页...... 3.5  菲波那契数 vector<int> v; v.push_back(); v.push_back(); ;i < ;++i) v.push_ba ...

  6. VUE 入门教程

    http://www.runoob.com/w3cnote/vue-js-quickstart.html VUE安装教程 https://segmentfault.com/a/119000001218 ...

  7. Fedora中安装VLC播放器

    需要在机器上安装VLC,无奈不能直接通过yum安装,网上搜了一下,直接安装成功,其实挺简单的: 我的机器是Fedora15,其他的类似: ------------------------- 首先:su ...

  8. pip使用的基本命令

    基本的命令解释,如下图: 安装 sudo easy_install pip 列出已安装的包 pip freeze or pip list 导出requirements.txt pip freeze & ...

  9. ContextCapture水面约束(水面破洞修复)

      [问题描述] 对于水面而言,由于特征点较少,软件在计算时很难匹配正确,导致输出模型的水面通常是支离破碎的.软件针对这种情况提供了一个约束工具,用户手动的为水面添加平面约束后,输出的水面模型就会非常 ...

  10. BNU 20860——Forwarding Emails——————【强连通图缩点+记忆化搜索】

    Forwarding Emails Time Limit: 1000ms Memory Limit: 131072KB This problem will be judged on UVA. Orig ...