ODI 集成SKM 配置Web服务
ODI 即可以批量处理数据,也可以通过SKM知识模块发布成Web服务方式,结合到SOA架构中,这样就可以通过SOA架构实时地查看数据和修改数据。
(针对DBA)在发布服务之前,先简单了解一下Web服务的基本流程
一个Web Service交互的参与者都称作一个SOAP的节点。SOAP消息在SOAP发送者和接收者之间传递。SOAP消息的传递是基于构建Web Service交互的单元之上。Web Service封装了SOAP消息处理的复杂性,允许用户用他们所熟悉的开发语言进行开发。Axis2就是通过用Java语言开发Web Service的工具,在其内部处理SOAP消息,这一切对于用户都是透明的。
Axis2封装了SOAP消息的处理,同时还有做了其他的大量的工作,这些都进一步简化了 Web Service的开发者的工作:
ODI 用AXIS2 在OC4J 或者 Tomcat上处理消息。这个测试的环境已经安装了OC4J作为Web Server .
启动OC4J服务器以后,连接OC4J/AXIS2在ODI的Topology Manager里面的Technology里面定义,定义管理界面和Web 服务对象:
都定义以后,检查OC4J的配置文件:
C:\Program Files\oracle\oc4j_extended_101310\j2ee\home\config\data-sources.xml
配置文件内容:
<data-sources xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/data-sources-10_1.xsd" schema-major-version="10" schema-minor-version="1">
- <!--
The following is an example of a data source whose connection factory emulates XA behavior.
-->
<managed-data-source name="OracleDS" connection-pool-name="Example Connection Pool" jndi-name="jdbc/OracleDS" />
- <connection-pool name="Example Connection Pool">
<connection-factory factory-class="oracle.jdbc.pool.OracleDataSource" user="system" password="system" url="jdbc
</connection-pool>
我们可以看到数据库密码和连接语法写在里面,要确保可以访问数据库。
要配置Web服务器以后,Web服务的代码和运行环境由ODI生成。
在产生和发布服务的过程中,ODI有几个需要大家注意的地方:
进入Designer,选择一个模型,然后双击或者右键选择Edit,在Services界面选择相应的KM
定义Data Source 的name 时候,大家到
C:\Program Files\oracle\oc4j_extended_101310\j2ee\home\config\data-sources.xml
这个错误,我们通过Details分析看到,提示JAVA_HOME,这个时候去环境变量定义JAVA_HOME
定义以后,重新执行仍然失败。这个原因是由于,ODI需要JDK1.5以上执行,前提是需要先修改ODI_JAVA_HOME目录,如果这个目录不存在,ODI才会寻找JAVA_HOME
修改ODI_JAVA_HOME的变量,然后退出所有ODI程序,重新进入:
C:\Program Files\Java\jdk1.5.0_10
选择发布的对象:
然后选择执行和发布:
选择数据服务存取地点和生成阶段以后,点击”OK”,执行以后,到模型选择测试服务,查看是否可以读取数据:
本文转自:http://ms.itpub.net/thread-1135331-1-1.html