BIEE的Presentation Services 及BI Server都分别提供了各自的Web Services。
其中Presentation Services的Web Services从调用方式上来说,又分为两种:基于会话(Session-Based)的Web Services及BIEE Web Services for SOA
下面我们将分别进行介绍。
故名思义,在调用这些web services之前你必须先建立会话,步骤如下:
a.首先登录并获取session id (使用SAWSessionService)
b.把session id作为参数并调用你需要的方法
c.继续调用方法...
d.调用结束之后注销登录 (使用SAWSessionService)
基于会话的web services有如下分类
WSDL文档路径为:
http://localhost:9704/analytics/saw.dll?WSDL
具体方法的说明请参见
Description of Services and Methods in Oracle BI EE Web Services
数据结构
Description of Structures in Oracle BI EE Web Services
tips:由于基于会话的web services需要分为三个步骤调用,所以其不适合通过BIEE自身的Action Frame来进行调用,不过我们可以考虑使用BPEL工作流来进行封装。
OBIEE Web Services for SOA与基于会话的web servcics最大的不同就是其不需要每次都传递session id,通常只需要传递用户名和密码就能一次完成调用。
其只能完成如下三个操作:
1、调用Agent
2、执行分析
3、执行条件(Condition)
结果均以xml的方式返回,且支持分析中的过滤器和表示变量
ws for SOA没有直接提供WSDL文档,取而代之的是WSIL(Web Service Inspection Language)
http://host:port/biservices/inspection?wsil
然后BIEE会动态的生成目录中对象的WSDL文档,你可以使用浏览器打开上面的链接,如下图所示:
BIEE 11g为BI Server也提供了metadata web services,有了它,开发者就可以通过程序调用(以前只能通过管理工具)在线修改rpd中的内容,例如修改变量的值。
其主要提供了三个方法:
callProcedure()
callProcedureWithResults()
startExtender()
procedure就是bi server支持的odbc存储过程,比如最常见的缓存清理过程:SAPurgeAllCache() ,有关bi server odbc存储过程的详情可以参见 Oracle BIEE BI Server ODBC 存储过程指南
callProcedure() 和callProcedureWithResults()的区别就在于过程有无返回结果,通常我们都调用callProcedureWithResults()。
看到这里,聪明的你一定就能想到我们可以使用Metadata Web Services来管理bi server的缓存了,这样一来就无须使用事件表或者时效等方法来管理缓存了,更为高效直接。
startExtender() 一般很少调用,是一个内部方法。
metadata web services分为同步和异步两种调用方式,具体请参见Using the Oracle Business Intelligence Server Metadata Web Service
至此,BIEE的web services就介绍完了,后续我后给出具体实例,敬请期待!