首页 > 代码库 > Cognos请求流程——<转>

Cognos请求流程——<转>

访问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. 监听服务在每一步都创建历史对象,并将请求转发至对应的服务  

原文链接地址:http://blog.163.com/yst007297@126/blog/static/4966762420081225500643/