基于ebXML的XDS.b实现问题之对象及对象关联

原创 2012年03月28日 15:40:44

        XDS.b中的事务ITI-41、ITI-42都包括submission request即文档提交请求,请求的参数有三个:XDSDocumentEntry、XDSFolder和Association。其中,XDSDocumentEntry是文档的元数据信息,包括对文档的基本描述;XDSFolder即该文档存储于哪个文件夹中(可以是多个);Association是文档之间的关系,例如新文档要替代原文档等等。


        上图是ebXML中的类与XDS类之间的对应关系。XDSDocumentEntry派生自ebXML的ExtrnsicObject,XDSSubmissionSet与XDSFoler派生自RegistryPackage。由于ebXML Registry标准不允许RegistryPackage类存在子类,所以在实现中XDSSubmissionSet和XDSFolder均用RegistryPackage类来实现。这里就需要用一个Type信息来标识不同的实体(submission set vs. folder),每一种类型由XDS规范定义,并确实UUID。

        实体之间的关系需要用到ebXML中的Association。Association包含sourceObject与TargetObject,并且包括association type,用于表达源对象与目标对象之间的关系。在XDS中用到了以下几种关联类型:

urn:oasis:names:tc:ebxml-regrep:AssociationType:HasMember

urn:ihe:iti:2007:AssociationType:APND                             当前文件是父文件的附件说明

urn:ihe:iti:2007:AssociationType:RPLC                             当前文件将代替父文件

urn:ihe:iti:2007:AssociationType:signs                               当前文件是父文件的数字签名

urn:ihe:iti:2007:AssociationType:XFRM                             当前文件是父文件的另外一种表现形式

urn:ihe:iti:2007:AssociationType:XFRM_RPLC         当前文件是父文件的另外一种表现形式,并且将代替原文件

        如果在一个提交集(SubmissionSet)对象里面包含了文件夹对象(XDSFolder objects),而某个文件对象(XDSDocumentEntry object)又属于这个文件夹,那么就需要两个Association来标识三者之间的关系。

第一个Association①表达的信息是文件对象属于该文件夹,第二个Association②将第一个Association与提交集对象联系在一起。Association①的targetObject和sourceObject分别是XDSFolder object和XDSDocumentEntry object;Association②的targetObject是Association①的id,sourceObject是XDSSubmissionSet object的id。这两个Association的关联类型都是上面的第一种:urn:oasis:names:tc:ebxml-regrep:AssociationType:HasMember

相关文章推荐

基于XDS/XDS-I的区域医疗影像共享交换技术架构(1)

IHE与区域医疗信息共享交换 集成医疗环境( I n t e g r a t i o n H e a l t h c a r e Enterprise,IHE)是众多医学专家和厂商共同倡议,1999...

iheOS实现XDS.b注册与存储服务

前面的blog中提到了,Openxds使用iheos实现XDS Registry和XDS Repository的服务,也就是XDS.规范中的事务。iheOS即IHE Open Source(http:...

openXDS 11个工程关联以及每个工程在XDS.b实现中的作用

昨天启动了openXDS提供的registry和repository相关服务,对openXDS的认识也深入了一些。一直困扰我的问题是openXDS提供的11个工程到底有什么联系,各自的作用是什么。从今...

String s = "a" + "b" + "c" + "d" + "e"对象问题

问题1: String s = "a" + "b" + "c" + "d" + "e";  问此语句共创建了几个对象,  答案是  就创建了一个  String s = "a" + "b"...

用ACE的Reactor模式实现网络通讯时,ACE内部用WSAEventSelect函数把网络事件与一个事件对象关联起来,目的是为了后面用WaitForMultipleObjects函数统一处理。

用ACE的Reactor模式实现网络通讯时,ACE内部用WSAEventSelect函数把网络事件与一个事件对象关联起来,目的是为了后面用WaitForMultipleObjects函数统一处理。...
  • iw1210
  • iw1210
  • 2014年07月07日 18:26
  • 888
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:基于ebXML的XDS.b实现问题之对象及对象关联
举报原因:
原因补充:

(最多只允许输入30个字)