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组织架构介绍的更多相关文章

  1. 大型网站技术架构介绍--squid

    一.大型网站技术架构介绍 1.pv高  ip高 并发量 2.大型网站架构重点    1. 高性能:响应时间,TPS,系统性能计数器.缓存,消息队列等.     高可用性High Availabilit ...

  2. PHP Yii框架开发——组织架构网站重构

    最近一段时间在维护公司的组织架构网站(Org),旧版网站只是用了xampp简单搭建了一套环境部署在了windows机器上,代码结构相对简单. 整个架构如下: 整个架构没有用到复杂的结构,class里放 ...

  3. python网络编程之C/S架构介绍

    标签(空格分隔): c/s架构介绍 什么是C/S架构 C指的是client(客户端软件),S指的是Server(服务端软件),后续我们可以试着写个c/s软件实现服务器软件与客户端软件基于网络通信: 计 ...

  4. NetBpm 组织架构(4)

    大牛的杰作,赞一个 转自:NetBPM工作流的架构设计及实现浅析 读前的话:由于本文涉及内容颇多,若有地方读来不很明白,建议先跳过,整体上有个认识后,再回过头来理解.作者认识有限,若有错误,欢迎斧正: ...

  5. DataPipeline丨DataOps的组织架构与挑战

    作者:DataPipeline CEO 陈诚 前两周,我们分别探讨了“数据的资产负债表与现状”及“DataOps理念与设计原则”.接下来,本文会在前两篇文章的基础上继续探讨由DataOps设计原则衍生 ...

  6. 菜鸟系列Fabric——Fabric 网络架构介绍(4)

    Fabric 网络架构介绍 1. 网络架构介绍 如图所示,fabric网络架构主要包含客户端节点.CA节点.Peer节点.Orderer节点这几个部分.并且fabric架构是安装组织来进行划分当,每个 ...

  7. 重学 Java 设计模式:实战迭代器模式「模拟公司组织架构树结构关系,深度迭代遍历人员信息输出场景」

    作者:小傅哥 博客:https://bugstack.cn - 原创系列专题文章 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 相信相信的力量! 从懵懂的少年,到拿起键盘,可以写一个Hell ...

  8. Android一个炫酷的树状图组织架构图开源控件实现过程

    Android一个炫酷的树状图组织架构图开源控件 文章目录 [1 简介] [2 效果展示] [3 使用步骤] [4 实现基本布局流程] [5 实现自由放缩及拖动] [6 实现添加删除及节点动画] [7 ...

  9. 通过Rainbond的团队管理去管理已有的组织架构

    针对于多团队管理我先列举几个小问题,看看大家有没有共鸣,我们在刚刚接触并使用Rainbond的时候,仅仅创建一个团队,里面创建一大堆应用,看起来特别乱,进行管理的时候呢,也会非常麻烦,尤其是当团队需要 ...

随机推荐

  1. Linux命令-文件处理命令:tail

    tail /etc/services 查看etc目录的services文件最后10行内容(默认显示后10行内容) tail -n /etc/services 查看etc目录的services文件的后5 ...

  2. nodejs 发起http请求

    http://nodejs.cn/api/http.html#http_http_request_options_callback http://yijiebuyi.com/blog/8221eb14 ...

  3. Python黑魔法,一行实现并行化

    Python 在程序并行化方面多少有些声名狼藉.撇开技术上的问题,例如线程的实现和 GIL,我觉得错误的教学指导才是主要问题.常见的经典 Python 多线程.多进程教程多显得偏“重”.而且往往隔靴搔 ...

  4. Vmware linux 无法上网

    流程如下: 1)点击 VM->Settings Hardware选项卡下面 2)点击Network Adapter 设置如下图所示,首先我们在虚拟机中将网络配置设置成NAT, 3.进入Windo ...

  5. 每日英语:A Better Way To Treat Anxiety

    Getting up the nerve to order in a coffee shop used to be difficult for 16-year-old Georgiann Steely ...

  6. nodejs之util工具

    util是nodejs的一大核心模块,用来提供常用函数的集合 1.util.inherits(实现对象原型继承) 概要:js的继承是基于原型的,本身并没有继承的语言特性,仅仅是通过复制原型的方式来实现 ...

  7. swift基础知识

    let 声明常量var 声明变量 ?可以为空 !必须为所声明类型 swift中文教程:http://c.biancheng.net/cpp/swift/jiaocheng/

  8. insert,update和delete下的注入

    PS:刚开始看到这个注入方式的时候,问米哥:“为啥updatexml就足以报错了,为啥还要使用insert?”知道答案的我觉得问了一个傻蛋的问题.不过没关系.慢慢积累.答案很简单,并不是所有的注入点程 ...

  9. postgresql解决锁表

    --查询是否锁表了select oid from pg_class where relname='可能锁表了的表'select pid from pg_locks where relation='上面 ...

  10. C语言 · 逆序排列

    算法提高 逆序排列   时间限制:1.0s   内存限制:512.0MB      问题描述 编写一个程序,读入一组整数(不超过20个),并把它们保存在一个整型数组中.当用户输入0时,表示输入结束.然 ...