1、ICS 35.240 L 67 中华人民共和国国家标准GB/T 19256.4-2006 基于XML的电子商务第4部分:注册系统信息模型规范Electronic business eXtensible Markup Language(ebXML) Part 4: Registry Information Model specification (ebRIM) (ISO/TS 15000-3: 2004 , MOD) 2006-09-18发布中华人民共和国国家质量监督检验检疫总局中国国家标准化管理委员会2007-03-01实施发布自U自ISO前言引言1 范围2 规范性引用文件. 3 术语、定义和
2、缩略i吾4 系统概述4.1 ebXML注册系统的任务4. 2 注册服务4. 3 注册系统信息模型如何工作4.4 在何处可以实施注册系统信息模型-4. 5 与ebXML注册系统的一致性5 注册系统信息模型:高层公用视图. 5. 1 RegistryObject类Slot类Association类ExternalIdentifier类ExternalLink类ClassificationScheme类ClassificationN ode类C:;lassification类. 目次5.2 5. 3 5.4 5. 5 5. 6 5. 7 5.8 5. 9 5. 10 5.11 RegistryPac
3、kage类:1uditableEvent类. . . . . . . . . . . . User类5. 12 PostalAddress类5. 13 EmailAddress类5. 14 Organization类5.15 Service类5. 16. ServiceBinding类5. 17 SpecificationLink类. 6 注册系统信息模型:详细视图.6. 1 信息模型类的属性和方法6.2 数据类型6. 3 国际化支持6.4 RegistryObject类6.5 RegistryEntry类6. 6 Slot类6. 7 ExtrinsicObj ect类GB/T 19256.
4、4-2006 田N V 1 1 1 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 7 7 10 12 12 I GB/T 19256.4-2006 6. 8 RegistryPackage类136. 9 ExternalIdentifier类136. 10 ExternalLink类147 注册系统审计跟踪. . . . . . . . . . . . . . . . . . . . . . . . . . . . . I . . . . u 7. 1 AuditableEvent类147.2 User类1. . . . . . .
5、 . . . . . . . . . . . . . . . . . . . . . . . . . . . I . . . . . . . . . . . . . . . . . 15 7. 3 Organization类167. 4 PostalAddress类177.5 TelephoneNumber类187. 6 EmailAddress类四7. 7 PersonName类四7. 8 Service类1. . . . . . . . . . . . 1. . . . . . . . . . . . . . . . . . . . . . . . 19 7. 9 ServiceBindi
6、ng类四7. 10 SpecificationLink类208 注册对象的关联218. 1 Association的示例 21 8.2 据对象和目标对象218. 3 Association类型218.4 内部关联. . . . . . . . . . . . 21 8. 5 外部关联n8. 6 Association的确认. . . . . 23 8. 7 未经确认Association的可见性238. 8 可能的确认状态. . . . . . . . . . . . . . . . . . . I I . 23 8. 9 Association类239 RegistryObject的分类25
7、9. 1 ClassificationScheme类269. 2 ClassificationNode类279. 3 Classification类289.4 分类方案示例. 10 信息模型:安全视图. . I . . . . . . . . 10. 1 AccessControlPolicy类3210.2 Permission类3310. 3 Privilege类3310.4 PrivilegeAttribute类3310.5 Role类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 10.6 Group类3310. 7 Identity类3310.8 Principal类M参考文献E GBIT 19256. 4-2006 前言GB/T 19256(。本部分与ISO15000-3: 2004的差别主要体现在以下几个方面:一一-按照国家标准的编写格式要求对原文的一些章节做了适当的调整,删除了原文中的第1章、第2章,以及第3章中的部分常识性内容;一一-原文第3章Introduction和第4章DesignObjective
9、s中的内容调整到了引言中;一一增加了第2章规范性引用文件和第3章术语、定义和缩略语,其中的术语主要引用自GB/T 18811-2002(电子商务基本术语以及UN/CEFACT和OASIS于2001年出版的(ebXML Glossary)(O. 99版草案); 一一本部分中第4章对应原文的第5章;本部分中第5章对应原文的第6章;本部分中第6章对应原文的第7章;本部分中第7章对应原文的第8章;本部分中第8章对应原文的第9章;本部分中第9章对应原文的第10章;本部分中第10章对应原文的第11章;一一-将原文中举例时使用的国外环境更改为了中国的环境;一一-对原文中些错误地方进行了修正。本部分由中国标准
10、化研究院提出。本部分由全国电子业务标准化技术委员会归口。本部分起草单位t中国标准化研究院、交通部水运所、中国国际电子商务中心、中科院软件所。本部分主要起草人z陈煌、刘碧松、魏宏、任冠华、胡涵景、孙文峰、章建方、刘颖。E GB/T 19256.4-2006 ISO前言国际标准化组织(180)是一个世界性的各国标准机构CI80成员团体的联盟。国际标准的制定工作般通过180技术委员会完成。每个成员团体如果对某个技术委员会建立的某个项目感兴趣,则有权向该技术委员会表述意见。任何与180有联结关系的官方和非官方国际组织都可以直接参与该项工作。ISO与1EC(国际电工委员会)在电工技术标准的所有领域密切合
11、作。国际标准是根据IS0/IEC标准化工作导则第3部分规定的规则进行起草的。技术委员会的主要任务是起草国际标准。由技术委员会正式通过的国际标准草案须经各成员团体投票表决。一项标准至少需要75%的成员团体投票赞成,才能作为正式的国际标准发布。在某些情况下,尤其是当市场有迫切需求时,技术委员会也可以决定发布其他类型的国际标准:一一一180公共适用规范CI80/PA曰:它代表180标准工作组中的技术专家间达成的协议,且该工作组的上一级委员会中有50%以上的成员投票赞成对其进行发布。一-180技术规范(l80/T8):它代表技术委员会成员间达成的协议,且该委员会成员中有2/3以上的成员投票赞成对其进行
12、发布。. 180/PA8或180/T8发布3年之后要进行复审,以确定其是否在下一个3年内继续有效,或通过修iT将其转化成国际标准,或将其废止。如果被确认为继续有效,那末在随后的另一个3年之后,仍需对其再进行一次复审,但这时的复审结论只能在将其转化成国际标准或者废止两者中做出选择。需要注意的是,本部分的某些内容可能会涉及一系列专利权。IS0不负责标出这些专利权。180/T815000-3由OAS18下设的ebXML注册技术委员会起草(原文件名为tryObject集合7 注册系统审计跟踪本章描述了支持注册系统审计跟踪能力的信息模型元素。本章中的某些类属于实体类,实体类用作封装以对一系列相关的属性进
13、行建模。它们类似于C程序语言中的struct结构。RegistryObject的getAuditTrailO方法返回了一个有序的AuditableEvent(可审计事件)集合。这些AuditableEvent掏成了对该RegistryObject的审计跟踪。AuditableEvent包含了该事件的时戳。每个AuditableEvent都引用一个User(用户类),该User标识了己执行某一动作并由此产生AuditableEvent的具体用户。每个User隶属于某一个Organization,该Organization通常是提交机构。7. 1 AuditableEvent类Audi table
14、Event(可审计事件实例为可在RegistryObject (注册对象)中引起变化的事件提供了一个长期记录。RegistryObject与一套有序的AuditableEvent实例集相关联,这些实例为该RegistryOb-G/T 19256.4-2006 Ject提供了一个完整的审计跟踪。AuditableEvent的超类为RegistryObject类。AuditableEvent实例的产生通常是由发起于客户端的请求引起的。AuditableEvent实例由注册服务生成并将这些事件记入到日志中。通常,这些事件会引起RegistryObject在其生命周期中的变化。例如=一个客户端请求可以
15、生戚、更新、反对或者删除一个RegistryObjecto当且仅当请求生成一个RegistryObject或改变RegistryObJect的内容或所有权时,才导致AuditableEvent的产生。只读性请求不产生AuditableEvento当RegistryObject被分类时,或被分配给一个RegistryPackage时,或者关联到其他的RegistryObject上时,也不产生AuditableEvento7. 1. 1 属性表16中列出了AuditableEvent类的属性。表16AuditableEvent类的属性腐蚀数据类型必备性缺省值由规定可变性eventType Long
16、Name 是注册系统否(事件类型)registryObject (注册对象)UUID 是注册系统否timestamp(时戳)DateTime 是注册系统否user(用户)UUID 是注册系统否7.1.2 eventType属性每个AuditableEventC可审计事件)实例必须有一个eventTypeC事件类型)属性,该属性标识了AuditableEvent所记录的事件的类型。表17列出了预定义的可审计事件类型。这些事件类型整体是一个名为EventType的ClassificationSchemeC分类方案)。注册系统必须支持表17列出的事件类型。表17预定义的可审计事件类型名称说明Crea
17、ted(生成生成RegistryObject的事件De!eted(删除删除RegistryObject的事件Deprecat巳d(反对)反对RegistryObject的事件Updated(更新更新RegistryObject状态的事件咽,VersionedC版本操作对RegistryObject版本进行过操作的事件7. 1. 3 registryObject属性每个AuditableEvent实例必须有一个registryObject(注册对象属性,以标识受该事件影响的RegistryObject实例。7. 1. 4 timestamp属性每个AuditableEvent实例必须有一个tim
18、estamp(时戳)属性,以记录该事件发生日期和时间。7.1.5 user属性每个AuditableEvent实例必须有一个user(用户)属性,以标识发送请求的用户。该请求引起了影响RegistryObject实例的事件。7.2 User类UserC用户)实例用在AuditableEvent类中,以便跟踪请求者的身份。该请求者发送了引起产生GB/T 19256.4-2006 AuditableEvent的请求。User类的超类为RegistryObject类。7.2. 1 属性表18中列出了User类的属性。.属性数据类型address(地址PostalAddress emailAddres
19、ses ( email地址organ1ZatlOn (组织机构personName (个人名称telephoneNumbers (电话号码url 7.2.2 每个User7.2.3 每个User实成的集合。每个地址。7.2.4 每个User实例组织机构)实例,7.2.5 personName属每个User实例必须7.2.6 telephoneNumbers属每个User实例必须有一个、Number实例组成的集合,每个实例电话号码。7.2. 7 url属性表18User类的属性必备性缺省值个人名称)属性,以给出用由规定客户端客户端可变性是是否否是是实例组户厨属的Organization属性包含了
20、多个Telephone码。一个User必须至少有一个每个User实例必须有一个url属性,以给出用户相关网页的URL地址。7.3 Organization类OrganizationC组织机构)实例给出了诸如提交机掏的机构信息。每个Organization实例可以引用一个父Organization. Organization类的超类为RegistryObj ect类。7. 3. 1 属性表19中列出了Organization类的属性。16 GB/T 19256.4-2006 表19Organization类的属性属性数据类型必备性缺省值由规定可变性address(tk址)PostalAddres
21、s 是客户端是parent(父)UUID 否客户端是primaryContact UUID 是客户端否(主要联系人)telephoneNumbers Collection of 客户端(电话号码TelephoneNumber 是是7. 3. 2 address属性每个Organization实例必7. 3. 3 parent属性每个Organization实7.3.4 primaryContact 每个Organizati联系人User实例。7. 3. 5 telephoneN 每个该组织机构的邮政地址。lon实伊tlc如果有的话)。!用作为该机构的主要puu nu须个必多了含7.4 7. 4
22、. 1 属性表20中列属性可变性是是是是是一是City(城市)Country(国家)postalCode(邮编State(省Street(街道)streetNumber(门牌号7.4.2 city属性每个PostalAddress可以有一个7. 4. 3 country属性每个PostalAddress可以有一个country(国家)属性,以标识该地址中的国家名。7.4.4 postalCode属性每个PostalAddress可以有一个postalCode(邮政编码属性,以标识该地址中的邮政编码。7.4.5 state属性每个PostalAddress可以有一个state(省)属性,以标识该
23、地址中的省、自治区、直辖市名称。7. 4. 6 street属性每个PostalAddress可以有一个streetC街道属性,以标识该地址中的街道名称。17 GB/T 19256. 4-2006 7. 4. 7 streetNurnber属性每个PostalAddress可以有一个streetNumber(门牌号属性,以标识该地址中的街道门牌号码(例如,65)。7.4.8 方语PostalAddress类除了定义其属性外,还定义了表21所示的方法。表21PostalAddress类的方法Return Type Method(方法及其说明)结果类型getSlots ( ) Collectlon
24、 获取该对象的Slot集合。每个PostalAddress可以有多个Slot实例,这里每个810t都是一个动态定义的属性目针对地点的特定需求,510t允许客户端通过定义其他的动态周性来扩展PostalAddress类7. 5 TelephoneNurnber提TelephoneNumber(电话号码)类是简单可重用的实体类,它定义了关于电话号码的属性。7.5. 1 属性表22中列出了TelephoneNumber类的属性。表22TelephoneNurnber类的属性属性数据类型必备性缺省值由&. .规定可变性areaC口de(区域代码)String4 否客户端是countryCode(国家代
25、码)String4 否客户端是extension(分机号String8 否客户端是number(号码)String16 否客户端是phoneType(电话类型String32 否客户端是url URI 否客户端是7.5. 2 areaCode属性每个TelephoneNumber实例可以有一个areaCode(区域代码)属性,以给出该电话号码的区号。7.5.3 countryCode属性每个TelephoneNumber实例可以有一个countryCode(国家代码)属性,以给出诙电话号码的国家代码。7. 5. 4 extension属性每个TelephoneNumber实例可以有一个exte
26、nsion(分机号)属性,以给出该电话号码的分机号码(如果有的话)。7. 5. 5 number属性每个TelephoneNumber实例可以有一个number(电话号码)属性,以给出该电话号码的本地号码(除去区号、国家代码和扩展号码外的部分)。7.5.6 phoneType属性每个TelephoneNumber实例可以有一个phoneType(电话类型)属性,以给出该TelephoneNumber的类型。例如:家庭电话和办公室电话等e7. 6 EmaUAddress提EmailAddress (电子邮件地址类是一个简单的可重用的实体类,它定义了关于email地址的属性。18 GB/T 192
27、56. 4-2006 7. 6. 1 属性表23中列出了EmailAddress类的属性c表23EmailAddress类的属性属性数据类型必备性缺省值由规定可变性addressC地址)ShortName 是客户端是type(类型String32 否客户端是7. 6.2 address属性每个EmailAddress实例必须有一个address UnitedStates Object实例进行分类。来间接引用节点,该节点表达外部分类,以便尽量减少为了区分在固6中,Classification实例虽然没有明确给出,但隐含在RegistryObject实例(填充阴影的方框)与相关Classifica
28、tionNode的关联中。9.3. 1 属性表35中列出了Classification类的属性,该表不包括其继承属性,即从基础类继承来的属性不在表35中显示。28 表35Classification类的属性属性class.icin:.ceme I (分类方案classifica tionN ode 分类节点classifiedObj ect 分类对象nodeRepresentation (节点表示法)9.3.2 9.3.3 9.3.5 如果类方案中分代码与分类方案tlOno 9.3.6 语境敏感的在国9描述的情scheme下的China是不明确的。它表示数据类型UUID UUID UUID 要
29、澄清这种模糊的含义,Clas关联起来,它给出了该Classifica tionN ode所分类,这里这个必备性用于外部分类|用于内部分类Node(比如名为shipTo)关联起来,这样缺省值null null 吨飞飞|null鸣、|GB/T 19256.4-2006 由规定可变性客户端否客户端否客户端否飞客户端否类骂E案属性。该属性的tion所分类的)属性。它是分如分类方案节点nodeRepresenta-hy Classification Classification的意思中国,或者其他什么意思?(在例子中名为isLocatedln)的另一个Cpp可以被China公司所用的不同的Classif
30、ication-29 GB/T 19256.4-2006 classificationNode 分类节点china:ClassificationNode c!assificationNode (分类节点): Classficaton classifiedObject 【分类对象classificationNode (分类节点)isLo catcd In: Classfica tionNod e shipsTo:ClassificationNode classifiedObject (分类对象: Classification 圈9语境敏感的Classification示例cl邸sifiedObj
31、ect分类对象acmePnr句IProfile:RegistryEntrymyParcelServiceProfile:RegistryEntry 虫型生旦出旦(分类对象)这样,为了支持在多重语境中这种Classification的可行性,任意数量的其他Classification可通过把其中的第一个Classification绑定到能提供所触失语境的ClassificatonNode上来对该Classification 进行分类。楠括起来,在本信息模型中对于分类方案的一般支持允许:a) 通过定义一个内部Classification对一个RegistryObject进行分类,该内部Classi
32、fication能在一定的ClassificationScheme中用一个ClassificationNode与此RegistryObject关联起来。b) 通过定义一个外部Classification对一个RegistryObject进行分类,该外部Classification能在一定的外部ClassificationScheme中用一个值与此RegistryObject关联起来。c) 通过拥有多重Classification来从多个方面对一个RegstryObject进行分类,这些Classification能在一定的ClassifcationScheme中用多重Classificatio
33、nN ode或值与此RegistryO bj ect 关联起来。d) 在某一RegistryObject被分类的具体语境中,该语境对定义给该RegistryObject的Classification进行具体约束。9.3.7 方法Classification类除了定义了其属性外,还定义了表36所示的方法。30 GB/T 19256.4-2006 表36Classification类的方法Return Type (结果类型MethodC方法及其说明getClassificationScheme( ) UUID 对于外部分类,返回由classificationScheme(分类方案)属性返回的方案。
34、对于内部分类,返回由应用于ClassificattonNode实例的相同方法所标识的方案getPath( ) String 对于外部分类,返回一个string类型值,其结构与ClassificationNode的getPath()方法所返回值的string结构一致。对于内部分类,返回的值与其classificationNode属性所标识的ClassficationNode实例的getPath()方法所返回的值相同getCode( ) ShortName 对于外部分类,返回表示分类兀素值的一个字符串,而不必唯一的标识该节点。对于内部分类,返回其classificationNode属性所标识的Cl
35、assificatonNode实例的code属性的值getSubmitting()rganizationC ) Orgnization 获取提交了给定RegistryEntry实例的组织机构的Organization实例,本方法对每个RegstryEntry都返回非空结果。对于权限分配,本方法所返回的组织机构被看作该Classfi-cation实例的所有者9.4 分捷方嚣示例表37列举了一些在本模型中有效的分类方案的例子。这些方案是基于GB/T19256.6和GB/T19256.9所定义的相关语境概念的子集上。表37主要是资料性的而不是说明性的。表37分捷方案示倒分类方案用法示例标准分类方案行
36、业查找在汽车行业中的所有部分NAICS 进程查找执行了某进程的服务接口产品/服务查找销售了某一产品或提供了某一服务的交易UNSPSC 方位查找来自中国的广商IS0 3166 时限查找自旨在24小时之内送到货的厂商角色查找角色为卖方的所有厂商10 信息模型1安全视图本章描述了本信息模型在与注册系统的安全特征相关的方面。图10结出了在注册系统中出自安全考虑方面的对象的视图。它用UML分类图表的形式结出了各对象关系。图中未给出的类属性和类方法将在后续章节中给出。本图主要用来起到说明作用,而不是规范目的。31 GBjT 19256.4-2006 。.*roles 10. 1 interface O电l
37、ecl1 interface A自由sO)lllrolPo!icy0.* 1.* iIlterfac毛Permlssiol 0.* privilege 1.享!nlerr,且cePrivllege 每个Regist呐bj叫注明摆角也古格地与一个(访问控制策略)关联起操作或方法进行访问的策略列出了AccessControlPolicy类的来D对于执行在该RegistryObj晶飞k的操规则。这样的策略规则可以定义为方法。表38AccessControIPolicy茧的方法Return Type Method(方法及其说明(结果类型getPermissi()os( ) CollectioD YE取
38、该Acces,ControlPolicy(访问控制策略)的Perm:ission(许可)集合,并映射到名为per-missions的属性上32 GBIT 19256.4-2006 10. 2 Permission类Permission(许可)类对象被用于在注册系统中对RegistryObj ect的认证和访问控制。一个RegistryObject的各个Permission是在一个Acc巳ssControlPolicy中定义的。如果提出请求的PrincipalC主体)有在Permission中定义的任-Privilege(权酌,这个Permission对象将批准对RegistryObject中的
39、方法的访问。表39中列出了Permission类的方法。表39Permission类的方法m) 、川型川提VAm却呐!阳楠、吃巾飞MethodC方法及其说明)这种机制tity的任意组String getMethodName( ) 获取能被拥有的PrivilegeC权限)的Princinal(主体所理解的属性上Collection 10. 3 Privilege类一个PrivilegeC以是-个Group,为了在得对PrivilegeAttri b ute可(主体)必须具有所。licy中定义的up,Rol巴或lden-Return Type 结果类型Collection ttributes的属性
40、上10. 4 PrivilegeA Privi1egeAttri ,它被用来授予明确ttribute.几个Pr vilegeAttrib ute构Pri vilegeA ttri bute 10.5 Role提在实际情况中,-个医院色。Role(角色)被用于授予Privil允许开具处方,但NurseRoleC护士角色)为Group类、Identity类和、医生、行政人员)等之类的角如:一个DoctorRoleC医生角色)被10.6 Group类Group(组)是用户的聚合体,它可以有不阳的RoleC角色)。例如一个医院里可以有由护士和医生一块加入到具体临床实验中所组成的GroupC组)(比如:
41、阿司匹林实验组)0 Group (组)被用于授予PrivilegeC权限)给PrincipalC主体)。例如阿司匹林实验组的成员可以被允许开具阿司匹林处方即使Nurse RoleC护士角色)的规则井不允许开具处方。10. 7 Identity类Identity(身份类的典型用途是被用来识别个人、组织机构或软件服务等。Identity的属性可以是GBjT 19256.4-2006 数字证书的形式。1 O. 8 Principal类Principal(主体)是一个一般术语,它被安全团体使用,包含人和软件系统等。Principal(主体对象是具有一套PrivilegeAttributeC权限属性)的
42、实体o这些PrivilegeAttribute(权限属性)至少包括一个身份和一个可选项,可选项包括一套角色成员或组成员或安全手续。一个Principal(主体)被用于以关联在此PrincipalC主体)上PrivilegeAttribute(权限属性)为基础,验证请求者或者批准被请求的动作。表41中列出了PrincipalC当事人)类的方、法。表41Prncipal类的方法Return Type MethodC方法及其说明)(结果类型)Collection getGroups ( ) 获取与该Prncipa!相关联的Groupo映射到名为Group的属性上Collecton getIdenti
43、ties( ) 获取与该Princpal相关联的Identitieo映射到名为Identtie的属性上Collection getRolesC ) 二获取与该Principal相关联的Roleo映射到名为Role的属性上34 参考丈献lJ ebGLOSS ebXML Glossary http:/www.ebxml. org/documents!199909/terms甲of_reference.htm 2J OASJ OASIS Information Model http:/xsun. sdct. itl. nist. gov/regrep/OasisRegrepSpec. pdf GBj
44、T 19256.4一20063J BRA97J IETF (Internet Engineering Task Force). RFC 2119: Key words for use in RFCs to Indicate Requirement Levels http:/www.cis.ohio-state.edu/cg-bin/rfc/rfc2119.html 4J UUIDJ DCE 128 bt Unversal Unique Identifier http:/www.opengroup.org/onlinepubs/00962939g/apdxa.htm # tagcjh_20 ht
45、tp:/www. opengroup. org/publications/catalog/c706. htmttp:/www. w3. org/TR/REC-汩nl5J XPA THJ XML Path Language (XPath) V巳rsion1. 0 http:/www. w3. org/TR/xpath 6J NCNameJ Namespaces in XML 19990114 http:/www. w3. org/TR/REC-xml-names/:排NT-NCNameCON-叮.N白户Mh阁。华人民共和国家标准基于XML的电子商务第4部分z注册系统信息模型规范GB/T 19256. 4-2006