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权限设计思考之切入点
随机推荐
- Linux入门基础 #5:Linux文件系统挂载管理
本文出自 http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...
- TCP洪水攻击(SYN Flood)的诊断和处理
TCP洪水攻击(SYN Flood)的诊断和处理 SYN Flood介绍 前段时间网站被攻击多次,其中最猛烈的就是TCP洪水攻击,即SYN Flood. SYN Flood是当前最流行的DoS(拒 ...
- 如何进去bios设置
1.BIOS是英文"Basic Input Output System"的缩略语,直译过来后中文名称就是"基本输入输出系统".其实,它是一组固化到计算机内主板上 ...
- 使用fastjson前台报406的问题解决方法
返回的json数据前台页面报406,而后台没有报错,下面为解决方法 <?xml version="1.0" encoding="UTF-8"?> & ...
- 数据结构 : Hash Table
http://www.cnblogs.com/lucifer1982/archive/2008/06/18/1224319.html 作者:Angel Lucifer 引子 这篇仍然不讲并行/并发. ...
- 为什么选择Typescript
上一节,我简单介绍了Typescript,并将Typescript和JavaScript进行了对比,有些网友提出了一些疑问,可能有些网友对于这个Typescript还不是特别的熟悉,这节,我做一些演示 ...
- 334. Increasing Triplet Subsequence My Submissions Question--Avota
问题描述: Given an unsorted array return whether an increasing subsequence of length 3 exists or not in ...
- 将日期和时间作为 struct tm型的值直接向二进制文件进行读写
#include <stdio.h> #include <time.h> char data_file[]="D:\\%\\datetime.dat"; v ...
- JS判断浏览器是否支持某一个CSS3属性的方法
var div = document.createElement('div'); console.log(div.style.transition); //如果支持的话, 会输出 "&quo ...
- tr命令的使用
tr是translate的简写,亦即翻译,但是遗憾的是,它不能翻译句子,只能翻译单个字符. 1 tr的工作原理是什么? 先记住一点,tr命令不接受指定的文件参数,而只是对标准输入进行翻译.好了,记住这 ...