转贴:Cognos 8体系结构学习笔记

转自:http://qintnt.javaeye.com/blog/122702

Cognos 8体系结构学习笔记之一:层级结构

      Cognos8具备一个多层的体系结构。大体可以分为三层:Web server,Application和data。层与层之间可以由防火墙隔开。而Cognos8 user Interfaces则位于这些层的最顶端。

User Interfaces

        用户接口有基于web的接口和基于windows的接口两种。基于web的接口有:Cognos Connection,Cognos office Connection,Query studio,Report studio,Analysis studio,Event studio,Metric studio;基于windows的接口有:Framework Manager,Metric Designer,Transformer。

Web Based:
  • Cognos Connection。 是Cognos提供的一个Web portal。它是查询,分析和管理数据以及创建报表,scorecards和事件的一个入口。用户可以通过Cognos Connection运行所有基于web的Cognos应用。
  • Cognos office Connection。 用户通过Cognos office Connection可以创建和发布Excel工作簿和Power Point演示文稿。
  • Query studio。用来快速创建简单报表,对用户专业技能要求很低。
  • Report studio。用来创建复杂的专业的报表。它可以创建报表模板提供给Query studio使用,还可以编辑Query studio和Analysis studio中的产出。
  • Analysis studio。Analysis studio是浏览,分析,比较多维数据的工具。Query studio根据Analysis studio的分析结果创建专业报表。
  • Event studio。Event studio通过创建代理来观察数据,在业务事件或者异常条件发生时执行任务以及通知相关人员。
  • Metric studio。用户通过Metric studio可以自定义记分卡环境来观察分析度量数据。
Window Based:
  • Framework Manager。 Cognos的元数据建模工具。元数据以一个包为单位发布到报表工具中。
  • Metric Designer。抽取数据用于记分卡应用的建模工具。
  • Transformer。创建PowerCube的建模工具。
  • Map Manager。 管理Map的一个工具。

Web Server

        Web Server层包含一个或者多个Cognos Gateway。 一个Gateway就是一个扩展的Web服务端程序。可以是CGI程序,ISAPI,apache mod或者servlet程序。

  • 加密密码保证安全性
  • 抽取需要的信息并提交给Cognos Server
  • 给Web server 附加环境变量
  • 给请求增加一个默认的名字空间
  • 将请求发送给Cognos dispatcher作处理。

Applications

        应用层包含一个或者多个Cognos Servers。Cognos Server执行从Gateway发送过来的查询,分析或者报表请求。Application层包含Application tier component (包含一个操纵服务和路由请求的调度器dispatcher)和Content Manager。

Dispatcher:

       Dispatcher可以将请求路由至一个本地service或者路由至一个特定的dispatcher。Dispatcher可以提供负载均衡,故障恢复等功能。每个dispatcher启动时都会与Content Manager注册,dispatcher之间是互相知晓的。Dispathcer管理许多服务:Presentation Service,Report Service,Report Data Service,Batch Report Service,Job Service,Monitoring Service,Log Service,Content Manager Service,Metrics Manager Service,Data Integration Service,Delivery Service,Event Management Service,Agent Service,System Service。

Content Manager:

       Content Manager管理用户应用数据的存储。这些数据包括:安全,配置,模型,metrics,代理,语言信息,个人用户信息,报表定义以及报表输出等数据。

        ContentManager包含Access Manager。它是Cognos里一个主要的安全组件,提供用户认证,授权,加密,名字空间等功能。

Data

        Data层是数据提供者。它包括Content store,data sources,metric store。

Content store:

        content store存储报表定义数据,部署的报表模型,包,数据源链接信息,名字空间,计划任务等信息。它不存储日志以及设计时模型信息。

Data Sources:

        数据源通常是关系数据库,多维cube,文件等。数据源还可以是Enterprise Information Integrators整合型数据源,例如Cognos composite server。

Cognos 8体系结构学习笔记之二:请求流程

访问Cognos8

  • 匿名访问
  1. 用户通过浏览器发起Cognos访问请求,请求被送至Cognos Gateway
  2. Gateway接收请求并发送给一个dispatcher
  3. dispatcher发现请求没有附带passport,将请求发送给Content Manager
  4. Content Manager将请求发送给Access Manager
  5. Cognos允许匿名访问,于是一个passport附加于该请求,然后请求通过Content Manager返回给dispatcher
  6. dispatcher处理请求,并发送给展现服务
  7. 展现服务将欢迎页面通过dispatcher,Gateway发送给最终用户
  • 授权的访问
  1. 用户通过浏览器发起Cognos访问请求,请求被送至Cognos Gateway
  2. Gateway接收请求并发送给一个dispatcher
  3. dispatcher发现请求没有附带passport,将请求发送给Content Manager
  4. Content Manager将请求发送给Access Manager
  5. Cognos不允许匿名访问,Access Manager将该请求返回并附加一个错误信息
  6. Content Manager将附带错误信息的请求返回给dispatcher
  7. dispatcher将请求发送给展现服务
  8. 展现服务创建合适的登录页面通过dispatcher,Gateway返回给用户
  9. 用户输入ID和密码等必要信息通过原先的流程发送请求至Access Manager
  10. 验证通过后,Access Manager产生一个passport附加于请求
  11. 请求返回给最终用户

查看报表或分析结果

  1. 用户点击查看报表,请求通过Gateway,dispatcher发送至展现服务
  2. 展现服务通过dispatcher,Gateway返回Cognos Viewer给浏览器。Cognos Viewer包含一个HTML frame报表展示页面。该报表展示页面的URL指向一个用于展示数据的Content Manager 对象
  3. 浏览器将这个URL通过Gateway,dispatcher发送给Content Manager
  4. Content Manager将权限控制列表,执行动作(例如:读),用户信息发送给Access Manager
  5. Access Manager决定用户是否能执行该动作。Content Manager将报表以HTML或者PDF等文档的形式通过dispatcher,Gateway发送给用户。

运行HTML报表或分析

  1. 用户点击报表,请求通过Gateway,dispatcher发送给展现服务
  2. 展现服务将请求通过dispatcher发送给报表服务
  3. 报表服务通过dispatcher向Content Manager发送报表和元数据请求
  4. Content Manager将报表XML定义和元数据发送给报表服务。仅当Cognos服务器重启或者报表更新并重新发布后,Content Manager会重新获取元数据
  5. 报表服务将错误页面或者未准备好页面或者HTML报表或分析其中之一返回给展现服务
  6. 展现服务将结果通过dispatcher,Gateway发送给浏览器

计划任务执行

  1. 当计划时间到达时,事件管理器发送请求给Content Manager获取用户credentials,然后以用户的身份登录并获取passport
  2. 事件管理服务通过dispatcher发送请求给监听服务执行计划任务,后台运行
  3. 监听服务发送通过dispatcher发送请求给Content Manager创建一个历史对象,该对象用于确保正确的状态在用户接口中显示
  4. 监听服务将运行请求转发给相关的服务模块,并保持与其异步通信
  5. 监听服务更新历史对象的状态为“执行”
  6. 当任务运行完毕时,对应的目标服务存储相关信息(包括报表输出,代理事件列表等)进Content Manager,并结束与监听服务的通信
  7. 监听服务检测任务的最终状态并更新历史对象

运行代理

  1. 请求通过Gateway,dispatcher发送给监听服务
  2. 监听服务验证请求,并在Content Manager中创建一个历史对象
  3. 监听服务将请求转发至代理服务,并保持异步通信
  4. 代理服务向Content Manager请求代理定义以及之前的代理时间列表
  5. 代理服务通过批量报表服务执行代理条件
  6. 代理服务比较生成的结果与之前的事件列表,创建并存储更新后的代理事件列表
  7. 代理服务通过监听服务执行任务
  8. 监听服务在每一步都创建历史对象,并将请求转发至对应的服务

你可能感兴趣的:(server,manager,report,service,Access,报表)