快捷搜索:

如何实现 Websphere Portal 6.0 与 Cognos 8 集成应用开发

目的

海内应用 Cognos 的客户群已经达到很大年夜的规模,同时,WebSphere Portal 已经作为越来越成熟的利用集成和个性化定制产品被广大年夜有相关需求的企业所吸收。这样,若何把 Cognos 整合到 Portal中,已是越来越多的客户关注的问题。在这之前,因为 Cognos 与 WebSphere Portal 是两款具有不合特点和应用处景的产品(例如:Cognos 默认安装基于 Tomcat,不应用 LDAP。而 Portal 一样平常基于 WAS 和 LDAP 作为用户存储),以是二者虽然可以整合,但并不彻底,鲜有成熟案例。

迩来,Cognos 8 刚被 IBM 收购,Cognos 的整合需求已经可以被更深层次的满意。

那么若何让 Cognos 更具有可扩展性?若何支持 LDAP?若何满意 Portal 单点登录的必要?若何能在 Portal 中直不雅的展现现有的 Cognos 报表?若何使用现有的 Cognos Portlet?若何进行 Cognos 自定义 Portlet 的开拓?若何能更彻底的将 Cognos 整合到门户中,是本文要阐述的问题。

本文目的,是应用 IBM WebSphere Portal 产品(以下简称 WP),若何集成 Cognos 产品,实现单点登录和信息统一整合展现。

示例情况架构及情况筹备

图 1. 拓扑布局图

表 1. 软件列表

软件名称

备注

IBM Cognos 8.2

报表展现对象

IBM WebSphere Application Server6

Cognos 利用支持平台、 Cognos 利用、办理规划示例

(其它可选产品:Tomcat 等 Cognos 能支持的产品)

IBM WebSphere Portal 6.0

门户整合展现平台

IBM HTTP Server 6.0

Portal WebServer、Cognos Gateway

(其它可选产品:IIS、Apache 等)

LDAP Server

Cognos 及 Portal 目录办事器

(可选产品:TDS 等)

DB2 9.5

数据存储

设置设置设备摆设摆设 Portal 应用 LDAP

安装 Portal,在本例中,把 WAS 和 Portal 安装到 c:\ibm\ 下,分手为 c:\ibm\appserver、c:\ibm\portalserver、c:\ibm\profiles 下。

Ldap Server 安装到 C:\ldap 目录下。

设定 LDAP 的主机名为:ldap.ibm.com 。端口号为 56274 。

在 ldap 上创建关键用户、组:wpsadmin、wpsbind、wpsadmins 。

Base DN 为:dc=ibm,dc=com

用户后缀为:ou=people,dc=ibm,dc=com

组后缀为:ou=group,dc=ibm,dc=com

用户前缀为:uid

组前缀为:cn

然后应用以上参数与相关的义务,启用 Portal 的安然性。

IHS 做 Cognos Gateway

安装 Cognos Server8.2、Cognos Framework

默认安装,将 Cognos8.2 安装在 C:\Cognos\C8 目录下,略。

Framework 默认安装,留意,安装时,应讲 Framework 安装到和 Cognos Server 相同的目录下,略。然后设计多少报表供测试。

安装 IBM HTTP Server 到 C:\IBM\HTTPServer 目录下。

安装完毕后,改动 httpd.conf 文件,在文件着末,插件设置前,增添以下几行:

ScriptAlias /cognos8/cgi-bin/ "C:/Cognos/c8/cgi-bin/"

AllowOverride None

Options None

Order allow,deny

Allow from all

Alias /cognos8/ "C:/Cognos/c8/webcontent/"

Options Indexes MultiViews

AllowOverride None

Order allow,deny

Allow from all

运行 Cognos Configuration

为了实现 LTPA Token 单点登录要领,我们必要将 Cognos 利用切换到 WAS 上运行,Cognos 必要应用 WAS 的 java 情况进行读写加密参数。故需包管 Cognos Configuration 的运行 java 情况和 WAS 的 java 情况维持同等。可经由过程下面的步骤做到这一步:

从 \bin\java\1.3.1\jre\lib\ext 目录,或者 要是 (Cognos 8 authentication namespace 为 LDAP) 并且 ( 因为某种缘故原由不能应用 Shared Secret)

那么 > 选择LTPA Token或者其它要领

否则

要是 (Portal userIDs) 与 (userIDs in a Cognos8 namespace) 匹配

那么 > 选择Shared Secret.

否则 > 只能选择其它要领

Shared Secret 要领

这是 Cognos 特有的一种与 Portal 产品进行 SSO 的机制。使用此机制时,与 Cognos 及 Portal 所应用的中心件情况关系不大年夜。如 Cognos 可以跑在 Tomcat 下。

设置设置设备摆设摆设历程如下:

1、进入 Cognos 设置设置设备摆设摆设界面,为所有认证用户(门户 LDAP)设置设置设备摆设摆设一个 namespace。

设置设置设备摆设摆设 Cognos 应用与 Portal 同等的 LDAP(也可以不同等,不同等时 UID 必须匹配)。

进入 Security-Authentication 标签,增添 LDAP provider 然后按照适当的 LDAP 设置设置设备摆设摆设改动参数 (Host and port, Base Distinguished Name, User lookup),如下图。

图 5. LDAP 设置设置设备摆设摆设

设置 Security – Authentication-Cognos 下的“ Allow anonymous access ” 参数为:false。

保存设置设置设备摆设摆设信息。从新启动 cognos 。

2、为 LDAP namespace, 设置设置设备摆设摆设下列属性。

Use external identity 属性,设为 True 。

External identity mapping 属性 , 设为:uid=${environment("REMOTE_USER")},ou=people 。

3、创建并设置设置设备摆设摆设 Custom Java Provider namespace 。

Namespace ID 属性指定一个名称,例如: cpstrusted,该名称将来会在 Portlet 中作为设置设置设备摆设摆设参数应用。

Java class name 属性中输入:com.cognos.cps.auth.CPSTrustedSignon,留意大年夜小写是敏感的。

图 6. Custom Java Provider namespace 设置设置设备摆设摆设

4、在 Environment,Portal Services 下,设置设置设备摆设摆设如下参数。

在 Trusted Signon Namespace ID 属性中,输入在第一步指定的 Namespace ID,留意该 ID 与第三步中的 Namespace ID 不是同一值(即,这里应该是 dominoLDAP,而不是 cpstrusted)。

在 Shared Secret 属性中,随意率性输入一个值(本例输入 wpsadmin),留意该值也作为将来在 Portlet 中设置设置设备摆设摆设的参数呈现。

图 7. Portal Services 设置设置设备摆设摆设

5、在 Environment ―― Gateway Settings 项下,将 Allow Namespace Override 属性设为 true 。

6、维持设置设置设备摆设摆设改动。

7、重启 Cognos 8 办事。

LTPA Token 要领

当 Cognos 所在的 WAS Server 与 Portal 所在的 WAS Server 不是同一个 profiles,并且用户注册表是同一个 LDAP 办事器时,可以采纳这种要领。

设置设置设备摆设摆设 Cognos 应用与 Portal 同等的 LDAP(必须),进入 Security-Authentication 标签,增添 LDAP provider 然后按照适当的 LDAP 设置设置设备摆设摆设改动参数 (Host and port, Base Distinguished Name, User lookup),如下图。

图 8. LDAP 设置设置设备摆设摆设

图片看不清楚?请点击这里查看原图(大年夜图)。

设置 Security – Authentication-Cognos 下的“ Allow anonymous access ” 参数为:false.

保存设置设置设备摆设摆设信息。从新启动 cognos 。

为 LDAP namespace, 设置设置设备摆设摆设下列属性:

Use external identity 属性,设为 True 。

External identity mapping 属性 , 设为:uid=${environment("USER_PRINCIPAL")},ou=people

根据情况的不合,USER_PRINCIPAL 还有可能必要设为 REMOTE_USER 等其它对应的值。

为 Cognos 利用启用安然性,并支配到 WAS 上

若不盘算应用 LTPA 要领实现 SSO,本步骤可以不做,但为了获取更高的机能,以及更好的可扩展性,强烈建议把 Cognos 设置设置设备摆设摆设在 WAS 上运行。

运行 CogConfig(留意先在 was 下运行 setupcmdline),进入 Environment 部分,改动所有的端口号为 9300 的部分为 WebSphere AppServer Server 的 Server1 应用的端口号 10000,并留意改动精确的主机名。

图 9. Environment 参数设置设置设备摆设摆设

删除“ Cognos 8 “ ,位于 Environment --Cognos 8 service 下。

创建 EAR 包

所有上述步骤完成后(LDAP、DB2、WAS),将 EAR 包导出。并支配在 WAS 上。

详细步骤为:

点击菜单上的 Action- Build Application File,选择 Cognos8,并点击下一步 ; 确保 EAR file 当选中,然后点击下一步 ; 着末点击 Finish.,将该 EAR 包导出。

应用开拓对象处置惩罚 EAR 包(实现 J2EE 安然性)

找到刚才导出的 EAR 包,并导入到开拓对象中,打开利用的 WEB 支配描述符,点击 Security 标签页。

图 10. WEB 支配描述符

增添一个安然角色,并命名为 security 。

图 11. Security 标签页

点击 Security Constraints 标签页,增添一个 Security Constraints,在 Display name 字段中输入 : security 。

图 12. 增添 Security Constraints

图片看不清楚?请点击这里查看原图(大年夜图)。

选择 (New Resource Collection) 条款,并点击编辑按钮,将该条款敕令为 Security,并为 HTTP Methods 选择 GET、POST 。

增添 2 个 “ URL Patterns ”分手为:/servlet/dispatchs 以及 /servlet/dispatchs/*,点击 OK 。

图 13. Web Resource Collections

点击 Authorized Roles 区域下的编辑按钮,在 Description 字段中输入 Security 并选择下面的 security 条款,点击 OK 。

图 14. Authorization Constraint

点击 Servlets 标签页,并选择 Servlet and JSPs 下的 Dispatcher 条款。

图 15. Servlet and JSPs

图片看不清楚?请点击这里查看原图(大年夜图)。

点击 URL Mappings 下的增添按钮,增添如下两个映射;

/servlet/dispatchs

/servlet/dispatchs/*

图 16. 增添映射

图片看不清楚?请点击这里查看原图(大年夜图)。

在 Security Role References 区域,点击增添;

图 17. 增添 Security Role References

图片看不清楚?请点击这里查看原图(大年夜图)。

在 Role name 字段输入 security 在 Role link 下拉框中选择 security 点击 OK 。

图 18. 增添 Security Role Ref 输入框

着末的结果应为下图所示:

图 19. 增添 Security Role Ref 结果

打开利用的利用支配描述符,留意与上述的 Web 支配描述符不合;

图 20. 打开利用支配描述符

图片看不清楚?请点击这里查看原图(大年夜图)。

将刚才增添的安然角色 security,汇集(Gather)到这里;

图 21. Gather

图片看不清楚?请点击这里查看原图(大年夜图)。

保存所有改动,并导出该 EAR 包。

支配 EAR 到 WAS 上

增添情况变量,把 Cognos/bin 加入到 WAS 的 PATH 变量中;安装 EAR 包,并绑定安然设定。经由过程以下要领进行验证,

图 22. 登录 Cognos dispatchs URL

图 23. 选择 Namespace

图 24. 登录进入 Cognos

此时已经登录进入 Cognos 。

图 25. 切换到 Websphere 自带的利用 snoop 校验

此时从 Snoop 的 User Principal 参数中可以看到 wpsadmin,阐明 Cognos 的利用安然性已经成功实现。

Server1 与 Portal 统一 LTPA Token

着末将 Portal 与 Cognos 所在的 WAS 的 LTPA 的 key 统一路来(即,将 Portal 的 LTPA 的 key 导出来,导入到 WAS 中即可,反之亦然),SSO 即已实现。

使用现成的 Cognos 报表直接在 Portal 中展现

支配 WebPage Portlet

从 Catalog 高低载 WebPage Portlet,并安装支配到门户中。该 Portlet 的感化,是直接使用 IFrame 的要领将 Cognos 报表的链接嵌入到门户页面中减小展现。

确定 Cognos 报表的 URL

进入 Cognos 报表系统,点击指定报表的属性按钮,从中找到该报表的 URL 。

图 26. 找到报表 URL

已实现 LTPA 要领单点登录(SSO)时

直接应用报表的 URL 作为 WebPage 的 URL 参数即可。

已实现 Shared Secret 要领单点登录(SSO)时

因为该要领仅在 Cognos 自带的 Portlet 实现,故若要直接使用该要领直接展现报表链接,还需使用 com.cognos.cps.auth.CPSTrustedSignon 扩展您的利用。

未实现单点登录(SSO)时,

假如 Cognos 与 Portal 未实现单点登录,则必要动态的获取当前登任命户的用户名和密码,必要对 WebPage Portlet 进行弥补完善。弥补实现 WebSphere Portal 凭据槽的功能,以实现下面功能:

在 Portlet 中获取 Portal 认证用户及密码

使用该用户、密码结合报表 URL,组合成直接可以造访报表的链接。

本文为简单起见,略过凭据槽取密码的历程,读者可以参阅其它文章实现凭据槽的功能。

经由过程凭据槽取到密码后,将用户名、密码与 URL 采取如下要领组合:

http://hostname/cognos8/cgi-bin/cognos.cgi? 报表 URL&CAMUsername=用户名&CAMPassword=密码

将 Portlet 支配在门户页面中展现

新建 Portal 页面,并把已修正参数的 Webpage portlet 添加到页面中。

图 27. 效果图

应用 Cognos 自带的 Portlet

先决前提,必须实现 Cognos 与 Portal 的 SSO

根据上述实现 SSO 的措施,首先实现 Cognos 与 Portal 的 SSO,才能应用该 Portlet 。

安装设置设置设备摆设摆设

打开 Portal 首页,应用 wpsadmin 作为用户登岸,进入治理界面,选择 Web Modules 并且点击安装按钮,在 Cognos 目录中,找到 CognosBIPortlets_c82.war 这个包在 \cps\ibm\portlets 下。

安装完成后,找到已安装的 War 包。点击 CognosBIPortlets_C82.war 的链接查看已安装的 portlets,点击编辑按钮,编辑 Cognos BI Content Portlets 的设置,根据实际情况输入适当的参数。

Shared Secret 要领

Cognos 与 Portal 所在的办事运行在同一个 WAS Profiles 上。以致运行在同一个 server(process) 上。可直接使用 Shared Secret 要领实现的 SSO 进行设置设置设备摆设摆设。

cps_auth_namespace=cpstrusted

Active Credential Type=HttpBasicAuth

Cognos 8 WSRP WSDL Location=

http://portal.ibm.com/cognos8/cgi-bin/cognos.cgi/wsrp/

cps4/portlets/nav?wsdl&b_action=cps.wsdl

cps_auth_secret=wpsadmin( 留意该值与前面应用 Shared Secret 实现 SSO 中第 4 步设置设置设备摆设摆设的 Shared Secret 的值同等 )

图 28. Cognos portlet 设置设置设备摆设摆设

LtpaToken 要领

若 Cognos 所在的 WAS Server 和 Portal 所在的 WAS Server 不是同一个 was profiles,则必须统一两个 Server 的 LtpaToken 。

此时,Cognos Portlet 可设置设置设备摆设摆设如下:

Active Credential Type=LtpaToken

Cognos 8 WSRP WSDL Location=

http://portal.ibm.com/cognos8/cgi-bin/cognos.cgi/wsrp/

cps4/portlets/nav?wsdl&b_action=cps.wsdl

这里 Cognos 8 WSRP WSDL Location 还可以用 http://portal.ibm.com:10000/ p2pd/servlet/dispatchs/wsrp/cps4/portlets /nav?wsdl&b_action=cps.wsdl,但在之前 SSO 的设置中,必要做一些调剂。留意这中心的区别。

这个 WSDL 参数顶用到的链接,在 Portal 与 Cognos 实现 SSO 步骤中必须成功,否则 Portlet 弗成用。

在 Portal 页面中支配 Portlet

选择 Cognos Portlet 中的 portlet(Navigator portlet、Search Portlet、Viewer Portlet、Extend Application Portlet),并支配到页面中。

自带 Cognos Portlet 供给的功能 ( 效果图 )

Cognos 页面导航

供给报表导航功能,可以方便的查看浏览报表。

图 29. Cognos 页面导航

Cognos 报表搜索器

可以异常方便的经由过程各类前提查找报表。

图 30. Cognos 报表搜索器

Cognos 报表浏览器

供给机动的报表设置设置设备摆设摆设功能,并有很多可选的报表定制项。

图 31. Cognos 报表浏览器

Cognos 扩展利用

若实现扩展利用的功能,本文所写的内容仅是需要前提,但还需进行其它设置设置设备摆设摆设,请参考 Cognos 自带的赞助。

快速定制开拓 Cognos Portlet

若现成的 Portlet 不能满意需求,则必要自己定制开拓 Cognos Portlet 。

仪表盘加速器开拓对象 WebSphere Dashboard6.1 供给商业智能构建器让您的 Cognos 获得更广泛的利用。

Dashboard6.1 供给现成的 Cognos 组件 Cognos Builder

更方便更彻底的造访 Cognos 的报表、数据。

图 32. Cognos Builder

预置的组件使得 WebSphere SOA 对象能够将 BI 信息做为办事治理

无需 Java 开拓,经由过程 RAD 对象构建利用来获取和重用 BI 数据,使 BI 系统中的数据可以承袭 WebSphere Dashboard 的“可操作”特点。

特点

开拓职员确定用户在运行时代必要选择哪些申报和参数

用于在仪表盘中展示的数据可所以 XML,或者由其他构建器运算或者其他要领天生

削减登录在运行时代能够自动指定相信状和认证措施的能力

向下钻取构建器

将来自各方数据源的数据天生用户图表,用户可以经由过程图表数据进行向上或者向下钻取,更具体的信息,可以造访 Dashboard6.1 的相关链接。

停止语

使用 IBM WP 供给的单点登录和利用整合功能,可以集成 Cognos 的信息展现界面,达到利用集成的目的。

您可能还会对下面的文章感兴趣: