SOA动态选择不同的Domain Value Map文件方法

来源:互联网 发布:淘宝首页悬浮导航代码 编辑:程序博客网 时间:2024/05/22 03:37
 

本文分两种情况叙述在SOA中同一个XSL Map文件使用Domain Value Map文件的方法。

1、Domain Value Map文件的常规用法

在项目集成实施中,采用DVM文件解决了不同系统间的值映射问题。

如证件类型的值:

A系统往B系统同步时,通行证在A系统的数据为Pass,到了B系统就变成了TXZ。

对于类似证件类型的多值映射问题,dvm很好的提供了解决方案。

在工程里定义好cdType.dvm文件后,应用于对应的transforma文件字段中。

以上为Domain Value Map的常规用法。详细资料可参考:http://download.oracle.com/docs/cd/E15523_01/integration.1111/e10224/med_dvm.htm

2、动态选择DVM文件

项目中使用dvm文件处理1:1,1:M的映射关系,是比较方便的,也是常用的。然而根据业务的规则,系统值映射关系可能会有最新的变化,出现M:M的映射关系。如此使用同一个transforma文件使用同一个dvm文件则无法满足M:M的映射关系。

解决方案如下:1、根据需要,制定满足不同业务规则的dvm文件,如A.dvm、B.dvm、C.dvm。。。。

2、选择Source中的某一属性为动态属性IdProperties(由实际的数据决定)

3、新增dvm文件,该文件用于指定动态属性IdProperties与步骤1中的dvm映射文件名字的关系
4、在transforma文件target中添加变量tmpDvmFileName,将IdProperites字段与tmpDvmFileName进行关联,并使用DVM的lookupValue函数。

该目的是根据动态属性,将规定的dvm文件名付给临时变量,供后面的步骤使用。

5、在M:M的关系字段上,使用DVM的lookupValue函数,不同的是,将dvmLocation的值变成$tmpDvmFileName,以达到动态选择dvm文件的目的

以上为同一个XSL Map中同一个字段使用不同的DVM文件的方法。如各位看官有更好的方法,请不吝赐教。

原创粉丝点击