ODI 集成SKM 测试配置Web服务

来源:互联网 发布:一元云购cms 漏洞 编辑:程序博客网 时间:2024/06/05 00:19


ODI
即可以批量处理数据,也可以通过SKM知识模块发布成Web服务方式,结合到SOA架构中,这样就可以通过SOA架构实时地查看数据和修改数据。


(针对DBA)在发布服务之前,先简单了解一下Web服务的基本流程




1.jpg



[size=10.5pt]一个[size=10.5pt]Web Service[size=10.5pt]交互的参与者都称作一个[size=10.5pt]SOAP[size=10.5pt]的节点。[size=10.5pt]SOAP[size=10.5pt]消息在[size=10.5pt]SOAP[size=10.5pt]发送者和接收者之间传递。[size=10.5pt]SOAP[size=10.5pt]消息的传递是基于构建[size=10.5pt]Web Service[size=10.5pt]交互的单元之上。[size=10.5pt]Web Service[size=10.5pt]封装了[size=10.5pt]SOAP[size=10.5pt]消息处理的复杂性,允许用户用他们所熟悉的开发语言进行开发。[size=10.5pt]Axis2[size=10.5pt]就是通过用[size=10.5pt]Java[size=10.5pt]语言开发[size=10.5pt]Web Service[size=10.5pt]的工具,在其内部处理[size=10.5pt]SOAP[size=10.5pt]消息,这一切对于用户都是透明的。[size=10.5pt]

 

[size=10.5pt]Axis2[size=10.5pt]封装了[size=10.5pt]SOAP[size=10.5pt]消息的处理,同时还有做了其他的大量的工作,这些都进一步简化了[size=10.5pt] Web Service[size=10.5pt]的开发者的工作:

 

 


 

 


[size=10.5pt]

2.jpg

 

 

[size=10.5pt]

 

[size=10.5pt][size=10.5pt]ODI[size=10.5pt]用[size=10.5pt]AXIS2[size=10.5pt]在[size=10.5pt]OC4J[size=10.5pt]或者[size=10.5pt] Tomcat[size=10.5pt]上处理消息。这个测试的环境已经安装[size=10.5pt]OC4J[size=10.5pt]作为[size=10.5pt]Web Server .
[size=10.5pt]启动[size=10.5pt]OC4J[size=10.5pt]服务器以后,连接[size=10.5pt]OC4J/AXIS2[size=10.5pt]在[size=10.5pt]ODI[size=10.5pt]的[size=10.5pt]Topology Manager[size=10.5pt]里面的[size=10.5pt]Technology[size=10.5pt]里面定义,定义管理界面和[size=10.5pt]Web[size=10.5pt]服务对象:[size=10.5pt]

 



3.jpg

 

[size=10.5pt]定义物理模式以后,还需要定义逻辑模式[size=10.5pt]:


4.jpg

[size=10.5pt]都定义以后,检查[size=10.5pt]OC4J[size=10.5pt]的配置文件[size=10.5pt]:
[size=10.5pt]C:/Program Files/oracle/oc4j_extended_101310/j2ee/home/config/data-sources.xml
[size=10.5pt]
[size=10.5pt]配置文件内容:[size=10.5pt]
[size=10.5pt]<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">
[size=10.5pt]- <!--
The following is an example of a data source whose connection factory emulates XA behavior.

[size=10.5pt]
-->

[size=10.5pt]
<managed-data-source name="OracleDS" connection-pool-name="Example Connection Pool" jndi-name="jdbc/OracleDS" />

[size=10.5pt]- <connection-pool name="Example Connection Pool">
[size=10.5pt]
<connection-factory factory-class="oracle.jdbc.pool.OracleDataSource" user="system" password="system" url="jdbcracle:thin:@//localhost:1521/XE" />

[size=10.5pt]
</connection-pool>

[size=10.5pt]我们可以看到数据库密码和连接语法写在里面,要确保可以访问数据库。[size=10.5pt]
[size=10.5pt]

要配置Web服务器以后,Web服务的代码和运行环境由ODI生成。
在产生和发布服务的过程中,ODI有几个需要大家注意的地方:

进入Designer,选择一个模型,然后双击或者右键选择Edit,Services界面选择相应的KM

定义Data Sourcename时候,大家到

[size=11.5pt]C:/Program Files/oracle/oc4j_extended_101310/j2ee/home/config/data-sources.xml



5.jpg


这个错误,我们通过Details分析看到,提示JAVA_HOME,这个时候去环境变量定义JAVA_HOME


6.jpg



定义以后,重新执行仍然失败。这个原因是由于,ODI需要JDK1.5以上执行,前提是需要先修改ODI_JAVA_HOME目录,如果这个目录不存在,ODI才会寻找JAVA_HOME

修改ODI_JAVA_HOME的变量,然后退出所有ODI程序,重新进入:
C:/Program Files/Java/jdk1.5.0_10

选择发布的对象:



7.jpg





然后选择执行和发布:





8.jpg


选择数据服务存取地点和生成阶段以后,点击”OK”,执行以后,到模型选择测试服务,查看是否可以读取数据:




9.jpg





10.jpg