Cognos组织架构介绍
Cognos只是一个工具,说到Cognos相信大部分人都知道BI(商业智能,Business Intelligence)。
Cognos也是属于SOA架构,面向服务的体系结构,是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约
- 1
- 2
联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。
这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合。松耦合系统的好处有两点,一点是它的灵活性,另一点是,
当组成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存在。
- 1
- 2
- 3
如下图所示就是Cognos的组织架构图。
从上至下分别为:展示层,应用层,数据层
展示层:
IBM Cognos Gateway组件:这个网关,是用户访问Cognos之间的桥梁。对用户提供的信息进行加密,并且可以把用户的请求进行分解,加上自己Web
层中的环境变量传递给后端应用层服务进行处理。确保用户请求是有效的,而不是非法进入访问。另外一方面,可以有效的防止Cognos暴露在外面,
配合应用层防火墙拦截非法请求。同时他也可以有效的为主要的Cognos服务(IBM Cognos Content Manager)分摊压力,对用户请求进行分派。
- 1
- 2
- 3
- 4
应用层:
应用层是Cognos的任务控制中心。是所有请求处理中心,包括用户请求,交互式请求,批处理请求,后台调度请求等。他会以最佳的方式来分发请求,
并提供服务。应用层分为两种服务器:Cognos Content Manager 和 Cognos Report Server.
Cognos Report Server顾名思义就是用来处理报表的,他可以请求元数据,对报表展示数据的。
Cognos Content Manager 是整个Cognos控制中心,主要用来管理元数据库 ( cognos content store),元数据库中存储了用户的应用数据,包括
安全信息,配置信息,模型,报表,报表输出版本等等。 content manager 用于发布最新模型,获取报表定义,管理调度信息,管理用户名称空间等
等。同时还管理着任务分派器dispatcher,任务分派器,接收到gateway用户请求时,他会在content manager服务中注册信息,他会根据每个分派器的
处理能力来判断请求是在本地处理还是给其他分派器进行处理。另外分配器中都带着应用防火墙,为Cognos服务提供了一个安全保障。
Content Manager是我们整个Cognos的大脑,只要他还能运作,其他服务都停止了,他也能正常工作,但是他一旦出问题,Cognos也就意味着崩溃了。
所以在配置负载均衡时要考虑Content Manager所在服务器的配置是否合理。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
数据层:
security namespace其实就是Cognos所连接的第三方认证源,可以是windows,Apache等等。所有用户的认证,授权都是靠他来实现的。
content manager 与content store元数据库是使用JDBC的方式进行交互的。所以在安装的时候需要拷贝相应的JDBC驱动包到相应的路径下(ojdbc14.jar/ojdbc6.jar/class12.jar),db2,oracle需要拷贝,而sql server不用,因为cognos自带这个数据库的驱动包。然后就是还有Report server所连接的data source 和OLAP,通常报表连接的data source 所采用的是客户端提供的native方式进行连接,所以这时就需要安装一个32位的客户端对data source 进行连接。这种native连接方式要比JDBC连接方式更有效率。
四种常见的COGNOS负载均衡方式:
常见架构实例:
from https://blog.csdn.net/yangpingping94/article/details/72810438
Cognos组织架构介绍的更多相关文章
- 大型网站技术架构介绍--squid
一.大型网站技术架构介绍 1.pv高 ip高 并发量 2.大型网站架构重点 1. 高性能:响应时间,TPS,系统性能计数器.缓存,消息队列等. 高可用性High Availabilit ...
- PHP Yii框架开发——组织架构网站重构
最近一段时间在维护公司的组织架构网站(Org),旧版网站只是用了xampp简单搭建了一套环境部署在了windows机器上,代码结构相对简单. 整个架构如下: 整个架构没有用到复杂的结构,class里放 ...
- python网络编程之C/S架构介绍
标签(空格分隔): c/s架构介绍 什么是C/S架构 C指的是client(客户端软件),S指的是Server(服务端软件),后续我们可以试着写个c/s软件实现服务器软件与客户端软件基于网络通信: 计 ...
- NetBpm 组织架构(4)
大牛的杰作,赞一个 转自:NetBPM工作流的架构设计及实现浅析 读前的话:由于本文涉及内容颇多,若有地方读来不很明白,建议先跳过,整体上有个认识后,再回过头来理解.作者认识有限,若有错误,欢迎斧正: ...
- DataPipeline丨DataOps的组织架构与挑战
作者:DataPipeline CEO 陈诚 前两周,我们分别探讨了“数据的资产负债表与现状”及“DataOps理念与设计原则”.接下来,本文会在前两篇文章的基础上继续探讨由DataOps设计原则衍生 ...
- 菜鸟系列Fabric——Fabric 网络架构介绍(4)
Fabric 网络架构介绍 1. 网络架构介绍 如图所示,fabric网络架构主要包含客户端节点.CA节点.Peer节点.Orderer节点这几个部分.并且fabric架构是安装组织来进行划分当,每个 ...
- 重学 Java 设计模式:实战迭代器模式「模拟公司组织架构树结构关系,深度迭代遍历人员信息输出场景」
作者:小傅哥 博客:https://bugstack.cn - 原创系列专题文章 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 相信相信的力量! 从懵懂的少年,到拿起键盘,可以写一个Hell ...
- Android一个炫酷的树状图组织架构图开源控件实现过程
Android一个炫酷的树状图组织架构图开源控件 文章目录 [1 简介] [2 效果展示] [3 使用步骤] [4 实现基本布局流程] [5 实现自由放缩及拖动] [6 实现添加删除及节点动画] [7 ...
- 通过Rainbond的团队管理去管理已有的组织架构
针对于多团队管理我先列举几个小问题,看看大家有没有共鸣,我们在刚刚接触并使用Rainbond的时候,仅仅创建一个团队,里面创建一大堆应用,看起来特别乱,进行管理的时候呢,也会非常麻烦,尤其是当团队需要 ...
随机推荐
- TocControl控件图层无法显示问题
在窗口里的层层嵌套SplitContainer后,出现最内层SplitContainer内部TocControl控件图层无法显示问题:加载完mxd后代后加上axTOCControl1.SetBuddy ...
- 【Arduino】超声波模块(HC-SR04)
还好,这个模块有现成的库能够用: https://github.com/bosgood/arduino-playground/tree/master/lib/HCSR04Ultrasonic 下面仅仅 ...
- oracle和其他数据库对表名、列名的长度限制
============== 数据库 表名列名长度限制问题 今天修改数据库表名,感觉现有的定义列名都无含义...修改后被同事告知,列名有点长,怕有的数据库不支持.. 我头一次听说数据库表名和列名长度限 ...
- 学习XML(添加一个子节点) 摘录
这里介绍添加XML节点的方法. 首先定义XML文件:(bookstore.xml) <?xml version="1.0" encoding="utf-8" ...
- MySQL数据约束和关联查询
1 默认值deafult:在建表的时候字段后使用 default ,默认值字段允许为null. 2 非空 not null:在建表的时候字段后使用 not null. 非空字段必须赋值,并且不能是n ...
- LeetCode总结 -- 树的求和篇
树的求和属于树的题目中比較常见的,由于能够有几种变体,灵活度比較高,也能够考察到对于树的数据结构和递归的理解. 一般来说这些题目就不用考虑非递归的解法了(尽管事实上道理是跟LeetCode总结 -- ...
- Linux下解压tar.xz
tar xvJf ***.tar.xz 注意零散文件,最好放到文件夹里
- js基本知识4
1. 数组 看电影 电影院 座位 大的变量 里面可以放很多的值 var arr = [1,3,57]; var ar = new Array(); new object(); new Date() v ...
- jsp学习之scriptlet的使用方法
scriptlet的使用 jsp页面中分三种scriptlet: 第一种:<% %> 可以在里面写java的代码.定义java变量以及书写java语句. 第二种:<%! %> ...
- js去掉双引号
替换: d = d.replace("\"","").replace("\"",""); 全部替换: ...