(–本文是个人学习和使用过程中的总结,如有错误欢迎指正 )
本文只是提供了一种cognos 与其他的集成思路,现实中也许我们并不会这么做。本文主要实现了cognos已有的报表与ECharts的联动,大家都是知道cognos的图表一直在样式上被人病诟,不过10.2.1 提升了很多
大部分情况下我们都会将cognos的报表和多维分析集成到我们的portal中。
1:比较常见的集成方式就是URL集成,直接将报表的URL放到一个iframe中嵌在我们portal中。这种方式满足一般的需求。
2:还有一种SDK的集成方式,很灵活,但是开发量很大。:
3:其实conogs还有一种集成方式从cognos8.4.1版本以后就存在—–Mashup Service。8.4.1版本是这种方式能力有限,随着版本的升级这种方式的能力越来越强大。本文基于cognos 10.2版本,版本之间可能有区别。
Mashup Service流程图:
从上图可以看出来Mashup Service提供了REST 和SOAP两种方式,本文使用REST方式。
Mashup Service 的所有REST接口都暴露在rds下。
我们想要使用cognos的报表首先必须登录到cognos服务器上。Mashup Service 提供了接口auth/logon接口(官方称其为资源)
auth/logon使用方法:
http://ip:9300/p2pd/servlet/dispatch/rds/auth/logon ,假如你配置了apache为网关,改成你自己的网关就好了
使用该资源我们需要传递我们的登录信息,Mashup Service 为我们指定好了格式,我们需要按照格式自己组织,并将登录信息以参数传递至cognos服务器,参数名称xmlData。
cognos称我们的登录信息为凭据,凭据为xml格式:
<auth:credentials xmlns:auth='http://developer.cognos.com/schemas/ccs/auth/types/1'>
<auth:credentialElements><auth:name>CAMNamespace</auth:name>
<auth:value><auth:actualValue>{myNameSpace}</