利用ODI实现SOA中业务流和数据流的松耦合
企业在实施SOA的过程中,不可避免的会遇到业务流程层面的整合和数据的整合,很多时候大家都以为企业服务总线(ESB)可以胜任所有的工作,既可以支持业务流程的编排,也可以拿来实现异构系统的数据交换,从理论上讲,这是没有错误的,但不是特别适合中国的国情,因为一旦系统间交互的数据量比较大,用ESB的效率会比较低,这是SOA协议所没有办法避免的问题。前一段时间大家都在讲双总线架构,既在SOA的实施过程中,将服务总线和数据总线分开,服务总线只负责服务的编排,数据总线负责数据层的数据整合。从具体技术实现上讲,服务总线利用SOA中的ESB即可,数据总线一般采用传统的ETL工具、数据联邦工具等。Oracle ODI可以和oracle ESB配合,组成一个完美的数据交换平台。其具体的实现原理为:
1.在ODI的设计器中将相关数据整合设计成package或者interface,待调试没有错误后,直接编译成scenario。
2.将ODI的odiinvoke webservice部署到一个应用服务器的web service容器中。
3.服务使用者直接调用应用服务器上的odiinvoke webservice,传入相关的参数即可实现调用。
4.在设计开发时,我么可以将odiinvoke注册到ESB上,这样通过企业服务总线也可以实现数据服务的调用。
具体的安装步骤为:
1.在Apache官方网站上下载Apache Tomcat 5.5软件(http://tomcat.apache.org) apache-tomcat-5.5.26.zip
2.解压apache-tomcat-5.5.26.zip到您要安装的目录,如:d:\tomcat5.5
3.在Apache官方网站上下载Axis2 (axis2-1.4-war.zip)
4.把axis2-1.4-war.zip中的axis2.war解压到Apache Tomcat5.5的webapps目录下
5.启动Apache Tomcat 5.5,进入Axis2管理页面,http://localhost:8888/axis2/axis2-admin/,用户名:admin,密码:axis2
6.选择左边的Tools下的Upload Service链接,进入上传Axis Service Archive File页面,点击浏览,如下图
7.弹出选择上传文件对话框,选择<ODI_HOME>/oracledi/tools/web_services/odi-public-ws.aar,点击Upload按钮,部署ODI Web Service Invoke完毕。
8.打开网页:http://ip:port/axis2/services/listServices,可以看到我们部署好的OdiInvoke web服务。
9.查看OdiInvoke的wsdl文件:http://ip:port/axis2/services/OdiInvoke?wsdl
本文转自:http://space.itpub.net/16312004/viewspace-604125