Cognos请求流程——<转>
访问Cognos8
匿名访问
- 用户通过浏览器发起Cognos访问请求,请求被送至Cognos Gateway
- Gateway接收请求并发送给一个dispatcher
- dispatcher发现请求没有附带passport,将请求发送给Content Manager
- Content Manager将请求发送给Access Manager
- Cognos允许匿名访问,于是一个passport附加于该请求,然后请求通过Content Manager返回给dispatcher
- dispatcher处理请求,并发送给展现服务
- 展现服务将欢迎页面通过dispatcher,Gateway发送给最终用户
授权的访问
- 用户通过浏览器发起Cognos访问请求,请求被送至Cognos Gateway
- Gateway接收请求并发送给一个dispatcher
- dispatcher发现请求没有附带passport,将请求发送给Content Manager
- Content Manager将请求发送给Access Manager
- Cognos不允许匿名访问,Access Manager将该请求返回并附加一个错误信息
- Content Manager将附带错误信息的请求返回给dispatcher
- dispatcher将请求发送给展现服务
- 展现服务创建合适的登录页面通过dispatcher,Gateway返回给用户
- 用户输入ID和密码等必要信息通过原先的流程发送请求至Access Manager
- 验证通过后,Access Manager产生一个passport附加于请求
- 请求返回给最终用户
查看报表或分析结果
- 用户点击查看报表,请求通过Gateway,dispatcher发送至展现服务
- 展现服务通过dispatcher,Gateway返回Cognos Viewer给浏览器。Cognos Viewer包含一个HTML frame报表展示页面。该报表展示页面的URL指向一个用于展示数据的Content Manager 对象
- 浏览器将这个URL通过Gateway,dispatcher发送给Content Manager
- Content Manager将权限控制列表,执行动作(例如:读),用户信息发送给Access Manager
- Access Manager决定用户是否能执行该动作。Content Manager将报表以HTML或者PDF等文档的形式通过dispatcher,Gateway发送给用户。
运行HTML报表或分析
- 用户点击报表,请求通过Gateway,dispatcher发送给展现服务
- 展现服务将请求通过dispatcher发送给报表服务
- 报表服务通过dispatcher向Content Manager发送报表和元数据请求
- Content Manager将报表XML定义和元数据发送给报表服务。仅当Cognos服务器重启或者报表更新并重新发布后,Content Manager会重新获取元数据
- 报表服务将错误页面或者未准备好页面或者HTML报表或分析其中之一返回给展现服务
- 展现服务将结果通过dispatcher,Gateway发送给浏览器
计划任务执行
- 当计划时间到达时,事件管理器发送请求给Content Manager获取用户credentials,然后以用户的身份登录并获取passport
- 事件管理服务通过dispatcher发送请求给监听服务执行计划任务,后台运行
- 监听服务发送通过dispatcher发送请求给Content Manager创建一个历史对象,该对象用于确保正确的状态在用户接口中显示
- 监听服务将运行请求转发给相关的服务模块,并保持与其异步通信
- 监听服务更新历史对象的状态为“执行”
- 当任务运行完毕时,对应的目标服务存储相关信息(包括报表输出,代理事件列表等)进Content Manager,并结束与监听服务的通信
- 监听服务检测任务的最终状态并更新历史对象
运行代理
- 请求通过Gateway,dispatcher发送给监听服务
- 监听服务验证请求,并在Content Manager中创建一个历史对象
- 监听服务将请求转发至代理服务,并保持异步通信
- 代理服务向Content Manager请求代理定义以及之前的代理时间列表
- 代理服务通过批量报表服务执行代理条件
- 代理服务比较生成的结果与之前的事件列表,创建并存储更新后的代理事件列表
- 代理服务通过监听服务执行任务
- 监听服务在每一步都创建历史对象,并将请求转发至对应的服务
原文链接地址:http://blog.163.com/yst007297@126/blog/static/4966762420081225500643/
Cognos请求流程——<转>的更多相关文章
- zookeeper源码分析之五服务端(集群leader)处理请求流程
leader的实现类为LeaderZooKeeperServer,它间接继承自标准ZookeeperServer.它规定了请求到达leader时需要经历的路径: PrepRequestProcesso ...
- ASP.NET MVC学前篇之请求流程
ASP.NET MVC学前篇之请求流程 请求流程描述 对于请求的流程,文章的重点是讲HttpApplication和HttpModule之间的关系,以及一个简单的示例实现.(HttpModule又是M ...
- MVC视图请求流程视图
/* *视图请求流程 *当接受到home/index请求时 *先去找viewstart.cshtml视图,再去加载index.cshtml视图 ...
- HTTP请求流程(一)----流程简介
最近一直在研究如何让asp.net实现上传大文件的功能,所以都没怎么写技术类的文章了.可惜的是至今还没研究出来,惭愧~~~.不过因为这样,也了解了一下http消息请求的大致过程.我就先简单介绍下,然后 ...
- [转】:HTTP请求流程(一)----流程简介
http://www.cnblogs.com/stg609/archive/2008/07/06/1236966.html HTTP请求流程(一)----流程简介 最近一直在研究如何让asp.net实 ...
- django源码分析 请求流程
一.从浏览器发出一个请求,到返回响应内容,这个过程是怎么样的? 1. 浏览器解析输入的url 2. 查找url对应的ip地址 3. 通过ip地址访问我们的服务器 1. 请求进入wsgi服务器(我在这 ...
- Flask请求流程超清大图
补充一下 request是在哪里产生的: class RequestContext(object): # app就是flask对象 self.app = app if request is None: ...
- 使用反向代理的http的请求流程
此文章主要为刚接触反向代理的小伙伴梳理请求流程,以便更好的理解反向代理是何时工作的 流程 由于浏览器是有缓存的,所以本地的hosts文件的信息也会在浏览器端缓存 当客户端发起一个新的请求(例如:输入的 ...
- .NET MVC请求流程
ASP.NET MVC 请求流程:Controller MvcHandler Action Action参数赋值 .NET MVC权限设计思考之切入点
随机推荐
- 基于amoeba实现mysql数据库的读写分离/负载均衡
一.Amoeba的简述:[来自百度百科] Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy.它集中地响应应用的请求,依据用户事先设置的规则,将SQL请 ...
- [RxJS] Transformation operator: map and mapTo
We made our first operator called multiplyBy, which looks a bit useful, but in practice we don't nee ...
- android 47 service绑定
如果一个service已经启动了,activity和service绑定了在解除邦定,则这个service不会销毁,因为这个service不是这个Activity创建的. service生命周期: Ac ...
- UITableView的简单应用介绍
创建一个tableView视图,然后把这个视图界面添加到主界面上. _tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 20, [ ...
- CentOS 6.3 源码安装LAMP(Linux+Apache+Mysql+Php)环境
一.简介 什么是LAMP LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而>言都是在它所 ...
- shell脚本调试 分类: 学习笔记 linux ubuntu 2015-07-14 12:49 53人阅读 评论(0) 收藏
1.sh -x script 这将执行脚本并显示所有变量的值 如,脚本: #!/bin/bash #a test about shift if [ $# -le 0 ] then echo " ...
- (转)高性能I/O模型
本文转自:http://www.cnblogs.com/fanzhidongyzby/p/4098546.html 服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO ...
- U3D 脚本添加和获得对象
有时候,一开始可能没有对象,而是由于某种触发,产生的一个对象,这里讲解下,如何通过脚本来创建一个对象: 这是通过脚本创建一个立方体: using UnityEngine; using System.C ...
- Android Camera 流程梳理
毕业已经快两年了,一直没有写博客的习惯,这是第一篇,以后要慢慢养成这个习惯.毕业之后一直在做相机,先简单的梳理下Android Camera的流程. Android Camera 是一个client/ ...
- C# DataTable去除重复,极其简便、简单
其中sourceDT是获取到的一个DataTable类型的集合对象 去重复使用方式: 实例化一个DataView对象 假设为dv,直接dv.ToTable()即可,ToTable中可为(true,&q ...