访问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/

Cognos请求流程——<转>的更多相关文章

  1. zookeeper源码分析之五服务端(集群leader)处理请求流程

    leader的实现类为LeaderZooKeeperServer,它间接继承自标准ZookeeperServer.它规定了请求到达leader时需要经历的路径: PrepRequestProcesso ...

  2. ASP.NET MVC学前篇之请求流程

    ASP.NET MVC学前篇之请求流程 请求流程描述 对于请求的流程,文章的重点是讲HttpApplication和HttpModule之间的关系,以及一个简单的示例实现.(HttpModule又是M ...

  3. MVC视图请求流程视图

    /*         *视图请求流程         *当接受到home/index请求时         *先去找viewstart.cshtml视图,再去加载index.cshtml视图      ...

  4. HTTP请求流程(一)----流程简介

    最近一直在研究如何让asp.net实现上传大文件的功能,所以都没怎么写技术类的文章了.可惜的是至今还没研究出来,惭愧~~~.不过因为这样,也了解了一下http消息请求的大致过程.我就先简单介绍下,然后 ...

  5. [转】:HTTP请求流程(一)----流程简介

    http://www.cnblogs.com/stg609/archive/2008/07/06/1236966.html HTTP请求流程(一)----流程简介 最近一直在研究如何让asp.net实 ...

  6. django源码分析 请求流程

    一.从浏览器发出一个请求,到返回响应内容,这个过程是怎么样的? 1. 浏览器解析输入的url 2. 查找url对应的ip地址 3. 通过ip地址访问我们的服务器 1.  请求进入wsgi服务器(我在这 ...

  7. Flask请求流程超清大图

    补充一下 request是在哪里产生的: class RequestContext(object): # app就是flask对象 self.app = app if request is None: ...

  8. 使用反向代理的http的请求流程

    此文章主要为刚接触反向代理的小伙伴梳理请求流程,以便更好的理解反向代理是何时工作的 流程 由于浏览器是有缓存的,所以本地的hosts文件的信息也会在浏览器端缓存 当客户端发起一个新的请求(例如:输入的 ...

  9. .NET MVC请求流程

    ASP.NET MVC 请求流程:Controller MvcHandler Action Action参数赋值 .NET MVC权限设计思考之切入点

随机推荐

  1. [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 ...

  2. 【2014】【辛星】【php】【秋季】【2】第一个php程序

    <span style="font-family:KaiTi_GB2312;font-size:18px;">*******************设置server** ...

  3. android 17 activity生命周期

    手机指南针传感器处于手机头部. Activity生命周期: 启动. onCreat()方法:初始化布局对象,设置监听器. onstart()方法:注册监听器. onResume():activity已 ...

  4. Qt 学习之路:模型-视图高级技术

    PathView PathView是 QtQuick 中最强大的视图,同时也是最复杂的.PathView允许创建一种更灵活的视图.在这种视图中,数据项并不是方方正正,而是可以沿着任意路径布局.沿着同一 ...

  5. Excel VBA批量修改文件夹下的文件名

    今天,有同事提出想批量修改文件名,规则比较简单,在第五位后加“-”即可, 上网没找到相关工具,就自己做了个excel,用宏代码修改. 代码如下: Private Sub CommandButton1_ ...

  6. 2.添加键盘钩子。向进程中注入dll

    学习笔记 1.首先要建立mfc的动态链接库.在def文件中放入要导出的函数名. 2.添加函数如下 //安装钩子 //HHOOK SetWindowsHookEx( // int idHook,//钩子 ...

  7. 实现正在加载中界面的Android库:DynamicBox

    转载. DynamicBox是一个Android库,能够inflates自定义布局来指示出: 正在加载内容 显示一个异常 或者是一个自定义视图     项目主页:http://www.open-ope ...

  8. 如何通过WiFi来进行Android的真机模拟

    我们知道,在使用模拟机模拟的时候会出现较多的问题,所以如果有一部Android手机的话进行真机模拟是极好的. 准备工作: 第一种方法:使用数据线,具体操作百度.略(非WIFI操作的真机模拟) 第二方法 ...

  9. SQL语句之二建表

    use Test --进入需要建表的数据库if exists(select * from sysobjects where name='MyTable')--表是否已经存在drop table MyT ...

  10. Javascript实现Web颜色值转换

    最近一直忙碌于完成业务需求,好长时间没有写博客了.今天稍微有些时间,翻看了一下最近项目中的一些前端代码,看到Web颜色转换功能的时候,突然想到当我们在做一些颜色设置/编辑的需求时,经常会涉及到各种颜色 ...