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权限设计思考之切入点
随机推荐
- [RxJS] map vs flatMap
What's the difference between map and flatmap? First, let's show what map is. To show that, I need a ...
- 【2014】【辛星】【php】【秋季】【2】第一个php程序
<span style="font-family:KaiTi_GB2312;font-size:18px;">*******************设置server** ...
- android 17 activity生命周期
手机指南针传感器处于手机头部. Activity生命周期: 启动. onCreat()方法:初始化布局对象,设置监听器. onstart()方法:注册监听器. onResume():activity已 ...
- Qt 学习之路:模型-视图高级技术
PathView PathView是 QtQuick 中最强大的视图,同时也是最复杂的.PathView允许创建一种更灵活的视图.在这种视图中,数据项并不是方方正正,而是可以沿着任意路径布局.沿着同一 ...
- Excel VBA批量修改文件夹下的文件名
今天,有同事提出想批量修改文件名,规则比较简单,在第五位后加“-”即可, 上网没找到相关工具,就自己做了个excel,用宏代码修改. 代码如下: Private Sub CommandButton1_ ...
- 2.添加键盘钩子。向进程中注入dll
学习笔记 1.首先要建立mfc的动态链接库.在def文件中放入要导出的函数名. 2.添加函数如下 //安装钩子 //HHOOK SetWindowsHookEx( // int idHook,//钩子 ...
- 实现正在加载中界面的Android库:DynamicBox
转载. DynamicBox是一个Android库,能够inflates自定义布局来指示出: 正在加载内容 显示一个异常 或者是一个自定义视图 项目主页:http://www.open-ope ...
- 如何通过WiFi来进行Android的真机模拟
我们知道,在使用模拟机模拟的时候会出现较多的问题,所以如果有一部Android手机的话进行真机模拟是极好的. 准备工作: 第一种方法:使用数据线,具体操作百度.略(非WIFI操作的真机模拟) 第二方法 ...
- SQL语句之二建表
use Test --进入需要建表的数据库if exists(select * from sysobjects where name='MyTable')--表是否已经存在drop table MyT ...
- Javascript实现Web颜色值转换
最近一直忙碌于完成业务需求,好长时间没有写博客了.今天稍微有些时间,翻看了一下最近项目中的一些前端代码,看到Web颜色转换功能的时候,突然想到当我们在做一些颜色设置/编辑的需求时,经常会涉及到各种颜色 ...