GB/T37075-2018

物品电子编码信息服务

Electronicproductcode—Informationservices

本文分享国家标准物品电子编码信息服务的全文阅读和高清PDF的下载,物品电子编码信息服务的编号:GB/T37075-2018。物品电子编码信息服务共有146页,发布于2019-07-01
  • 中国标准分类号(CCS)A24
  • 国际标准分类号(ICS)35.040
  • 实施日期2019-07-01
  • 文件格式PDF
  • 文本页数146页
  • 文件大小9.90M

以图片形式预览物品电子编码信息服务

物品电子编码信息服务


国家标准 GB/T37075一2018 物品电子编码信息服务 Eleetrnicprodueteode Informationservices 2018-12-28发布 2019-07-01实施 国家市场监督管理总局 发布 币国国家标准化管理委员会国家标准
GB/37075一2018 目 次 前言 引言 范围 2 规范性引用文件 术语和定义 缩略语 EPCIS标准的框架 5.1EPCIS标准的概述 5.2EPCIS标准的分层结构 5.3EPCIS标准的扩展机制 抽象数据模型层 6.1事件数据和主数据 6.2词汇种类 6.3扩展机制 6.4标识符表示 6.5分级词汇 数据定义层 7.1定义数据定义层模块的一般规则 7.2核心事件类型模块概述 7.3核心事件类型模型的基本组成模块 10 7.4核心事件类型模块的事件 l6 服务层的接口技术要求 23 服务层接口技术概述 8.l 23 核心采集操作模块 8,2 24 8.3核心查询操作模块 25 数据定义模块的XML绑定 32 32 9.1可扩展机制 34 9.2标准业务文档标题 35 9.3EPCglobal基础架构 35 9.4位置字段附加信息 35 9.5核心事件类型架构 35 9.6主数据架构 - 36 0核心采集操作模块的绑定 36 0.1核心采集操作模块的绑定综述 36 0.2消息队列绑定
GB/T37075一2018 37 0.3HTTP绑定 1 37 核心查询操作模块的绑定 37 1.1核心查询操作模块的所有绑定 1.2核心森询操作模块的x架构 38 39 1.3查询控制接口的sOAP/HTTP绑定 39 1.4查询控制接口的AS2绑定 41 1.5查询回调接口的绑定 44 附录A资料性附录)EPCIS与GS1系统体系结构的关系 50 附录B资料性附录EPCIs标准的制定原则和模块化特点 51 附录C资料性附录抽象数据模型层的补充说明 55 附录D规范性附录)UML形式类图表示 --- 57 附录E规范性附录数据定义层事件的语义 62 附录F资料性附录数量事件 附录G(资料性附录》核心事件类型模型基本组成模块的补充说明 63 附录H(资料性附录》核心事件类型模块的事件的补充说明 68 70 附录I规范性附录服务层接口的方法、参数和字段 附录」(规范性附录)数据定义模块的XM绑定 87 附录K(资料性附录)核心事件数据和主数据的XML示例 107 附录L规范性附录核心查询操作模块的XML架构 115 附录M(资料性附录)GS1AS2指南 139 参考文献 141
GB/37075一2018 前 言 本标准按照GB/T1.1一2009给出的规则起草 本标准参考国际物品编码协会(GS1)的《物品电子编码信息服务规范第1.1版汇EPCInformm )rmation serviees(EPCIS)Versionl.1Specifieation]编制 本标准由全国物流信息管理标准化技术委员会(SAC/TC267)提出并归口 本标准起草单位;物品编码中心,国家射频产品质量监督检验中心,深圳市标准技术研究院、北 京交通大学、复旦大学、畅想物联(北京)科技发展有限公司 本标准主要起草人:罗艳、那若、李志敏、胡敏、王隆、董腾、赵辰、杜寒、郑婧婧、肖文康杨子龙、 侯汉平、王俊宇、张秋霞、易晓珊、刘毅
GB/T37075一2018 引 言 本标准与物品电子编码信息服务(EPCIS)1.1版本的技术内容无变化 EPCIS目标是使不同的应 用程序在企业内部与企业之间创建和共享可见性事件数据 这种共享的最终目的是为了让用户在相关 业务环境中获得物理或数字对象的共享视野 在EPCIS的相关标准中,“对象(Object)”通常指由类级别标识或者单品级别标识所标识的物理实 体,并且这些物理实体涉及一个或多个组织整体业务流程的实际操作步骤 这些物理实体包括贸易项 目(实体类产品、物流单元、可回收资产,固定资产、物理文档等 “对象”也可指数字化产品,也由类级 别标识或者单品级别标识所标识,并且也涉及上述类似的业务流程步骤 这些数字化产品包括数字贸 易项目音乐下载,电子书籍等,电子文档电子优惠券等)等 本标准中“对象”是用来指代一个物理 实体的或数字化产品,其由类级别标识或者单品级别标识所标识,是一个业务流程中的主体 ErPCIs 数据由“可见性事件”组成,其中每 “可见性事件”是一个或多个对象完成特定业务流程的记录 EPCIS标准的最初设想是,通过共享物理实体或数字化产品的详细信息加强贸易伙伴之间的合 作 EPCIS这个名字反映的是物品电子编码发展最初阶段所做的努力 然而应该指出的是,EPCIs并 不要求使用物品电子编码和射频识别数据载体,甚至EPCIs1.1版本不要求单品级别的标识(物品电子 编码在最初设计时仅针对实例级对象标识) PCIsS标准应用于采集和共享可见性事件数据的所有情 形,EPC这个名字的表述只是具有历史意义的存在 EPCIs提供开放、标准的接口,该接口允许在企业之间及企业内部经过良好定义服务的无缝集成 在EPCIs标准中定义的标准接口能够使用定义的服务操作集与相关数据标准去采集和查询可见性事 件数据,并与安全机制结合满足用户企业的需求 大多数情况下,这将涉及一个或多个可见性事件数据 的永久数据库,尽管无需永久数据库,服务方法的元素也可以用于应用程序之间的直接共享 不论永久性数据库是否存在,EPCIS标准规定的只是应用程序之间的标准共享数据接口,用来采 集可见性事件数据,还用于数据访问 它并未规定服务如何运行以及数据库本身如何实现 除了规定 需要通过标准的EPCIs采集操作得到的数据外,本标准未定义EPCIS服务如何获取/计算它们需要的 数据 互操作性需要标准化的接口,然而接口的实现却允许提供技术和实施标准的企业或实体间进行 竞争 IN
GB/37075一2018 物品电子编码信息服务 范围 本标准规定了物品电子编码信息服务的抽象数据模型层、数据定义层、服务层接口,并规定了数据 定义模块,核心采集操作模块和查询操作模块的xML语法措述 本标准适用于通过采用EPCIs标准,使不同的应用程序在企业内部和企业间创建和共享可见性事 件数据,进而使用户能够在相关业务环境中获得物理或数字对象的共同视图 规范性引用文件 下列文件对于本文件的应用是必不可少的 凡是注日期的引用文件,仅注日期的版本适用于本文 件 凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件 GB/T12905条码术语 GB/T17295国际贸易计量单位代码 sO86o1数据元素和交换格式信息交换日期和时间的表示(Dataelementsandinterchange formatsInformationinterchangeRepresentationofdatesandtimes) Gs1核心业务词汇第 1.2版[GSlCoreBusinessVocabularyCBV),version1.2] GSs1物品电子编码标签数据标准第1.9版(GS1EPcTagDataStandard,version1.9 GSs1物品电子编码信息服务第1.0版(GsEPCInformationServices,version1.0 GS1技术文档EDIINTAS1和 传输通讯指南(GS1TeechnicalDocumentEDIINTAS1and AS2 AS2TransportCommunicationsGidelines,lIssue1,February2006 RFC2246传输层安全协议(TheTLsProtocol,Version1.0) ormResourceIdentifiersURI):GenericSyn RFC2396统一资源标识符(URI);通用语法[Unifo tax 超文本传输协议 RFC2616 HTTP/1.l(HypertextTransferProtocolTTP/1.1 RFCc2818TIs之上的HTTP(HTTPOverTI.s) RFCc3268用于传输层安全性(TI.S)的高级加密标准(AES)密码套件[AdvancedEncryption Standard(AEs)CipersuitesforTransportl.ayerSeeurity(TI.S) RFC4130使用HTTP的基于MIME的安全对等业务数据交换,适用性声明2(AS2)[MIME asedsecurePeertoPeerBusinessDataInterchangeUsingHTTP,ApplieabiltyStatement2(AS2] 术语和定义 GB/T12905,GB/T17295和GSl核心业务词汇第1.2版(CBV1.2)界定的以及下列术语和定义适 用于本文件 3.1 物品电子编码eleetronicproduetcode;EC 通过RFID标签和其他方式广泛识别物理对象(例如贸易物品,资产和位置)的标识方案 注,标准化的EP数据由一个EPc(或EPC标识符)以及可选的滤值组成,其中,EPC用于唯一标识一个或者一类 单独的对象,滤值则在当被判断为需要有效和高效地读取EP标签时选用
GB/T37075一2018 3.2 res;Ers 物品电子编码信息服务eleetromicproduetcodeinformationser 通过标准化的接口使不同的应用程序在企业内部和企业间创建和共享可见性事件数据的服务 3.3 对象ojeet 在类级别或单品级别确定的物理实体或数字化产品 示例;物理实体通常是指贸易项目、物流单元,可回收资产,固定资产,物理文档等 数字化产品通常是指电子音乐 下载、电子书或电子优惠券等 3.4 事件event -个或多个对象通过特定流程达到业务目标的活动 注:包括EP(CIS事件、对象事件、聚合事件、交易事件、转化事件等 3.5 class 类 在确定的业务流程中,属性相同对象的集合 3.6 单品 instance 事件中的一个具体实体、产品或个体 3.7 业务处置状态disposition 对象的业务状态 在事件发生后,事件的业务处置字段指定事件主体(即在“对象”维度中指定的事 物)的业务状况 注,业务处置状态将保持到另一事件表明业务处置发生变化为止 3.8 常规查询standingquery 按照特定规律,定时查询并返回结果 缩略语 下列缩略语适用于本文件 ALE应用层事件协议(ApplieationlevelEvents) CBV核心业务词汇(CoreBusinessVoeabulary CBV1.2GS1核心业务词汇第1.2版[GS1CoreBusinessVocabulary(CBV),version 1.2] CEFAC'T20UN/CEFAC'T第20项建议(UN/CEFACTRecommendation20) EPC物品电子编码(EleetronicProduetCode EPCIS物品电子编码信息服务(EPCInformationServices) ormationServices,version1.1 EPCIS1.1物品电子编码信息服务第1.1版(GS1EPCInfor GDTI全球文档类型标识符(GlobalDocument Typeldentifier) G1AI全球单个资产代码(GlobalIndividualAssetldentifier) GRAI全球可回收资产代码(GlobalReturnableAssetIdentifier GS1国际物品编码协会(GlobalStandard GTIN全球贸易项目标识代码(GlobalTradeltemNumber) LMD单品/批号主数据(Instance/LotMasterData)
GB/37075一2018 LLRP底层识读器协议(L.owLevelReaderProtocol SG;TIN序列化全球贸易项目标识代码(SerializedGlobalTradeltemNumber SSCC系列货运包装箱代码(SerialShippingContainerCode) TDs标签数据标准(TagDataStandard) TDs1.9GS1物品电子编码标签数据标准第1.9版(GS1EPCTagDataStandard,version1.9) uom计量单位(UnitofMeast leaS1rement )rmResourceldentifier URI统一资源标识符(Unifor URL ormResourceLocators) 统一资源定位符(Unifo 1atedUniversalTime UTC协调世界时(Coordim XMLDREAN.UCC的XML设计规则第2.0版(XMLDesignRulesforEAN.UCC,Version2.0 xMLVersioning版本控制xML间汇表(VersioningXML.Voeabulares) XSDXML架构定义(XMLSchemaDefinition) XSD1 XMI架构第1部分;结构(XMISchemaPartl:Struetures) XSD2XML架构第2部分;数据类型(XMLSchemaPart2:Datatypes) 标准业务文档标题技术规范第1.3版(SiandarBusimes [SBDH] DocumentHeaderTechnical Specification,Version1.3 EPCIS标准的框架 5.1EPCIS标准的概述 EPCIs标准是GS1标准体系中的一个有机组成部分,EPCIs标准与GS1体系的关系参见附录A EPCIS标准采用分层结构,并定义了扩展机制 EPCIS标准的制定原则参见附录B中B.1,其具有 的模块化特点详见B,2. EPCIS需要与Gs1核心业务词汇标准共同使用 Gs1核心业务词汇标准提供了数据值的定义,这 些数据值可用于填充EPCIS标准定义的数据结构 使用GS1核心业务词汇标准提供的标准词汇是 EPCIS实现互操作性的关键,还是提供数据查询时减少不同业务表达共同意图的变化的关键 因此 应用程序宜尽最大可能使用CBV标准来构造EPCIS数据 5.2EPCIS标准的分层结构 EPCIS标准采用分层结构,标准的框架可分为抽象数据模型层、数据定义层和服务层及其相应的 绑定实现,如图1所示
GB/T37075一2018 采集接口 查询控制 查询回调接口 MsgQ 接口 HTIP 核心查询 (10.2) SoAP 核心采集 (1l1.5.3 操作 操作 (1.3) 8.3 (.2 服务层 查询控制 采集接口 实现 查询回调接口 接口 查询控制 采集接口 HTPs 查询回调 接口 HTTP (11.5.4 接口 10.3) As2 1. 查询回调接口 As2 u1.5.5) 取决于 核心查询 xSD Il.2 取决于 核心事件 核心事件 实现 XSD 类型 数据定义层 (第9章 7.3 绑定 取决于 填充 EPCIs抽象 抽象数掘 数据模 GS1核心 模型层 业务词汇标准 (第6章) 图1EPCIS标准的框架 抽象数据模型层规定了EPCIs数据的一般结构 抽象数据模型层没有扩展机制 抽象数据模型 层指定了数据定义层内创建数据定义的一般要求 数据定义层规定了通过EPCIs进行交换的数据类型及其抽象结构和意义 本标准定义的数据定 义模块叫做核心事件类型模块 数据定义层的数据定义采用了抽象规定的方法,并定义了相关规则 服务层规定了EPCIS客户端进行交互的服务接口 本标准定义了两个服务层模块 核心采集操 作模块定义了服务接口(EPCIS采集接口),EPCIS采集应用程序通过该接口传送核心事件类型给有关 方 核心查询操作模块定义了两个服务接口(EPCIS查询控制接口和EPCIS查询回调接口),EPCIS访 问应用程序通过这两个服务接口获得之前采集的数据 本标准使用UMI来抽象地指定服务层的接口 定义
GB/37075一2018 绑定指定了数据定义层和服务层的具体实现 本标准给任意给定的数据定义模块或服务模块可能 定义了多种绑定 本标准给数据定义层和服务层定义的三个模块共指定了九个绑定 本标准给核心事 件类型数据定义模块中的数据定义绑定了XMI架构 核心采集操作模块中的EPCIS采集接口应绑定 消息队列(MessageQueue)或者HTTP 本标准对核心查询操作模块中的E:PCIS查询控制接口给出 了两种绑定,一种是通过wSDLweb服务描述实现SOAP在HTTP上(SOAP overHTTP)的绑定,另 -种是绑定AsS2 核心查询操作模块中的EPCIS查询回调接口应绑定HTTP,HTTPS或者As2 本标准应与GS1核心业务词汇第1.2版(CBv1.2)共同使用 CBV定义了特定的词汇元素,可用 于填充本标准数据定义层里指定的数据定义 应用宜优先采用CBV标准定义的词汇元素 如果CBV 中没有定义,应用可采用私有或专用的数据值 5.3EPCIs标准的扩展机制 本标准定义了三种特定的扩展机制 -利用EPCIS标准的分层结构;EPCIS标准的分层结构具有扩展性,一个层级可被另一个层级 的多个实现重用 例如,虽然本标准包括了核心事件类型数据定义模块的XML绑定,但是另 一标准可能用不同语法,比如CSV文件,来定义同一模块的绑定 生成子类;数据定义层里的数据使用UML定义,本标准可通过创造一个现有类的子类引人新 的数据定义 子类是一个新类型,它包括现有类的全部字段,并拓展出新类型的字段 子类的 实例可在父类实例的任何应用环境里使用 使用扩展点;数据定义规范和服务规范中规定了扩展点;EPCIS标准的开发人员可不通过创 建子类而是采用扩展点来进行功能扩展 抽象数据模型层 6.1事件数据和主数据 EPCIS处理的两类数据是事件数据和主数据 事件数据产生于业务流程实施过程,通过EPCIS采 集接口采集并生成以供通过EPCIs查询接口进行查询 主数据是附加数据,提供了解释事件数据的必 要的环境 主数据可供通过EPCIS查询控制接口查询,但主数据进人系统的方法不在本标准中规定 这些关系如图2所示 事件数据和主数据的详细说明参见附录C中C.1 事件 主数据 EPCIS查询接口 事件 主数据的采集超出了本标准的范国 EPCIS采集接口 事件 图2事件数据、主数据与EPCIs接口的关系
GB/T37075一2018 EPCIS抽象数据模型由以下组分构成: -事件数据:事件的集合 事件:由一个事件类型和一个或多个命名的事件字段组成的结构 事件数据包括事件类型和 事件字段 -事件类型:是一种符合命名空间规则的名称(qname),指明了给定事件符合几种可能的事件结 构(由数据定义层定义)的哪一种 事件字段;在一个事件内命名的字段 字段的名称由qname给定,指向数据定义层规定的字 段名称或定义为本标准扩展的字段名称 字段的值可以是一个基本类型比如整数或者时间 戳)、一个词汇元素、或者一组基本类型或者词汇元素 主数据:词汇的集合,包括了与词汇的元素相关联的主数据属性 词汇;命名的标识符的集合 词汇的名称是一个符合命名空间规则的名称(qname),可用作事 件字段的类型名称 词汇内部的标识符被称为词汇元素 一个词汇代表了一组可选值,这些 值可用来表现为特定事件字段的值 EPCIS中的词汇用于给集合建模型,比如,有效的地址 名称集合、有效的业务流程步骤名称集合等 词汇元素一个标识符,用于命名词汇建模的可选值 事件字段的值可选择词汇无素 词汇元 素采用拢- 个词汇元萦可以和主数据属性相关联 资源标识符(URI)来表示 每个 -主数据属性与单个词汇元素相关联的无序的名称/值配对集合 每个配对中的名称部分是 qname 每个配对中的值部分可以是任意类型的值 一种特殊的属性是一组子属性(也可能 是空集),每个子属性是同一词汇下的其他词汇元素 参见6.5 本标准不提供通过任一接口来删除或修改EPCIs事件的机制 应通过生成后续事件来“撤销”或 “修正”EPCIs事件,生成的后续事件的业务意义是废除或修正之前事件的影响 6.2词汇种类 词汇是EPCIS用来给存在于真实世界的物理、数字和概念实体构建模型 核心EPCIs数据定义 层已定义的词汇包括位置名称,对象分类名称和业务步骤名称 例如,对象分类名称类似于“Acme奢 华饰品”,与之相对的是,EPC命名Acmme奢华饰品的一个特定实例 上述已定义的词汇中,每个词汇 代表了一组有限的但可扩充的)选项,这些选项可出现在事件的特定字段中 本标准定义了两类词汇,即标准词汇和用户词汇 这两类词汇依照不同的模式来定义并可随着时 间变化而扩充 标准词汇(StandardVocabulary),是一组定义和含义由交换事件的贸易伙伴事先达成 -致的词汇元素,示例参见C.2.1 用户词汇(UserVocabulary),是一组定义和含义在单个组织控制下 的词汇元素,示例参见C.2.1 这两类词汇相应的扩充机制参见C.2.2 本标准应优先使用GS1核心业务词汇第1.2版给E:PCIS标准词汇类型定义的词汇元素,包括业务 步骤(BusinessStep)、业务处置状态(Disposition)、业务交易类型(BusinessTransactionType)以及来 源/目的地类型(Source/DestinationType) 应使用CBV定义的词汇元素的模板来构建EPCIS用户词 汇类型,该模板包括了对象(EPC),对象类别(EPCClass)场所(ReadPoint和BusinessL.ocation)、业务 交易号(BusinessTransactionlID),来源/目的地标识(Source/DestinationID)以及转换标识(Transfor ID mation 6.3扩展机制 EPCIS可通过扩展以适应特定的业务场景 本标准的抽象数据模型层规定了五种扩展方法, EPCIS处理的数据可以通过这五种方法加以扩展,以下按对已有标准的影响从大到小罗列这五种扩展 方法: -新的事件类型:在数据定义层增加新的事件类型 增加的新事件类型要求对每个数据定义绑
GB/37075一2018 定进行扩展,还可要求对采集接口和查询接口以及它们的绑定进行扩展 新的事件字段;在数据定义层的已有事件类型中增加新的字段 本标准中定义的绑定、采集接 口和查询接口都允许进行此类型的扩展而不要求对标准本身进行改变 对在本标准之外定 义的其他绑定或者查询语言而言同样的情形未必可行 新的词汇类型:在有效的词汇类型的列表中增加新的词汇类型 不要求改变绑定或者接口 新的基本数据属性或者新的单品/批次主数据(ILMD)属性;在已有的词汇中定义新的属性名 称,或者定义新的属性名称供单品/批次主数据(ILMD)使用,参见7.3.6 不要求改变绑定或 者接口 新的词汇元素;给已有的词汇增加新的元素 另外,EPCIS的服务层提供了扩展额外服务的机制 扩展EPCIS标准的途径参见C.3 6.4标识符表示 抽象数据模型层定义的标识符,包括事件类型名称、事件字段名称、词汇名称、词汇元素和主数据属 性名称 所有这些标识符的命名空间是开放可扩展的 标识符名称的构建应符合本标准的规定,以避 免不同组织在创建扩展时出现名称冲突 在所有情况下,词汇元素应以统一资源标识符(URI)来表示,URI1的一般语法在RFC2396中定义 词汇元素URI类型的所有权的常规情况参见C.4的说明 事件类型名称和事件字段名称应表示为符合命名空间规则的名称qname),由命名空间URI和名 称组成 这在XM1绑定中有直接的表达方式,便于扩展 6.5分级词汇 本标准允许词汇有一个或者多个层级结构 词汇元素之间的层级关系应通过主数据来表示 父标识符下挂的,除了它的主数据属性以外,还可有若干子标识符 每一个子标识符应属于同一个作为 父标识符的词汇 分级词汇的示例参见C.5 在本标准的其他地方,术语“直接或间接子节点”用于指代包括了给定词汇元素子节点、子节点的子 节点等的词语元素集 也就是说,词汇元素的“直接或间接子节点”是个词汇元素集,这个集通过利用封 闭传递的始于给定词汇元素的“父子”关系而获得 个给定的元素可以是多个父节点的子节点 这允许采用不止一种的方法来给词汇元素分组;比 如,场所既可以按地理位置来分组又可以按功能来分组 但是,一个元素不应直接或者间接的作为自己 的子节点 注,在本标准的当前版本里,只提供了一种层级关系,也就是在特殊的“子节点”列表里编码的关系 本标准的未来 版本可以将这个关系扩大化,从而允许不止一种关系,多半是通过不同的主数据属性来给每种关系编码 层级关系在8.3的查询中需要进行特别处理,并且可以在8.3.3的执行授权策略中发挥作用,但是 不会以别的方式给抽象数据模型层增加任何额外的复杂性或者机制 数据定义层 7.1定义数据定义层模块的一般规则 本章给出了定义数据定义层模块的一般规则,并在7.2中用来定义核心事件类型模型 可使用这 些规则以本标准为基础来建立行业或公司的上层标准 数据定义模块使用第6章抽象数据模型框架定义的那些组分来构建,这些组分在数据定义模块中 的具体作用如下:
GB/T37075一2018 -值类型;定义了数据类型,用以描述事件字段和基本数据属性的值 核心事件类型模块(Core EventTypesModule)定义了可供所有数据定义模块使用的基本类型 每个词汇定义时即隐 含地确定了一个值类型 事件类型;定义了事件类型,每个定义给出了一个事件类型名称和一个该类型的标准事件字段 列表,事件类型名称在所有事件类型中应是唯一的 事件类型可定义为一个已有的事件类型 的子类型,该子类型包括了已有的事件类型的全部字段并增加了一些新的字段 -事件字段:在事件类型中定义了事件字段 每个事件字段定义了一个字段的名字和字段值的 数据类型,字段的名字在该事件类型的全部字段中应是唯一的 数据定义模块中对事件字段 的定义可以是本模块中的新的事件类型,也可以是别的数据定义模块中事件类型的扩展 词汇类型;定义了词汇类型,每个定义给出了词汇的名称,词汇元素所对应的标准主数据属性 列表.以及用来构建该词汇的新元素的规则 其中,词汇的名称应是所有词汇中唯一的 在词 汇类型中创建新词汇元素应遵循与6.4的规定相一致的规则 主数据属性:给词汇类型定义了主数据属性,每个主数据属性的定义规定了属性的名称(在所 属的词汇类型中应是唯一的)和属性值的数据类型 数据定义模块内部的主数据定义可能属 于模块类新的词汇类,或者是对其他模块中定义的词汇类型的扩展 词汇元素;定义了词汇元索,每个定义指定了名称(在所属的词汇的所有词汇元素中应是唯一 的,并且遵循6.4的词汇元素一般规则),并有选择性的为该元素指定主数据(特定的属性值) 本标准中,“词汇”常被非正式的用来指词汇类型以及组成它的词汇元素集合 本标准采用附录D中D.1的UML类图方式来表示事件类型和事件字段 本标准对数据定义层的事件采用回顾语义和预期语义两种语义来释义,详见附录E中E.1 7.2核心事件类型模块概述 核心事件类型的数据定义模块定义了代表EPCIS数据采集事件的事件类型 这些事件通常由 EPCIS采集应用产生,并由8.1中定义的数据采集操作来提供给EPCIS基础设施 这些事件还被返回 以响应根据查询条件检索事件的查询操作 对于模块的组分,7.3.1和7.3.2定义了值类型的基本类型;7.4.17.4.5以及附录F定义了6种事 件类型;7.3.3~7.3.5定义了词汇类型以及相关的主数据属性;本标准不定义词汇元素 针对具体的行 业应用,将由行业垂直工作组为本标准定义的词汇定义额外的主数据属性,并给BusinessStep、Disposi- tion和BusinessTransaction词汇定义词汇元素 核心事件模型定义了六种事件类型,包括一种通用的事件和五种子类型,可以代表跨越了各种广泛 行业的供应链活动所产生的事件,概述如下: -7.4.1定义的EPCIs事件(EPCISEvent)是所有事件类型的通用基类 7.4.2定义的对象事件(ObjectEvent)表示发生在一个或多个物理或数字对象上的事件 -7.4.3定义的聚合事件(AggregationEvent)表示发生在一个或多个物理意义聚合在一起的对 象上的事件,即对象在同一时间被从物理上限制在同一地点,比如,包装箱被聚合到同一个托 盘上 -附录F定义的数量事件(QuantityEvent)表示关注特定对象数量的事件,它是一个普通的EPC 类,但是并没有指定实体的个体标识 在EPCIs1.1中,QuantityEvent被弃用,取而代之的是 7.3.3.3中定义的ObjeetEvent的一个或多个QuantityElement 7.4.4定义的交易事件(TransactionEvent)表示一个或多个对象与一个或多个已标识的业务交 易之间相关联与去关联的事件 7.4.5定义的转化事件(TransformationEvent)表示输人对象被整体或部分消耗并产出输出对 象的事件,这样使得任何输人对象都对全部输出对象做出贡献 图3的UML图展示了上述事件类型之间的关系
GB/37075一2018 每个核心事件类型的子类型都包含了代表EPCIS事件的四个关键维度的字段 这四个维度分别 是;l)作为事件主体的对象或其他实体;2)日期和时间;3)事件发生的地点;4)业务环境 四个关键维度 相关的事件类型的字段的语义释义见E.2. 除了属于四个关键维度的字段,事件可能在其他字段携带附加的描述性信息 大部分附加的描述 性信息字段将在行业相关的应用标准中定义 EPcIs事件 eventTime:Time ecordTime;Time eventTimezoneOfset:strng 对象事件 聚合事件 交易事件 转化事件 epcList:EPC列表 parentD:UR parenD:UR EPC列表 inputEpcList: childEPCs:EPC列表 epclist:EPC列表 action:Action outputEpcList:EPC列表 bizStep:BizSteplD acion:Acton action:Action xformlD:xtormlD bizStep:BzSteplD disposition:DispositionlD bizStep:BizSteplD bizStep:BzSteplD readPoint:ReadPointD dsposton:DspostonlD dispositon:DisposilonlD isposton:DsposltionlD hildQList List impuOList outpuQLis 交易事件为 其他事件为 0.0." 业务交易 来源 目的地 数量元素 type:SourceDestTypelD type:SourceDestTypelD type:BizTransTypelD epcClassEPCClass source:SourceDestlD dest:SourceDesiD quanty:十进制 QuanttyEvent <<弃用> epcClass:EPCClass quanty:int bizStep:BizSteplD isposition:DispositionlD 注:粗线部分表示该类或者属性是EPCIS1.1中新增的 0..*,表示零个或者多个 1关,表示一个或者多个 图3核心事件模型的六种事类型的UML图
GB/T37075一2018 表1总结了核心事件模块中定义的词汇类型 表1中的URI一栏给出了词汇的正式名称,供通过 EPCIs接口按名称引用词汇时使用 表1核心事件模块中定义的词汇类型 用户词汇 词汇类型 章条号 URI 标准词汇 用户词汇 ReadPointlD 7.3.4 urn;epeglobal:epcis;vtype;ReadPoint BusinessL.ocationlD 7.3.4 用户词汇 urn;epcglobal;epcis;vtype;Businessl.ocation BusinessSteplD urn:epcglobal:epcis;vtype;BusinessStep 7.3.5 标准词汇 DispositionlID 77.3.5.2 标准词汇 urn:epeglobal;epcis;vtype;Disposition BusinessTransaetion 7.3.5.3.2 用户词汇 urn;epcglobal:epeis;vtype;BusinessTransaetionm BusinessTrasactionTypeID 7.3.5.3.1 标准词汇 urn:epcglobal:epcis;vtype;BusinessTransaetionType EPCClass 7.3.5.4 用户词汇 urn;epcglobal:epcis;vtype;EPCClass 标准词汇 SourceDestTypelD 7.3.5.4.l urn;epcglobal;epcis;vtype;SourceDestType 用户词汇 SourceDestlD 7.3.5.4.2 urn;epeglobal;epcis;vtype;SourcelDest 7.3核心事件类型模型的基本组成模块 7.3.1基本类型 核心事件类型模型使用表2中列举的基本类型prinmitivetype) EPC类型被定义为基本类型,用 于在事件内表示不属于词汇类型的物品电子编码,详细的说明参见附录G中G.1 表2核心事件类型模型用到的基本类型 基本类型 定义 iint 整数类型,使用时应注明范围限制 时间截类型,以与时区无关的格式给出日期和时间 这种类型绑定的字段宜使用1S08601兼容文本来 Time 表示 物品电子编码,除非特殊说明,在本标准中表示为TDS1.9第6章定义的“单纯标识(pureidentity)”格式 EPC 的URt 7.3.2操作类型 操作Action类型表示一个事件如何与所描述的实体的生命周期相关联 例如 tionEvent是用来采集对象聚合的相关事件,如箱子聚合到托盘,托盘的生命周期内,托盘负载 Aggregat 参与许多业务流程的步骤,每一个步骤都可能产生EPCIS事件 每个事件的操作字段旨在说明聚合体 本身是如何在事件期间改变的:对象是否被加人聚合体,对象是否被从聚合体中移除,或者聚合体仅仅 是被简单的观察到而非其组成发生变化 操作字段独立于bizStep字段,bizStep字段用来标识发生操 作的特定业务流程步骤 操作类型是枚举类型,有且仅有三个可选值,见表3 操作类型不是词汇类型,行业组织不应对其 扩展 10
GB/37075一2018 表3操作类型的值 操作值 含义 ADD 关注的实体被创建或者添加 关注的实体没有改变;它既没有被创建或添加,也没有被破坏或移除 OBSERVE DEL.ETE 关注的实体被移除或者全部破坏 本标准定义的每种子类型事件都包含了操作值,操作值在事件中更精确的含义在相应事件中说明 “对象”维度 7.3.3 7.3.3.1单品级别与类级别的标识 EPCIS事件定义的“对象”维度指定是什么物理或者数字的对象参与了事件 本标准指定了单品 级别和类级别两种途径来标识对象 如果每个标识符在对象内部都是唯一分配的,那么这个标识符被称为单品级别标识符 本标准不 允许两个对象含有同样的单品级别标识符 如果多个对象含有同样的标识符,那么这个标识符被称为类级别标识符 这两类标识的补充说明参见G,2.1 事件的“对象"维度可使用的标识符类型参见G.2.2 7.3.3.2物品电子编码 物品电子编码(EPC)是单品级别标识符,它的结构在TDS1.9中定义 EPCIS事件的“对象”维度 中,EPC元素的值应是一个满足RFC2396的URI,用来表示对象独一无二的单品级别的标识 当这个 独特标识是EPC时,列表元素应是“单纯标识”格式的EPCURI,见TDS1.9的第六章 应用可接受 EPC以外的URI格式标识符来作为EPC元素的值 7.3.3.3数量元素 7.3.3.3.1数量元素的结构 数量元素是使用特定的类级别标识符来标识对象的一种结构,表示特定数量或者未指定数量 数 量元素包括epcClass,quantity和uom三个字段,各个字段的具体要求见表4 表4数量元素的字段结构 字段 类型 要求 epcClas8 EPCClass 类级别标识符,用于表示特定数量对象所属的类 可选)数字,用来表示数量元素所指示的特定EPCClass的对象数量 字段省略,uom字段 quantity字段指代的数量未知或者未指定时可省略 如果 quantity 也应省略 否则,如果指定了quantity字段: gantity 十进制 如果数量元素缺少uom字段,那么quantity字段应取正整数值,表示此QuantityEle 数量 ment表示的指定EPCClass的单品数量的计数 如果数量元素包含uom字段,那么quantity字段应取正数值(但不一定是整数),表 示物理度量的规模,即明确了该QuantityElement指定的EPCClass的数量 1
GB/T37075一2018 表4续 字段 类型 要求 可选)如果有uom字段,那么uom字段指定一个计量单位,通过该计量单位将指定数量 uom UOM QuantityElement 解释为一个物理度量,明确此 指定的特定EPCClas、的数量 如果 计量单位) 计量单位) quantity字段被省略,本字段也应省略 EPCClass是用户词汇,其元素为对象的类别 任何结构包括对象类概念的EPC可被引用为EPC Class 可指定具有固定度量或可变度量的类别 固定度量的类别有可以计算数量的单品;例 EPCClass 一个与装在固定尺寸包装箱内的产品所对应的GTIN 可变度量的类别具有一个不可计算数量的 如, 单品,因此数量用物理度量来表示;例如一个按长度售卖的铜线的GTIN,按面积销售的地毯的GTIN 按体积销售的散装油的GTIN,或者按重量售卖的生鲜产品的GTIN 表5总结了每种情况下的 quantity和uom字段 表5不同情况下的EPcCla的quantity字段和uom字段 EPCClass Quantity字段 uom字段 固定度量 正整数 省略 quantity字段表示特定类的单品数量 quantity字段表示规模;uom字段表示物理单位,描述特 可变度量 正数,不一定是整数 有 定类别数量的物理度量 省略 省略 数量未知或者未指明 因定或可变度量 EPCClass词汇的主数据属性包括给引用对象定义的独立于EPCIS的任何主数据例如:产品分类 数据);本标准不涉及这些定义 7.3.3.3.2UUOM类型 当QuantityElement使用物理度量来指定特定EPCClass的数量时,QuantityElement应有uom字 字段的值应是CEFAcT20“通用代码”(CommonCode)一栏规定的2个或3个字符的代码 段 uom 以表示物理单位,示例参见G,2.3 uom字段所使用的CEFAcT20中的代码所在的行应满足下列所有 条件 “Quantity”数量)一栏包含下列数量项目之一;length(长度),area(面积)、volume(体积)或 mass(质量) 数量项目在“Quantity”(数量)一栏中应为一个独立的词,而不是词组的一部分 “Status”状态)一栏中不包含“x”删除)或“D"(废弃) 7.3.3.3.3表示GTIN的EPcClass值 当EPcClass的词汇元素代表一类特定GTIN的SGTINEPC时,它应是TDS1.9中定义的如下所 示形式的URI urn:epe:idpat;sgtin:CompanyPrefix.ItemRelAndlndieator. 其中,CompanyPrefix是GTIN的厂商识别代码(包括前导零),ItemRefAndndiceator由GTIN的包装 指示符紧接该GTIN的商品项目代码组成 这种形式的EPCClass词汇元素表示一类对象,它们的 EPC是具有相同CompanyPrefix和ItemRefAndlndicator 字段,并具有任何任意序列号(或根本无序列 号)的SGTIN 12
GB/37075一2018 7.3.3.3.4表示GTIN+批量/批次的EPcCClass值 当EPCClass的词汇元素代表一类特定的GTIN和批量/批次的sGTINEPC时,它应是TDS1.9 第6章中定义的如下所示形式的URI yPrefix.ItemRefAndIndicator.Lot urn:epc:class:lgtin:Company 其中,CompanyPrefix是GTIN的厂商识别代码(包括前导零),lIltemRefAndlndieator由GTIN的包装 指示符紧接该GTIN的商品项目代码组成,L.ot是具体批次/批号所对应的数字 这种形式的 nyPrefix和 EPCClass词汇元素表示一类对象,它们的EPC是sSGTIN,这些SGTIN具有相同Company ltemRefAndlndieator字段,属于特定的批次/批号,不论其序列号(如果有的话). 7.3.4“位置”维度一读取点和业务位置 本条定义了与EPCIS中使用的位置信息概念相关的四种类型,它们的补充说明参见G.3.1 其中 两种类型所采用的方式是引用“识读器”,或者引用使用RFID或其他方式感知贴有EPC标签的物体存 在的设备 但是,这两种类狠不是E1s的"位登" ”类型 另外两种类型都是真实位置类型,并且被定 义为EPCIS词汇类型 识读器/位置类型的定义见表6 表6识读器/位置类型 识读器/位置类型 类型名称 要求 PhysicealIReaderlD是报告ErC读取事件结果的特定信息源 PhysicalReaderID 例如,物理RFID识读器)的唯一标识或名称 PhysicalRea derlD在ALEl.0中进一步定义 LogiealReaderlD是赋予EPC读取事件信息源的标识或名 称,与用于执行读取事件的物理设备无关 LogiealReaderlD 在ALEl.0中进一步定义 本标准中可在ALEl.0中规定的 原始的识读器类型 以下情形中中采用L.ogiealReaderlID. 非EPCIs位置类型) -需要在不改变EPCIS采集应用程序的情况下更换物理 LogiealReaderlID 识读器; -当多个物理识读器总是同时使用覆盖单个区域时,可给 予它们单个名称; 当单个物理识读器具有独立使用的多个天线,可用于覆 盖不同位置时,单个物理读写器可映射到多个逻辑识 读器 读取点是一个离散记录的位置,用于标识EPCIS事件发生的 最具体位置 EPCIS采集应用程序可采取以下方式来确定 读取点: 如果使用固定式识读器,可通过逻辑识读器的函数来推 断读取点; 真实位置类型 如果使用移动式识读器,可通过读取位置标签,来公开 ReadPointID 地确定读取点 通常还可通过EPCIS采集应用程序选择使用的任何其 他方式来确定读取点 从概念上讲,读取点旨在识别“EPCIS事件发生时对象的位 置” 13
GB/T37075一2018 表6(续 识读器/位置类型 类型名称 要求 “业务地点”是唯一标识且离散记录的位置,旨在指明对象被 假定为一直追随EPCIs事件的特定地点,直到对象被后续的 EPCIS事件报告处于不同的业务地点为止 与读取点一样, 真实位置类型 BusinessLoecationlD EPCIS采集应用程序可根据其选择的任何方式确定业务位 置 从概念上讲,业务地点旨在识别“对象一直在何处追随 EPCIS事件” ReadPointID和BusinessLocationID是用户词汇 如果要使用EPC作为词汇元素,EPC应使用 TDs1.9定义的“单纯标识”格式的URI来表示 例如,在GS1通用规格管辖的行业,readPointID和 usinesslocationID可是TDS1.9的6.3.3中定义的GLN-URI,physicalIReaderlID可是TDS1.9的6.3.1中定 义的sGTIN-URI. 但在所有情况下,位置的词汇元素不要求是EPC 本标准允许使用EPC以外的位置URI,使得用 1可重用现有的位置命名方法 户 对于7.2定义的所有EPCIs事件类型,采集事件包括读取点和业务位置这两个分开的字段 在大 多数情况下,两者都是可选的,所以如果两者都是未知的,EPCIS采集应用仍可包含其他部分信息 读取点和业务位置之间的区别示例参见G.3.2 7.3.5“业务”维度 7.3.5.1业务步骤 BusinessStepID是一个词汇,其元素表示在业务流程中的步骤,例如表示“发货”的标识符 事件的 业务步骤字段指定一个事件的业务背景;发生什么样的业务流程步骤导致事件被采集 BusinessSteplD 是标准词汇 业务步骤的补充说明参见G.4.1 本标准没有定义用于业务步骤标识符的主数据属性 7.3.5.2业务处置状态 DispositionlD是一个词汇,其元素表示一个对象的业务状态,例如表示“已召回的”的识别符 事 件的业务处置状态(disposition)字段指定跟随事件产生的对象的业务状况 业务处置状态一直为真, 直到另一个事件表明业务处置状态的变化 没有指定业务处置状态字段的干预事件对对象的假定业务 处置状态没有影响 DispositionlD是标准词汇 业务处置状态的补充说明参见G.4.2 本标准没有定义用于业务处置状态标识符的主数据属性 7.3.5.3业务交易 7.3.5.3.1业务交易的构成 BusinessTransaction标识符是一种特殊的业务交易,例如特定的采购订单 业务交易的信息可被 包括在EPCIS事件中,以记录事件参与特定业务交易 业务交易的补充说明参见G.4.3. 业务交易在EPCI1S中使用包含一对标识符的结构类型来表示,如表7所示 14
GB/37075一2018 表7业务交易的构成 字段 类型名称 要求 可选)指明BusinessTransaetion表示的是什么类型的业 务交易的标识符 如果省略,除了bizTransaetion字段本 BusinessTransaetionTypelID type 身的值暗示的内容外,关于业务交易类型的信息是无法获 得的 表示特定业务交易的标识符 bizTransaetion BusinessTransactionlD 7.3.5.3.2业务交易类型 BusinessTransaetionTypelID是一个标准词汇,其元素表示业务交易的一种特定类型,例如表示“订 单”的识别符 本标准没有为业务交易类型定义主数据 7.3.5.3.3业务交易号 BusinessTransaetionlD是一个用户词汇,其元素表示具体的业务交易,例如表示“ACME公司的采 购订单号12345678”的标识符 7.3.5.4来源和目的地 7.3.5.4.1来源和目的地的构成 当EPCIS事件是业务转移的一部分时,来源(Source)或目的地(Destination)用于提供额外的业务 环境;这里,业务转移指的是物理或数字对象的所有权、责任、和/或监护权转移的过程 在许多情况下,一个业务转移需要执行几个单独的业务步骤因此会产生多个EPCIS事件);例如. 运输接着收货,或更复杂的序列,如装载->出发一>运输一>到达一>卸货一>接收 这些EPCIS 事件“位置”维度中的ReadPoint和BusinessL.ocation 表明在该过程的每个步骤中的已知物理位置 相 反的,可以使用来源和目的地,来表示作为预期的业务转移的端点的参与方和/或位置 在一个多步骤 的业务转移中,部分或全部EPCIS事件可含有来源和目的地信息,对于给定的业务转移,所有事件应具 有同样的信息 来源和目的地提供了一个标准化的方式来表示涉及转移的参与方和/或物理位置,是对业务交易信 息(如采购订单,发票等)的补充,可通过BusinessTransaction元素引用 来源或目的地在EPCIs中使用包括一对标识符的结构类型来表示,如表8所示 来源/目的地的 补充说明参见G.4.4 表8来源和目的地的构成 字段 类型名称 描述 指明Source或者Destination各自表示为什么类型的来源或 type SourceDestTypelD 者目的地的标识符 source 或 SourceDestID 表示特定来源或目的地的标识符 destination 15
GB/T37075一2018 7.3.5.4.2来源/目的地的类型 SourceDestTypelID是一个标准词汇,其元素表示的业务转移的来源或目的地的特定类型,例如表 示“所有方”的标识符 本标准没有为来源/目的地的类型定义主数据 7.3.5.4.3来源/目的地标识 SoureeDestID是一个用户词汇,其元素表示具体的来源/目的地,例如表示“Acme公司(一个拥有 方)”的标识符 7.3.6单品/批号主数据(LMD) 单品/批号主数据(ILMD)是描述物理或数字对象的特定单品的数据,或者是在按批次/批号生产 的特定批次/批号对象的数据 ILMD包括一组提供了有关一个或多个特定对象或批号的信息的描述 属性 EPCIS允许ILMD直接附加在某些EPCIS事件上,但只有当没有单独的系统来传播ILMD时才能 使用此功能 对象出现时才定义特定对象的IMD 因此,IMD仅可被ADD操作包含进ObjeetEvents中,以及出 现在TransformationEvents中 在TransformationEvents中,LMD适用于转换的输出,而不是输人 本标准所定义的LMD结构包括一组命名的属性,具有任意类型的值 在9.5的XM绑定中 XML架构提供具有任意元素的名称和内容的XML元素的无限列表 如6.3所述,EPCIs上层的其他 文档可定义特定的LMD数据元素 ILMD以这种方式实现了类似事件级EPCIS的扩展,但是它是独 立的,以便强调该ILMD适用于对象的整个生命周期,而事件级别EPCIS扩展仅适用于特定的事件 7.4核心事件类型模块的事件 7.4.1EPCIS事件 EPCIS事件(EPCISEvent)是所有EPCIS事件的公共基础类型 对象事件、聚合事件、数量事件、 交易事件和转化事件都是EPCISEvent的子类 数量事件已被EPCIs1.1所弃用,参见附录F 这个公共基础类型只包含表9中所列的字段 其中,eventTimeZoneOfset字段的进一步解释参 见附录H中H.1 表9EPCISEvent所包含的字段 字段 类型 要求 eventTime 时间戳 EPCIS采集应用程序断言事件发生的日期和时间 可选)EPCIs数据库记录此事件的日期和时间 当事件被提交给EPCIs采集 接口时,应忽略该字段;当通过EPCIS查询接口检索事件时,应有该字段 时间截 recordTime recordTime不描述现实世界事件的任何信息,而是一个簿记机制,它在8.3.6.3 中规定的常规查询的解释中发挥作用 事件发生的时间和地点的有效时区偏移量,表示为UTC的偏移量 这个字段 应为字符串,以‘十'或‘-'开头,然后是两位数字,取值范围为00~14(包括00 eventTinmeZone(Offr 和14),然后是一个冒号',然后是两位数字,取值范围为00一59(包括00和 字符串 set 59) 如果前两个数字是14,那么后两个数字应是0o. 例如,+05;30表示事件发生地点的当地时间比UTc时间快5h30min(即 UTC午夜是当地时间530am 16
GB/37075一2018 7.4.2对象事件 对象事件(ObjectEvent)是EPCISEvent的子类 对象事件采集对象的事件信息,被采集的对象可 以是一个或多个物理对象或数字对象,并标识为单品级别(EPC)或者类级别(EPCClass) 大多数对象 事件是表示对象的实际观察结果,但严格来说,它可用于采集应用想要断言(与对象有关)的任意事件, 包括,例如,采集应用采集到的预期的观察未发生的事实 虽然在ObjeetEvent中可能出现多个EPC和/或EPC类,但除了在现实世界中恰巧经历相同事件 之外,不睹示这些对象之间有关系或关联 表10规定了ObjeetEvent的Aetion字段的取值,表述了事件与事件中命名的对象及其标识符的 生命周期的关系 表10对象事件的Aetion字段值 Aetion值 含义 事件中已标识的对象已被赋码关联作为此事件的一部分 对于用EPc(单品级别标识符)标识的 对象,EPC已经首次发布并关联到对象 对于用EPC类(类级别标识符)标识的对象,事件中指定 ADD 数量的EPC类标识的对象已被创建(尽管在此事件之前已经有相同类型的其他单品存在以及在此 事件之后还有其他单品被创建 该事件表示对事件中特定对象的简单观察,而不是对象被赋码关联到标识符或者与标识符断开 OBSERVE 关联 作为本事件的一部分,事件中指定的对象已经与标识符断开关联 对于用EPc(单品级别标识符》 标识的对象,EPC在此事件之后不再存在,并且不应再被观察到 对于用PC类(类级别标识符 DELETE 标识的对象,事件中指定的具体数量的EPC类不再存在(尽管在此事件之后相同类型的其他单品 可能继续存在,以及在此事件之前其他单品已经不存在 表11规定了对象事件所包含的具体字段 表11对象事件的字段 字段 类型 描述 eventTime reeordTime 见表9 从EPCISEvent继承,见7.4.1 eventTimeZoneOffset 可选)一个或多个EPC组成的无序列表,命名 与事件相关的特定对象 epcList EPC列表 ObjeetEvent应包含一个非空的epeList,或者 个非空的quantityList,亦或者两个都包含 可选)一个或多个QwantyElkement组成的尤 序列表,在类别级别上标识与事件相关的 QuantitvElement 列表 对象 quantityList ObjectEvent应包含一个非空的epclist,或者 个非空的quantitylList,亦或者两个都包含 17
GB/T37075一2018 表11(续 字段 类型 描述 事件如何与事件中命名的EPC的生命周期相 action Action 关联 可选)事件所属的业务步骤 BusinessS 海SD bizStep (可选)EPC所关联的对象的业务状态,假定 DispositionlD disp0sition 直保持为真直到被后续事件推翻 readPoint ReadPointID 可选事件发生所在的识读点 可选)EPC所关联的对象被发现时的业务地 BusinessLocationlD bizlocation 点,直到被后续事件推翻 含有零个或多个业务交易实例可选业务交易的无序列表,定义了事件的 bizTransaetionList 的无序列表 背景 可选)Source元素的无序列表,提供了业务转 sourceList Soure列表 移起始点的背景 可选)Destination元素的无序列表,提供了业 Destination列表 destinationlList 务转移的终点的背景 可选)描述事件过程中所创建的对象的单品 批次主数据 ilmd IlMD 如果acion字段值是oBSERVE或者DE LETE,ObjectEvent不应包含ilmd字段 为了向前兼容ErPCIs的1.0版本,在9.3的xML.绑定中,字段quanityli ,sourceList、destina tionList以及ilmd出现在标准扩展区域中 对象事件的语义释义见E.3 7.4.3聚合事件 聚合事件(AggregationEvent)是EPCISEvent的子类 聚合事件描述发生在已相互聚合的对象上 的事件 聚合事件中,一组“被包含”的对象被聚合到一个“包含”实体内,这意味着聚合事件主要是识别 聚合体本身 聚合事件用于“聚合”情形,意味着“被包含”对象和“包含”对象具有强烈的物理关系,使得它们将 同时占据同一个位置,直到它们被解除聚合 一个聚合的例子是包装箱被装载到一个托盘并被按照 个单元运输 聚合事件类型不适用于较弱的关联,例如属于同一批货物的两个托盘,托盘可能并不总是 同时位于完全相同的位置 表12规定了聚合事件的Action字段的取值,表述了事件与聚合体的生命周期的关系 18
GB/37075一2018 表12聚合事件的Aetion字段 Action值 含义 子实体列表中标识的对象在事件过程中被聚合到父实体中,包括聚合首次创建以及新的子实体加人现 ADD 存的聚合体的情况 事件不表示在集合中添加和移除子实体 观察也许不完成;也许集合的子实体存在但没有在事件中观 察到,因此没有包括到聚合事件的childEPCs字段或者childQuantityList字段中;同样,父实体也可能 OBSERVE 在事件中没有观察到或认知到,因此parentID字段在聚合事件中被忽略 子实体列表中标识的对象在事件过程中从父实体中解除聚合 包括子实体子集从聚合中移除,以及整 DELETE 个聚合被拆除 childEPC、和childQuantityList字段也许在聚合事件中被忽略,这意味着所有子实体都 被解除聚合(当事件采集软件不知道所有子实体的标识时,允许解除集合 聚合事件类型包括引用一个单独的“父实体”(通常是“包含”的实体)的字段以及引用一个或多个 “子实体”通常是“被包含”的实体)的字段 当action是ADD或DELE:TE时,聚合事件应包括一个父 实体标识符;当action是OBSERVE时,聚合事件的父实体标识符为可选 聚合事件用于指示实体对 象的聚合,所以子实体由EPC或者EPC类来标识 然而父实体不一定是从聚合本身独立出来的物理 或者数字对象,因此,父实体可用一个任意的UR1来标识,该URI可是EPC,也可是由适当的私有词汇 中提取的标识符,示例参见H.2 表13规定了聚合事件所包含的具体字段 表13聚合事件所包含的具体字段 字段 类型 描述 eventTime recordTime 从EPCISEvent继承,见7.4.1 eventTimeZoneOffset 当 1aetion是osERVE时可选,否则必选)关 联中父实体的标识符 当父实体标识符是 parentID UR EPC时,此字段应包含TDs1.9第6章规定的 EPC的“单纯标识”格式的URI 可选)单品级别标识符所标识的被包含对象 的EPC组成的无序列表 AggregationEvent应包含一个非空的childEPCs ehildEPCs EPC列表 或者一个非空的childQuantityList,亦或者两个 都包含,除非chiladEPCs和childQuantityList都 是空,此时action为IEL.ETE,表示所有的子实 体从父实 本中解除聚合 可选 个或多个QuantityElement组成的无 序列表在类别级别上)标识被包含的对象 AggregationEvent应包含一个非空的chidEPCs QuantityElement列表 或者一个非空的childQuantitylList,亦或者两个 dhioumtiylie 都包含,除非childEPCs和childQuantityLis都 为空,此时action 为DEL.ETE,表示所有的子实 体从父实体中解除聚合 19
GB/T37075一2018 表13(续 字段 类型 描述 事件和此事件指明的聚合体的生命周期如何 action Action 关联 BusinessSepID 可选)事件所属的业务步猴 bizStep 可选)EP所关联的对象的业务状态,假定 disposition DispositionlD 直保持为真直到被后续事件推翻 readPoint ReadPointID 可选)事件发生所在的识读点 可选)关联包含和被包含EPC的对象被发现 bizL.ocationm Businessl.ocationlD 的业务地点,直到被后续事件推翻 含有零个或多个业务交易实例可选业务交易的无序列表,定义了事件的 bizTransaetionList 的无序列表 背景 可选)Source元素的无序列表,提供了业务转 列表 sourceist Source 移起始点的背景 可选)Destnation元素的无序列表,提供了业 Destination列表 destinationlist 务转移的终点的背景 为了向前兼容EPCIS的l.0版本,在9.3的XML绑定中,字段childQuantityList,sourceList以及 destinationList出现在标准扩展区域中 聚合事件的语义释义见E.4 7.4.4交易事件(EPCISEvent的子类 交易事件(TansactionEven)是EPCIsEem的子类 交易事件描述了物理或数字对象与一个或 多个业务交易的关联或关联解除 虽然其他事件类型有一个可选的bizTransaction字段可用于提供事 件背景,但是交易事件是以明确的方式声明,对象已与作为事件一部分的一个或多个业务交易相关联或 解除关联 表14规定了交易事件的Aetion字段取值,表述了事件与业务交易生命周期的关系 H.3说明了 何时可使用Action字段是OBSERVE的交易事件 表14交易事件的Aetion字段值 含义 Action 值 事件中标识的对象已经在事件过程中关联到业务交易 这包括交易首次被创建以及新对象加人到现 ADD 存交易中的情况 OBSERVE事件中命名的对象已被确认继续在事件过程中与业务交易相关联 事件中命名的对象已经在事件过程中与业务交易解除关联 这包括对象的子集与业务交易解除关联 DELETE 的情况,以及整个业务交易结束时的情况 可省略TransaetionEvent中的EPC列表和QuantityElement 列表,这意味着所有对象都已解除关联 表15规定了交易事件所包含的具体字段 20
GB/T37075一2018 为了向前兼容EPCIS的1.0版本,在9.3的XML.绑定中,字段quantityList,sourceList以及desti nationList出现在标准扩展区域中 交易事件的语义释义见E.5 7.4.5转化事件 转化事件(TransformationEvent)是EPCISEvent的子类 转化事件采集有关事件的信息,在事件 中,一个或多个由单品级别EPC)或者类型级别(EPC类)标识符标识的物理或数字对象全部或者部分 作为输人被消耗,并且一个或多个由单品级别(EPC)或者类型级别(EPC类)标识符标识的对象作为输 出被产出 转化事件采集了输人和输出之间的关系,任何输人可以某种方式对每个输出有所贡献 有些转化事件业务过程在一段较长的时间内发生,改用一系列EPCIS事件来表示它们更加合适 TransfomationlD可被包含在两个或多个转化事件中以使事件联系起来 当多个事件共用一个 TransfomationID时,意味着这些事件中的任意一个的输人可以某种方式对任意相同事件的每个输出 有所贡献 表16规定了转化事件所包含的具体字段 表16转化事件包含的具体字段 字段 类型 描述 eventTime recordTime 从EPCISEvent继承,见7.4.l eventTinmeZone(Offset 可选)一个或多个EPC组成的无序列表,(在 单品级别上)标识作为转化输人的对象 inputEPCList EPC列表 iinputEPCIist可被省略的限制条件详见下文 介绍 可选)一个或多个QuantityElement组成的无 序列表,(在类别级别上)标识作为转化输人的 inputQuantityList QuantityElement列表 对象 可被省略的限制条件详见下 inpuQuantityList" 文介绍 可选)一个或多个EPC组成的无序列表(在 单品级别上)标识作为转化输出结果的对象 outputEPCList EPC列表 aepuErLi可被省略的限制条件详见下文 介绍 可选)一个或多个QuantityElement组成的无 序列表.(在类别级别上)标识作为转化输出结 QuanityElenent列表 果的对象 outputQuantitylist outputQuantityList可被省略的限制条件详见 下文介绍 22
GB/37075一2018 表16(续 字段 类型 描述 可选)将事件与其他具有相同transformationlD 值的转化事件联系起来的唯一标识 当这 个 字段被指定时,所有具有相同transformationlD 值的事件的所有输人可以某种方式对所有具 TransformationlD 有相同transformationlD值事件的所有输出有 transformationlD 所贡献 如果transformationlD字段省略,那 事件的输人可以某种方式对本事件的输出 么 有所贡献,但是其他事件的输人和输出与这个 事件没有关联 可选)事件所属的业务步骤 BusinessSteplD bizStep 可选)与输出对象关联的对象的业务状态,假 dispositionm DispositionlD 定一直保持为真直到被后续事件推翻 readPoint ReadPointID 可选事件发生所在的识读点 可选)事件的输出对象被发现的业务地点,直 izl.ocation Businessl.ocationlD 到被后续事件推翻 含有零个或多个业务交易实例(可选)业务交易的无序列表,定义了事件的 bizTransactionList 的无序列表 背景 可选)Source元素的无序列表,提供了业务转 soureeList Source列表 移起始点的背景 可选)Destination元素的无序列表,提供了业 列表 destinationList Destination 务转移的终点的背景 可选)描述事件过程中所创建的输出对象的 ilmd ILMD 单品/批次主数据 如果transformationl省略,那么转化事件应包含至少一个输人即至少inputEPCLis和in putQuantityList中的一个为非空)和至少一个输出即至少outputEPCList和outputQuantityList中的 一个为非空) 如果包括了 nlD,那么转化事件应包含至少一个输人,或者至少一个输出 transformation 亦或者两个都包含 后者提供了一种可能性,那就是通过一个共同的transformationlD关联的几个事 件所描述的转化,任意一个事件可能只是增加输人或提取输出 转化事件的语义释义见E.6. 服务层的接口技术要求 8.1服务层接口技术概述 服务层的模块定义了三个接口:采集接口,EPCIs查询控制接口和EPCIS查询回调接口 后两个 接口统称为查询接口 图4表明了这些接口之间的关系 23
GB/T37075一2018 EPCIs访问应用程序 EPCIs访问应用程序 使用事先规划的数据 使用即时数据 控制 (管理对事先规划的查询的 (接受回调数据响应 (接受即时数据响应及 及异常数据) 异常数据) 订阅) 单向 请求/响应 (在网络服务绑定中同步,在 AS2绑定中为2组糊合的单向 信息) EPCIS查询回调按口 EPCIS查询控制接口 实时“推 EPCIS 送"的可能 数据库 “旁路 EPCIs采集接口 单向 EPCIS采集应用程序 图4服务层接口之间的关系 本标准使用UMl类图符号来定义服务,示例见D.2 用于此目的的UML类图可能包含具有操作 的接口,但不包含字段或关联 在UML描述中,标记((extensionpoint)>标识了应用应通过增加新操 作来提供可扩展性的位置 可扩展机制既应为EPCIS符合性产品的厂商提供专有扩展,又应为GS1 通过此规范的未来版本或者新规范提供扩展机制 在标准的WSDL绑定中,扩展点通过允许增加额外操作来简单地实现 8.2核心采集操作模块 8.2.1核心采集操作模块总述 核心采集操作模块提供的操作可以从EPCIS采集应用中提取核心事件 本条中,“客户端”一词指 EPCIS采集应用程序,“EPCIS服务”指实现采集接口的系统 8.2.2验证和授权 EPCIS采集接口的一些绑定为EPCIS服务验证客户端身份提供了方法,或者为客户端验证EPCIS 服务的身份提供方法,还或者提供双向验证方法 验证方法的规范包含在各个绑定的规范中 如果 EPCIS服务对客户端的身份进行身份验证,则实现可以使用客户端身份来做出如下所述的授权决定 此外,一个实现可以将采集的数据与客户端身份一起记录,供实施EPCIS查询接口的系统在随后的授 权决策中使用,如8.3.3所述 24
GB/37075一2018 由于采集接口的简易性,授权规定非常简单;即,应用可以使用已认证的客户端标识决定是否允许 采集操作 8.2.3采集服务 如图5所示,采集接口只存在一种方法,采集(capture),只有一个参数并且不返回结果 EPCIS采 集接口的应用应接受参数列表的每个元素,这些元素是符合本标准的有效的EPCISEvent或其子类型 应用可通过厂商的扩展接受其他类型的事件 此接口的简单性允许广泛多样的绑定,包括简单的消息 队列类型的描述 < CorCaptureService cuptwre(evenmt:ListEPCIsEvent>):void 图5采集服务接口 采集操作记录任意类型的一个或多个信息服务事件 采集服务的参数见附录I中表I.1 采集服务规定的返回值为空 8.3核心查询操作模块 8.3.1核心查询操作模块总述 核心查询操作模块(CoreQueryOperationsModule)提供两个接口,即EPcIS查询控制接口 EPCIsQueryControlInterfaee)和EPCIs查询回调接口(EPCIsQueryCalbackInterfaece),EPCIs访 问应用程序可以通过这两个接口检索EPCIS数据 EPCIS查询控制接口提供了一种方法,用于EPCIS 访问应用程序和贸易伙伴获得随后从任意来源中采集得到EPCIS数据,典型应用是与EPCIS数据库 之间的交互 它为EPCIS访问应用程序提供了按需检索数据的手段,且加人了常规查询的订阅 常规 查询的结果通过EPCIs查询回调接口传递到EPCIS访问应用程序 本条中“客户端”指的是一个 EPCIS访问应用程序,本条中“EPCIS服务”指一个实施了EPCIS查询控制接口并通过EPCIS查询回 调接口来传送信息给客户端的系统 8.3.2验证 EPCIS查询控制接口的一些绑定程序为EPCIS服务验证客户端的身份提供了方法,也为客户端验 证EPCIS服务的身份提供方法,亦或提供为两者提供双向验证方法 验证方法的规定包括在各个绑定 的规定中 如果EPCIS服务验证客户端身份,应用可按下面章条的描述,通过用户身份来做授权决定 8.3.3授权 根据提出需求用户的身份,EPCIs服务可以仅提供部分信息供其访问 这种情形通常发生在企业 之间比如,提出需求的用户与EPCIS服务的运营商属于不同组织;这种情形也可能在企业内部发生 对于一个EPCIS查询,根据已验证的用户身份,EPCIS服务可在处理查询时采取以下动作 服务可以通过返回下面所定义的SecurityException响应来拒绝完全满足请求 -服务可以响应的数据比请求的少 例如,如果客户端提出一个查询在特定时间间隔中所有对 象事件实例的请求,服务知道100个符合查询条件的事件,但可能选择少于100个事件来响应 25
GB/T37075一2018 请求(例如,仅返回那些含有分配给客户端所在公司的厂商代码的SGTIN的事件) -服务可以用粗粒度的信息进行响应 特别是当响应一个有位置类型的查询时,服务可用一个 聚合位置来代替一个原始的位置 -服务可以隐藏信息 例如,如果客户端提出一个查询对象事件实例的请求,服务可选择在响应 请求时删除biuzTransationList字段 然而,返回的信息应重整格式为符合本标准和行业指南 的信息服务事件 另外,如果隐藏信息会引起模糊或误导信息,那么服务宜扣留整个事件 无 论初始信息是通过采集接口获取的还是通过其他方法提供的,这都适用 例如,给定具有等于 ADD动作的聚合事件,尝试隐藏parentID字段将导致事件格式不正常,因为当操作是ADD 时需要parentID;因此,服务应扣留整个事件 服务可以将查询范围限制为最初由特定客户端身份采集的数据 这使得单个EPCIS服务可 以被“分区”,以供不相关用户组使用,这些用户的数据应分开存放 EPCIs应用可自由决定在处理何种查询中采取何种行动,选择何种方法 本标准不包括授权 规则 8.3.4大数据量查询 本标准定义的许多查询操作允许客户端发出无数量限制的数据查询要求 例如,查询在一个时间 间隔内所有对象事件实例的响应,很可能会返回一个、一千个,一百万个甚至十亿个事件,这取决于这个 时间间隔的长度以及这期间采集的事件数量 这可能会导致服务应用的性能问题 为减轻这个问题,EPCIs服务可通过返回QueryTooLarg异常来拒绝任一请求 该异常表示所请 求的数据量比服务可提供给用户的数据量大 QueryTooLarge异常提示用户可以通过缩小初始查询 范围或选择不同的时间段(例如,服务基于当前计算的负载量来判断接受或拒绝查询)提交这个查询来 成功实现请求 8.3.5过于复杂的查询 EPCIS服务应用可能希望限制可以处理的查询种类,以避免处理查询时消耗的资源比服务愿意消 耗的更多 例如,发起的查询是查找在特殊事件字段中有特定值的事件,处理这个查询需要的资源多少 取决于服务是否已预计到对这个字段的查询(比如,取决于数据库是否为与字段相对应的列建立索引 查询的数据量太大时可能会导致服务应用的性能问题 为了减轻这个问题,EPCIS服务系统可通过提出QueryTooComplex异常来拒绝任一请求 这个 异常表示服务系统不愿为客户端处理这类结构的查询 与QueryTooLarge异常不同的是,Query TooComplex异常表明,仅仅将查询范围缩小(例如,请求一周内的事件代替一个月的事件),是不太可 能让查询成功的 特定的查询语言可指定在特定条件下不允许EPCIS服务用QueryTooCompex异常来拒绝查询 它提供了最低水平的互操作性 8.3.6查询框架(EPCIS查询控制接口 8.3.6.1EPCIS查询控制接口的通用框架 EPCIS查询控制接口提供了一个通用框架,客户端应用程序可通过这个框架查询EPCISs数据 按 口提供了按需查询和常规查询 执行按需查询时,来自客户端的显式请求引出要执行的查询,而且结果 应在响应时返回;执行常规查询时,客户端通过查询注册了兴趣点,之后无需提出进一步的请求就会通 过EPCIS查询回调接口接收到定期返回的结果 这两种模式分别被非正式的称为“提取”(Poll)模式和 “推送”(Push)模式 26
GB/37075一2018 EPCIS查询控制接口定义如图6所示 查询控制接口的实现应实现以下定义的所有方法 EPCISOuecryControllnerfiace subscnbe(queryName:Sting,params:QueryParams,dest:URI,controls:SubscriptionControls,subscriptionlID:Stnng unsubscribesubscriptionlD:String pollqueryName:String,purams:QueryParams):QueryResults geQueryName):List/名称列表 geSubscrijptionlD:(queryName:String):Lis字符串列表 getStandardVersion0:string getvendorVersionm():sring extensionpoint 图6EPCIS查询控制接口 发起常规查询,要使用订阅方法预定一个或多个预先定义好的查询 查询结果会定期通过查询回 调接口返回到指定目标地址,直到使用unsubseribe(取消订阅)方法取消订阅为止 发起按需查询是通 过使用提取来执行此前定义好的查询 每次调用的结果将直接返回给调用者 在这两种情况下,如果 查询已参数化,可将参数parameter的具体设置当作参数argumment提供给订阅或提取 应用可提供一个或多个预定义查询 预定义查询可为订阅或提取所用,并在getQueryNames查询 名称列表中返回,不需要客户端提前采取任何动作来定义查询 E:PCIS的1.0版不支持任何客户端定 义新查询的机制,所以预定义查询是仅有可用的查询 实施EPCIS1.0查询接口的应用应提供特定的 预定义查询,参见8.3.8. 应用可允许一个给定的查询和提取一起使用而不和订阅一起使用 一般来说,事件数据的查询可 与提取和订阅一起使用,但主数据查询只能和提取一起使用 事件数据查询可用于调查和订阅,但主数 据查询只能被用于调查 这是因为订阅建立了一个定期调度来多次运行一个查询,每次仅关注上次查 询运行后所记录的新事件 这种机制不能应用于主数据查询,因为主数据被假定为是准静态的,没有与 记录时间相对应的任何内容 这些方法的规定如表1.2所示 无论查询的内容如何,此框架都适用 本标准的后续部分定义了查询的详细内容、提取以及通过查 询回调接口发送给订阅者的结果 这个结构设计有利于扩展,可指定查询的新类型并纳人这个通用 框架 根据发出请求的客户身份验证的授权决定,应用可限制任何方法的行为 例如,应用可限制由get Subs scriptionlID返回的订阅号,还可承认由之前订阅过的相同客户端身份发起的取消订阅 这允许- 个单独的EPCIS服务“分割”供多个不相关联的组分别使用,这些用户的数据应分开存放 如果一个预定义查询定义了命名参数,这些参数值可在后续查询使用提取或订阅时被提供 QueryParams s实例仅仅是一组名称/值对,这里名称对应于查询定义的参数名,并且值是提取专用的指 定值或订阅提交查询订阅的值 如果QueryParams 实例包括一组值为空的名称/值对,则应理解成此 处查询参数已经省略 提取或订阅方法在以下情况时应发出QueryParameterException(查询参数异常): -指定的查询所要求的参数被省略或为空值; 参数所提供的名称与指定查询中定义的任何参数名称不相符; -提供两个拥有相同名称的参数; -违反指定的查询施加的其他任何约束 这些约束可能包括对给定参数允许的值范围的限制 两个或多个参数互斥或应一起提供的要求,等 这个由给定查询施加的特别约束在该查询的 文档中被指定 27
GB/T37075一2018 8.3.6.2订阅控制 通过订阅方法订阅常规查询 对于每一个订阅,订阅控制(Subseriptioncontrols)实例定义了如何 处理这个查询,如图7所示 SbscripionConrols schecdule:OuenSchedule见8.3.6.4 rigger:URI/指定一个服务已知的触发事件 nitialRccordTime:Time见8.3.6.3 reportlEmpty:boolean GB/37075一2018 时区来进行 -对于所有未省略的QuerySehedule字段,如果上面提取的每个时间值与QuerySchedule相应 字段值(按后面定义的)匹配,则时间值与QueryShedule匹配 如果一个从时间值中提取的值与查询计划字段中以逗号分隔的任一元素匹配,那么该值与 Query yySchedule的这个字段相匹配 如果满足以下条件,一个从时间值中提取的值与查询计划字段中的Element相匹配 Element 是一个Number 并且从时间值中提取的值等于该Number;或者 Element 是 Range并且从时间值中提取的值大于或等于Range中的第一个Number 小于或等于Ra ange中的第二个Number EPCIS应用应把QuerySchedule解释为客户端关于什么时候想要执行查询的声明,并且宜付出合 理的努力来坚持该计划 然而,EPCIs应用可根据它自身系统负荷、授权、或任何其他原因的政策,偏 离要求的时间表 如果EPCIs应用在调用Subseribe方法时,知道它不能够在不大范围偏离请求的情 况下遵守指定的QuerySehedule,宜产生SubseriptionControsException订阅控制异常 在任何情况下,如前指定的recordTime的自动处理应以查询运行的实际时间为基础,不管是否和 Querystdhedule严格匹配. QuerySchedule实例中的字段如表I.4所示 8.3.6.5查询结果 查询结果(QueryResults)实例是在调用EPCIS查询控制接口的提取方法时被同步返回的,其格式 如图8所示 查询结果实例还通过EPCIs查询回调接口异步发送给常规查询的订阅者 QueyResults queryName:string subscriptionlD:string resultsBody:OueryResultsBody extensionpoint 图8查询结果实例 查询结果实例的字段定义如表1.5所示 8.3.7错误状态 EPCIS查询控制API通过异常来把错误状态告知客户端 本标准定义的异常见表I.6 表I.6中 的所有异常类型都是普通的EPCISException基本类型的扩展,EPCISException基本类型通过包含 个必需的字符串元素来表明异常原因 表1.7列出了EPCIS查询控制接口的各个方法可能抛出的异常 除了上面枚举的EPCIS查询控制接口方法抛出的异常外,尝试执行常规查询可能会导致Query TooL langeE% n或ImplementationEx xception通过EPCIS查询回调接口发送给订阅者,而不是发送 xception 正常的查询结果 在这种情况下,除了表明异常的原因的字符串外,QueryTooLargeException或Im plementationException还应包含在创建常规查询时订阅调用中指定的查询名称和subseriptionID. 8.3.8EPCIS预定义查询 8.3.8.1EPCIs预定义查询的一般规则 在EPCIs中,不提供客户端可以对数据进行任意查询的查询语言 作为替代,EPCIS的应用应提 29
GB/T37075一2018 供以下预定义查询,客户端可以使用EPCIS查询控制接口的提取方法和订阅方法来调用这些预定义查 询 每个提取或订阅的调用可通过params参数来包含参数 本条定义的每个预定义查询都有大量的 可选参数;通过选择恰当的参数,客户端可以实现各种效果 本条规定了每一个预定义查询的参数和它返回的结果 只要客户端看到的结果是符合本标准的, EPCIS应用就可以自由使用任何内部的表现形式来表示它希望的数据,并且可以使用它选择的任何数 据库或查询技术来实现这些预定义查询 8.3.8.2简单事件查询 8.3.8.2.1简单事件查询的用法 通过将字符串SimpleEventQuery指定为要提取或订阅的queryNanme参数来调用此查询 查询结 果是一个QueryResults的实例,其主体包含一个(可能为空)EPCISEvent实例的列表 除非受到even tType(事件类型)参数的限制,结果列表中的元素可以为任何事件类型;也就是对象事件、聚合事件、交 易事件、转化事件、或是作为EPCISEvent子类的任何扩展事件类型都可以 simpleEventQuery(简单事件查询)应可被提取和订阅调用;也就是说,当SimpleEventgquery(简单 事件查询)被指定为要订阅的queryName(查询名字)的参数时,应用不应产生subseribeNotPermite dException(订阅不允许异常 SimpleEventQuery(简单事件查询)被定义为返回一组匹配查询参数中指定的条件的事件(如下所 示) 当通过EPCIS采集接口获取返回的事件时,每一个被选择要返回的事件应与初始的采集事件相 同,遵守8.3.3的授权条款,包含recordTime字段,以及抽象内部表达方式的任何必要转换 然而,对于 定义为保持无序列表的事件字段,EPCIS应用不需要保留次序 SimpleEventQuery查询的参数如表l.8所示 这些参数都不是必需的(尽管在大多数情况下,查询 将至少包括一个查询参数. 如上所述,如果多个参数被指定,返回事件应满足所有条件才能包含在结果集合中 换句话说,如 果每个参数被当作是一个判定条件,那么所有的这些判定条件就像被AND运算符隐式地连接起来 样 例如,如果给定的提取调用为EQ_bizstep和EQ_disposition参数分别指定了一个值,则事件应匹 配bizstep的一个指定值,并匹配disposition n的一个指定值,才能被包括在结果中 另一方面,对于其值为列表的参数,事件应至少与列表中的 个元素相匹配才能包含在结果集中 换句话说,如果表中的每个元素被看作是一个判定条件的话,那么给定列表的所有这些判定条件就像被 OR操作符隐式分离一样 例如,如果EQ_bizStep参数的值是双元素列表(“bs1”,“bs2”),则如果其 izStep字段包含值bsl或其bizStep字段包含值bs2,则结果集合中会包含该事件 又如,如果EQ_bizStep参数的值是双元素列表(“bsl”,“bs2”)并且EQ_disposition参数是双元素 列表(d1.d2),那么结果是包括满足以下表达式的事件 [(bizStep=“bs1”ORbizStep=“bs2”) AND(disposition=“d1”ORdispositionm “d2”) 8.3.8.2.2处理匹配型(MATCH)的查询参数 对于MATCH_epe,MATCH_parentID,MATCH_inputEPC,MATCH_outputEPC与MATCH anyEPC的参数列表应按以下方法处理 参数表中每个元素可以是一个TDS1.9中定义的“单纯标识” 模式,或其他任意URI 如果该元素是“单纯标识”模式,那么它与事件字段值按照在TDS1.9第8章中 规定的标识模式匹配步骤进行匹配 如果这个元素是其他任意URI,则通过测试字符串的等同性来进 行与事件字段值的匹配 对于MATCH_epcClass,MATCH_inputEPcClass,MATCH_output utEPCClassMATCH_out 30
GB/T37075一2018 9 数据定义模块的XMIL绑定 g.1可扩展机制 本章使用w3CXML架构语言XsD1和XSD2,定义了一个核心事件类型数据定义模块的标准 XML绑定 以下架构符合Gs1标准架构设计规则 根据设计规则xMLDR的强制要求,此架构引人了EPC global标准基础架构 本章中的xML架构使用XMLVersionng中描述的方法,实现了第6章中给出的UMI的扩展点 (extensionpoint) 这个方法可用于厂商和用户扩展,还可用于GS1在本标准的后续版本或者补充版 本中扩展 通过这个机制引人的扩展是向后兼容的,也就是,符合架构旧版本的文档也将符合标准架构 的新版本以及符合包含厂商特定扩展的架构 扩展也将是向前兼容的,也就是,包含厂商/用户扩展或 符合标准架构新版本的文档将也符合架构的旧版本 当一个文件包含多种扩展(厂商/用户特定的或者新版本架构中标准化的)时,它可以符合多个架 构 例如,一个包含GS1的1.0版架构的厂商扩展的文件将同时符合GS1的1.0版架构以及包含厂商 扩展的厂商特定架构 在本例中,当使用标准架构解析文件时,将不对扩展元素和属性进行验证,但当 使用厂商特定架构解析文件时,将对扩展进行验证 类似地,一个包含由GS1的1.1版架构引人的新特 性的文件,将同时符合GS1的1.0版架构以及GS1的1.1版架构,但将只使用1.1版架构验证新特性 XML.Versioning中给出了这种可扩展模式的设计规则 概括起来,它包括以下规则 这个声明用于在标准架构的 每一个有扩展点出现的类型,包括一个xsd:anyAttribute声明 后续版本或在厂商/用户特定架构中增加新的XMI属性 每一个有扩展点出现的类型,包括一个名为extension的可选的(minOceurs=0)元素 对此 extension元素的声明的类型如下所示 xsd:sequence "1" xsd:anyprocessContents="lax”minOccurs一 maxOccurs="unbounded" namespace="井井local") /xsd;sequence processContents="lax") xsd.anyAttribute 本声明提供了对引人到标准架构的后续版本中的新元素的向前兼容 每一个有((e extensionpoint)>出现的类型,在元素列表结尾包括一个声明 xsd;anyprocessContents="lax”minOeccurs="o" mmaxOccurs="unbounded" namespace="井#other"/) 本声明为厂商/用户特定架构中引人的新元素提供向前兼容 为攀构添加厂商/用户特定扩展的规则如下 厂商/用户特定属性可能被添加到有((extensionpoint)>出现的任何类型 厂商/用户特定属 性不应在EPCglobalEPCIS命名空间(urm:epeglobal:epcis;xsd:1)中,也不应在空命名空间 中 厂商/用户特定属性应在特殊的命名空间中,其命名空间URI含有拥有所有权的厂商 在架构用法中,这意味着所有厂商/用户特定属性应以qualfied作为形式.)例如,命名空间 URI也许是一个HTTPURL,其所有权部分是厂商/用户所拥有的域名,也许是一个URN. 其具有由IANA分配给厂商/用户的URN命名空间标识符,也许是一个OIDURN,其初始路 径是分配给厂商/用户的私有企业编号,等 厂商/用户特定属性的声明应指定use= -“optiol" 32
GB/37075一2018 厂商/用户特定元素可以被添加到((extensionpoint)>>出现的任何类型中 厂商/用户特定元 素不应在EPCglobalEPCIS命名空间(urn:epcglobal:epcis:xsd:1)中,也不应在空命名空间 中 厂商/用户特定元素应在特殊的命名空间中,其命名空间URI含有拥有所有权的厂商(如 上所述) 在架构用法中,这意味着所有厂商/用户特定元素应以qualified作为形式 为创建包含厂商/用户扩展的架构,用一个引用了厂商/用户命名空间中定义的组的内容组替 代(xsd;anynamespace=“井#other”)声明;例如,〈xsd;groupref= -“vendor.VendorEx 在为厂商/用户命名空间定义元素的架构文件中,使用以下形式的声明定义一个 ”" tension” 内容组: xsd:groupname="VendorExtension") xsd:sequence Definitionsorreferencestovendoreementsgohere.EaehsHALLspeeifyminOccurs 0' 此处填写厂商元素的定义或者引用 每个元索应指定minOccurs= "0" xsd:anyprocessContents="lax" minOccurs="0”max(Occurs="unbounded" nammespace="井井other"/ /xsd:sequence >)出现的类型中 新元素通过以下规则添加 找到最内层的extension元素类型 把(xsd;anynamespace=”井#local”)声明替换为a)新元素(其不应在任何命名空间 中,即,应在空命名空间中);之后b)一个新extension元素,其类型按前面所述构建 在 标准架构的后续修正版本中,新标准元素将被添加在这个新extension元素中 注2:新标准属性和元素如上所述不在任何命名空间中的原因是为了与EPCIs架构的属性和元素的默认 ualified形式保持一致 ungu 当把EPCIS1.1的XML架构应用于核心事件(9.5)时,结果如下 -EPCIs1.0中定义的事件类型出现在(EventList)元素中 -EPCIS1.1中定义的事件类型即TransformationEvent)出现在GB/T37075一2018 对于EPCIs1.1中定义的事件类型,当整个事件类型是EPCIS1.1中新定义的,该事件类型中 没有(extension)元素 如果额外的字段被添加到EPCS的后续版本中,它们将出现在EPCIS 1.0字段后的(extension)元素中 厂商/用户事件级别的扩展总是正好出现在事件结束标签之前即,在任何标准字段和任何 extension)元素之后),并且总是在一个非空的XML.命名空间中 在任何情况下,厂商/用户 扩展都不应出现在(extension)元素中;(extension)元素是为EPCIS标准自身定义的字段预 留的 具体见附录」中J.2的示例 9.2标准业务文档标题 核心事件类型数据定义模块的XMl绑定包括一个可选的EPCISHeader元素,它可以被行业组用 于合并行业处理业务中所需的附加信息 核心架构包括[SBDH]中定义的“标准业务文档标题” SBDH)作为EPCISHeader元素的需求组件 除了SBDH,行业组也可以要求一些EPCISHeader元素 中其他类型的标题 标准业务文档标题的XSD架构可以从UN/CEFACT网站获得;参见[SBDH] 此架构合并到此 处作为参考 当包含标准业务文档标题时,下面定义的SBDH架构元素应使用表17定义的各值 表17当包含标准业务文档标题时sBDH架构元素字段的值 值 SBDH字段XPath HeaderVersion 1.0 Documentldentification/Standard EPCglobal Doeumentldentifieation/TypeVersion 1.0 Documentldentifieation/Type 见表18 Documentldentifieation/Type的值应依据下表设置,表18根据EPCIS文档的类型和使用的场景 指定此字段的值 表18Deumentldentifieation/Iype的取值情形 文档类型和场景 cumentldentification/Type的值 Docur E:P(CISDocument,用于所有场景 Events MasterData EPCISMasterData,用于所有场景 EPCIsQueryDoeument,用于l1.3中绑定的请求部分 QueryControlRequest EPCISQueryDoeument,用于l1.3中绑定的响应部分 QueryControl-Response EPCISQueryDocument,用于查询回调接口的任何XML QueryCallback 绑定(ll.5.3~ll1.5.5 EPCIsQueryDoeument .用于其他场景 Query l1.3的查询控制接口的AS92绑定也指定了附加的标准业务文档标题字段,其应作为查询控制接口 响应消息存在于EPCIsQueryDocument实例中 具体见11.3 除了上述字段外,标准业务文档标题应包括SBDH架构所必选的所有其他字段,可包括附加的SBDH 34
GB/T37075一2018 表20主数据的附加架构 命名空间 位置引用 来源 urn;epcglobal;xsd;l EPCglobal.xsd 参见9.3 StandardBusinessDocun cuentHeader.UN/CEFACT网站;参 http: www,uneceorg/cefact/naespaces/Stadard- BusinessDocumentHeader xsd 见9,2 urn;epcglobal;:epeis;xsd:l EPCglobal-epcis-1_0.xsd 参见9.5 除了架构约束之外,实例文档中的xsd,dateTime类型的值应包含一个时区指示符 代表U 的“Z”或UTC的精确偏移量) 对于任何指定了xsd;anyURI,xsd:string类型的minOours=“0”xML元素,EPCIS实现应按照 元素整体被省略的方式来处理含有空字符串值的实例 主数据的XM架构(xsD)见J.3,示例参见K.2. 10核心采集操作模块的绑定 0.1核心采集操作模块的绑定综述 本章定义了核心采集操作模块的绑定 此处定义的所有绑定都是基于9.5中定义的事件的XML 表示 如下文所述,EPCIs实现可提供对一个或多个核心采集操作模块绑定的支持 10.2消息队列绑定 本条定义了一个核心采集操作模块的消息队列系统的绑定,通常应用于大型企业内 本条把消息 队列系统定义为任意允许一个应用向另一个应用发送XML消息的系统 消息队列系统通常支持点对 点消息传递和发布/订阅消息传递 消息队列系统经常包括可靠传输保证和其他质量服务保证(QoS) 的特性 因为没有国际通用的行业标准的消息队列系统,本标准被设计成应用于所有这样的系统 因此,许 多实施细节必然落人本标准的范围之外 这些细节包括使用的消息队列系统、寻址、协议、QoS的使用 或其他系统特殊参数,等 EPCIS实现可通过以下方式提供核心采集操作模块消息队列绑定 为实现此绑定,“采集客户端” 是一个EPCIS采集应用,其通过EPCIS采集接口来传递EPCIS事件,“采集服务端”是一个EPCIS数 据库或EPCIS访问应用,其接收来自采集客户端的事件 采集服务端应提供一个或多个消息队列端点,通过它采集客户端可以传递一个或多个EPCIS事 件 每个消息队列端点可以是一个点到点队列、一个发布/订阅主题、或是其他一些合适的由消息队列 系统提供的可寻址渠道;具体细节不在本标准讨论范围之内 采集客户端应通过向由采集服务器提供的端点传递消息来执行8.2.3中定义的capture操作 消 息应是下列的一种: -个XML文档,其根元素遵循9.5的架构中定义的EPCSDocument元素;或 个XML 文档,其根元素遵循11.2的架构中定义的EPCIsQueryDoeument元素,且 QueryResults元素直接嵌套在EPCISBody元素中,且QueryResults元素中的resultBody元 素包含一个EventList元素 采集接口的实现应接受EPCISDoeument格式并宜接受EPCIsQueryDoeument格式 采集接口的 实现不应接受如上述定义的无效的文档 服务端成功接受消息应构成消息所包含的所有EP(CIS事件 36
GB/37075一2018 的采集 各个消息队列系统在向消息发送方提供肯定应答和否定应答的能力方面有所不同 当消息队列系 统提供肯定应答时,肯定应答可用于指示采集服务端成功采集 当消息队列系统提供否定应答时,否定 应答可用于指示未成功完成采集操作 未成功完成采集操作可能归因于一个无效的文档,一个如8.2.2 中所述的鉴权失败,或其他原因 肯定应答或否定应答所指示的具体情况取决于具体实现 然而,所有 实现应要么接受消息中的所有事件要么拒绝所有事件 10.3HTTP绑定 本条定义了核心采集操作模块的HTTP绑定,其中,HTTP应符合RFC261G的要求 Frs实现可通过以下方式提供核心采集操作模块的HrIP绵定 为实现此绵定,"采集客户海" 是一个EPCIs采集应用,其通过EPCIs采集接口来传递EPCIS事件,“采集服务端”是一个EPCIS数 据库或EPCIS访问应用,其接收来自采集客户端的事件 采集服务端应提供一个HTTPURL以供采集客户端传递一个或多个EPCIS事件 采集客户端应通过在采集服务端提供的URL上调用HTTPP(sT操作来执行8.2.3中定义的 apture操作 有效载荷消息应是下列的一种 个XMI文档,其根元素遵循9.5的架构中定义的EPCISDoeument元素;或 -个XML文档,其根元素遵循11.2的架构中定义的EPCIsQueryDocument元素,且 QueryResults元素直接嵌套在EPCISBody元素中,且QueryResults元素中的resultBody元 素包含一个EventList元素 采集接口的实现应接受EPCISDoeument格式并宜接受EPCIsQueryDocument格式 采集接口的 实现不应接受如上述定义的无效的文档 服务端成功接受消息应构成消息所包含的所有EPCIS事件 的采集 采集服务端返回的状态码应遵循RFC2616中第10章要求 特别的是,采集服务端应返回状态码 200以指示成功完成了采集操作,任何3xx、4xx或5xx的状态码应指示采集操作未成功完成 核心查询操作模块的绑定 11.1核心查询操作模块的所有绑定 本章定义了核心查询操作模块的绑定,如表21所示 表21核心查询操作模块的绑定 接口 绑定 本标准中的章节 S(OAPoverHTTPwSDL) 11.3 查询控制接口 XMLoverAS2 11.4 XML.overHTTP 1l.5.3 查询回调接口 XML.overHTTP+TISHTTPS) ll.5.4 XMl.overAS2 ll.5.5 所有这些绑定都要遵循在11.2中定义的XML语法 XML架构含有以下成分 8.3.6中所定义的查询控制接口中每个方法的变量和返回的XML元素; 变量和返回中所使用的每个数据类型的XML类型 8.3.7中定义的每个异常的XML.元素 37
GB/T37075一2018 -8.3.9中定义的查询回调接口的XML元素(实际只是前三项的子集); 个E:PCIsQueryDoeument元素,其被绑定用作一个“封装”,该绑定的底层技术未提供自身 封装或标头机制(具体地说,是除了sOAP绑定之外的所有绑定) A2绑定用它来提供一个 标头以匹配请求和响应 EPCIsQueryDoeument元素共享9.5中定义的EPCISHeader类型 如果适用,每个绑定指定自身使用这个标头的规则 11.2核心查询操作模块的XM架构 下面的架构定义了核心查询操作模块中EPCIS查询控制接口和EPCIS查询回调接口所使用的数 据类型、请求、响应和异常的XYML表示 通过引用,此架构被并人本章剩余部分中指定的这两种接口 的绑定 此架构应被以XML作为底层消息格式的核心查询操作模块中的任意接口的任意新绑定所 使用 下面架构中定义的QueryParam类型用来表示查询参数,此参数由8.3.6中定义的查询接口的poll 提取和subseribe订阅方法所使用 查询参数包含名称和值 XML架构指定值为xsd;anyType,因此 任何类型的参数值都可以被表示 当创建文档实例时,实际值应符合查询参数的适当的类型,如表22 定义 表22查询参数的要求 value元素的XMl类型 参数类型 Int xsdinteger Float xsd:double Time xsd:dateTime String xsd:string ListofString epeisq;:ArrayOfString Void epcisq:VoidHolder 特别地,表22应用以将8.3.8中的预定义查询参数类型映射为相应的XML类型 实例文档中每个指定了查询参数值的元素可包含XSD1中所指定的一个xsi;type属性 下列规则指明如何处理查询参数值 当(value)元素未包括xsi:type属性时,如果指定值不是查询参数必选类型的有效语法,查询 控制接口的subscriber订阅或poll提取方法将返回一个QueryParanmeterExceptio 当(value)元素包括 xsi:type属性时,以下规则适用: 如果(value)元素体不是xsi;type属性指定类型的有效语法,EPCIsQueryDocument或 sOAP请求可被EPCIS实现的XMI解析工具拒绝 如果 e 属性的值不是上表第二列中指定的查询参数的正确类型,查询控制接口的 Xsl:type subseriber订阅或poll提取方法将返回一个QueryParameterException,即使(value>元素 体是查询参数必选类型的有效语法 如果(value)元素体不是查询参数必选类型的有效语法,查询控制接口的subscriber或pol 方法应返回一个QueryParameterExeeption,除非依照上述规则,EPCIsQueryDocument 或sOAP请求被EPCIS实现的XMI解析工具拒绝 此架构引人了表23所示的附加架构 38
GB/37075一2018 表23核心查询操作模块的附加架构 命名空间 位置引用 来源 urn:epeglobal:xsd:l EPCglobal,.xsd 9,3 http;//www unece org/cefact/namespaces/Standard StandardBusinessl ssDocumentHeader UNCEFACT网站;9.2 BusinessDoeumentHeader SO urn:epeglobal:epcis;xsd1 EPCglobalepcis-1_0.xsd 9.5 urn:epcglobal:epeis-masterdata;xsd:1 EPgobalepeis-masterdata=1_0.xsdl9.6 除了架构约束之外,实例文档中的xsd;dateTime类型的值应包含一个时区指示符 代表UTC 的“Z”或UTC的精确偏移量. anyURI.、 对于任何指定了xsd: xsd;string类型的ninOeeurs=“0”XMI元素,EPCIS实现应按照 元素整体被省略的方式来处理含有空字符串值的实例 核心查询操作模块的XMI架构(XsD)见附录L中Ll 1.3查询控制接口的sOAP/IHTP绑定 EPCIS实现可提供一个EPCIS查询控制接口的sOAP/HTTP绑定;如果提供了sOAP/HTTP 绑定,它应符合L.2的wSDL 此sOAP/HTTP绑定遵循WS-I基本概要1.0版 此绑定建立在11.2 中定义的架构之上 如果一个提供了sOAP绑定的EPCIS实现接收到一个输人,根据下列wSDL判断输人语法无效, reprion异常,或者 则EPCIS实现应以下列两种方式之一来示意:EPCIS实现可返回一个ValidationExe 它可返回一个由所使用的sOAP处理器提供的更通用的异常 11.4查询控制接口的AS2绑定 本条定义了EP(CIS查询控制接口的AS2绑定,其中AS2应符合RFC4130的要求 EPCIS实现可 提供EPCIS查询控制接口的AS2绑定;如果提供了AS2绑定,它应符合本条的规定 对于这种绑定, “查询客户端”是一个EPCIs访问应用,用以发起如8.3.6所定义的EPCIs查询操作,“查询服务端”是 个EPCIS数据库或其他系统,用以执行查询客户端的这些操作 查询服务端应提供一个HTTPURL,并通过它接收来自查询客户端的消息,依据RFC4130 从查 询客户端发送到查询服务端的消息应是一个XML文档,其根元素符合11.2中架构定义的EP CISQueryDocument 元素 直接嵌套在EPCISBody元素中的元素应是与EPCIS查询控制接口方法请 求对应的元素之一例如,Subseribe订阅,Unsubseribe取消订阅,poll提取等中的一个) 表24列出了 允许的元素 如果来自客户端的消息不符合以上要求,查询服务端应返回一个ValidationExG xception 即,返回一个EPCIsQueryDocement t实例,其中直接嵌人在EPCISBody中的元素是ValidationEx Kcep tion 查询客户端应提供一个HTTPURL以供查询服务端用来传递响应消息 这个URL.是典型的非 对称交换,作为建立贸易伙伴双边协议的一部分,参见RFC4130中5.1 查询客户端和服务端应遵守要求,并且宜遵守GS1技术文档EDIINTAs1和AS2传输通讯指南 中所列的建议 具体参见附录M 作为参考,将在下面再次介绍上述文档的相关部分 查询客户端应包含EPCISHeader元素中的标准业务文档标头 查询客户端应在标准业务文档标 头中包含唯一标识符,作为Ins stanc celdentifier元素的值 查询客户端可在标准业务文档标头中包含由 架构提供的其他元素 相对于所有其他没收到相应的响应消息的消息,查询客户端提供的实例标识符 39
GB/T37075一2018 宜是唯一的 如下所述,实例标识符被复制到响应消息中,以帮助客户端将响应与请求关联起来 根据RFC4130,查询服务端应通过向客户端提供的URL发送消息来响应每一个来自查询客户端 的消息 查询服务端发送的响应消息应是一个XML文档,其根元素遵守11.2的架构中定义的EP CIsQueryDo 元素的格式,直接嵌套在EPCISBody元素中的元素应是根据相应请求所提供的 )ocument 如表24所示元素中的 表24EPCIsQueryDeumemt 的元素 请求元素 允许返回元素 GetQueryNamesResult SecurityException GetQueryNames ValidationException lmplementationException SubscribeResult NoSuchNameException lnvalidURIException DuplicateSubscriptionException OervParameter Exepion Subscribe oComplexException iptionControlsException ibeNotPermittedException ValidationException entationException UnsubscribeResult NoSuehSubscriptionException Unsubseribe curityxception ValidationException lmplementationException (GetSubscriptionlDResult NoSuchNameException GetSubscriptionlD SecurItyEXcept1on ValidationException ImplementationException QueryResults QueryParameterException QueryToolargeException QueryTooComplexException Pol NoSuchNameException SecuritvExceptiot ValidationException mplementationException 40
GB/37075一2018 表24(续 请求元索 允许返回元索 GetStandardVersionResultSeeurityException GetStandardVersionm ValidationException ImplementationException GetVendorVersionResultSecurityException GetVendorVersion ValidationException ImplementationException 查询服务端应在EPCISHeader元素中包含标准业务文档标头 查询服务端应在标准业务文档标 头中包含BusinessSeope元素,其包含一个Scope元索,其包含一个Corelationlnformation元素,其含 个RequestDocummentInstanceldentifier元素;后一个元素的值应是来自相应请求的标准业务文档标 头中的Instanceldentifier元素的值 Scope元素中,Type子元索应设置为EPCIsQuery,且Instaneel dentifier元素应设置为EPCIS 查询服务端可在标准业务文档标头中包含由架构提供的其他元素 1.5查询回调接口的绑定 11.5.1查询回调接口绑定的通用要求 本条定义了查询回调接口的绑定 每个绑定包括一个可以用作8.3.6中subscribe订阅方法的dest 参数的UR1的规范 以下各条定义了每个绑定的一致性要求 EPCIS应用程序可支持查询回调接口的绑定 任何绑定不应使用已经被这里指定的绑定使用过 的URI架构 所有目的地URI,无论是否作为本标准一部分被标准化,都应遵守RFCc2396定义的URI通用句 法 为了使用该绑定,查询回调接口的每个绑定可能强加附加限制于URI句法 1.5.2所有基于XM绑定的通用事项 下列事项适用于查询回调接口所有的基于XML的绑定,包括11.5.3、11.5.4和11.5.5中所定义的 绑定 发送到接收方的有效载荷应是一个XML文档,其遵守11.2中定义的架构 特别地是,有效载荷应 是一个EPCIsQueryDocument 实例,根据调用的查询回调接口方法,EPCIsQueryDocument 实例的 EPCISBody元素包含表25所示的三个元素之 表25EPCIsQueryDoeument 实例的EPCISBody元素包含的元素 查询回调接口方法 有效载荷体内容 callbackResults QueryResults callbackQueryTool.argeException QueryToolargeException callbackImplementationException ImplementationExceptionm 所有情况下,有效载荷体元素的queryName和sub.eriptionD字段应分别包含queryName和sub eriptionID值,在创建标准查询的subseribe调用中使用这两个值 1
GB/T37075一2018 11.5.3查询回调接口的HTIP绑定 HTTP绑定通过HTTP协议使用POsT操作提供了XML格式的标准查询结果的传递 EPCIS 实现应为这个绑定提供支持 EPCIS使用的HHTTP目的地URI的语法应按照RFC2616的3.2.2所定义 非正式地,一个 HTTPURI为以下两种形式之 remainder-of-UR http://hostpor/ /remainder-of-URL http://host 其中: -host是主机的DNS名称或P地址,接收方在此地址监听来访的HHTTP连接 port是TCP端口,接收方在此端口监听来访的HTTP连接 端口和前面的冒号可被省略,这 种情况端口应默认为80. aainder-ofURL是HTTPPOST操作将被定向到的URL rema EPCIS实现应通过向URI中指定的接收方发送HTTPPOST请求来传递查询结果,remainder rest-line中(如[RFc2616]中所定义]),且有效载荷是 一个如ll.5.2中定 ofURL被包含在HTTP regu6 义的XML文档 EPCIS实现关于接收方返回的响应码的解释说明不在本标准范围之内;然而,所有EPCIs应用程 序应把响应码2×x(即所有在200~299之间的响应码)解释为正常响应,而不是错误响应 11.5.4查询回调接口的HT'TPS绑定 HTTPS绑定通过HTTP协议使用POs操作提供了XMI格式的标准查询结果的传递 通过 TLs,HHTTPs绑定提供安全保证 EPCIS实现可为这个绑定提供支持 EPCIs使用的HTTPs目的地URI的语法应按照RFc2818的2.4所定义,它和RFCc2616的3.2.2 中定义的语法一致,只是用HTTPsS代替HTTP 非正式地,一个HTTPsURI为以下两种形式之 https://host:port/renmainder-of-URL https://host/remainder-of-URL 其中 host是主机的NS名称或IP地址,接收方在此地址监听来访的HTTP连接 port是TCP端口,接收方在此端口监听来访的HTTP连接 端口和前面的冒号可被省略,这 种情况端口应默认为443 remainder-ofURL是HTTPPOST操作将被定向到的URL EPCIS实现应通过向URI中指定的接收方发送HTTPPOST请求来传递查询结果,remainder Gf-URL被包含在HTTPrequest-line中(如RFC2616中所定义]),且有效载荷是一个如11.5.2中定义 的XML文档 对于HTTPS绑定,应在TLS的基础上应用HTTP,如RFC2818中所定义的 这里的TLS应依 照RFC2246中的定义实现,除非强制加密套件为RFC3268中定义的TLs_RSA_wITH_AESs_128 CBC_SHA并且CompressionMethod.nul EPCIS实现如果愿意的话,可支持额外的加密套件和压缩 算法 EPCIS实现关于接收方返回的响应码的解释说明不在本标准范围之内;然而,所有EPCIs实现应 把响应码2××即所有在200299之间的响应码)解释为正常响应,而不是错误响应 11.5.5查询回调接口的AS2绑定 AS2绑定通过AS2提供了XML格式的标准查询结果的传递 EPCIS实现可为这个绑定提供 42
GB/37075一2018 支持 EPCIS使用的AS2目的地URI的语法应如下所示 as2:remainderof-URI 其中 remainderofURI标识了一个EPCIS服务使用的具体的AS2通信协议,以向订阅者传递信息 -of-URI的语法与具体的发起订阅的EPCIS服务有关,受到“完整的URI应遵守[RFC2396] remainder- 定义的URI语法"这一约束的限制 通常情况下 r-of-URI的值是一个命名特殊AS2通信协议的字符串,协议说明了类似 remainde1 A2消息发送到的HTTPURL使用的安全证书等事项 希望使用As2传递标准查询结果的EPCIS 查询接口的客户端应与EPCIS服务提供方预先设定 remainderof-URI的值 注,通常情况下,为了证书交换和其他作为双边贸易伙伴协议的一部分的带外协商,见RFCc4130的5.1,As2的使 用要求通信各方之间的预先设定 As2URI的remainderf-URI部分本质上就是一个代表此类特殊预先设定 的结果的名称 EPCIS应用程序应依据RFC41l30通过发送AS2消息传递查询结果 AS2消息有效载荷应是 如ll.5.2中所定义的XML文档 EPCIS服务和标准查询结果的接收方都应遵守要求,并且宜遵守GS技术文档EDIINTAS1和 AS2传输通讯指南中所列的建议 作为参考,有关内容已在附录M中介绍 43
GB/T37075一2018 附 录 A 资料性附录) EPCIs与GS1系统体系结构的关系 A.1Gs1标准概述 GS1标准支持最终用户在供应链上互动的信息需求,特别是供应链参与者在业务流程中互动的信 息需求 此类信息的主题是真实世界的实体,这些实体是商业流程中的一部分 真实世界实体包括企 业间交易的事物,如产品、零部件,原材料包装等 其他贸易伙伴相关的现实世界实体包括设备和进行 商业过程的周边贸易所需的材料,如容器,运输机,机械装置;实体对应商业过程实行时的物理位置;法 律实体包括如公司,部门服务组织,业务交易和文档及其他事物 真实世界的实体可以是有形的实体 也可以是数字或概念的虚体 物理对象可以是电子消费品、集装箱和生产基地位置实体) 数字对象 可以是电子音乐下载、电子书或电子优惠券 概念实体包括贸易项目类、产品类别和法律实体 根据供应链业务流程中真实世界实体的信息需求不同,G;Sl标准可以分为以下几组 真实世界实体识别标准,这些实体可能是最终用户存储和/或沟通中使用的一个电子信息主 题;(GS1鉴定标准包括定义唯一识别码的标准(称为GS标识关键字) 自动采集数据的标准 这些数据是被物理对象所携带和连接真实世界东西与电子世界信息的 数据 GS1数据采集标准包括条码的定义,能够直接将标示符贴在一个物理对象上的射频识 别数据载体以及给某些硬件和软件统一指定接口的标准 这些硬件和软件分别包括识读器 打印机、其他硬件和连接到商业应用数据载体的软件 信息共享的标淮,在商业伙伴与内部之间共享信息并为电子商务交易物理或电子世界的电子 可见性及其他信息应用提供基础 关于信息共享的Gs1标准包括EPcIS标准 其他有关 “其享”标准是针对于基本数据和业务交易数据的标准、发现标准和信任标准 发现标谁有助 于定位停留在供应链中相关数据位置;信任标准有助于建立足够安全的数据共享的条件 EPCIS标准融人“分享”组,提供可见性事件数据的数据标准、从数据采集基础设施(采用来自“采 集”组的标准)获取这样信息的接口标准以及商业应用和贸易伙伴共享信息的标准 A.2EPCIs与“采集”层和“共享”层的关系 图A.1显示了EPCIS在“采集”和“共享”组里与其他Gs1标准里的关系 (因为这个结构所有层 都有标准“识别”组数据,所以没有明确指出. 如图A.2所示,EPCIS采集接口作为连接“采集”与“共享”标准的桥梁存在 EPCIS查询接口为内 部应用程序和贸易伙伴间共享提供可见性事件数据 数据应用程序的核心是数据采集工作流,这个采集工作流是管理数据采集的业务流程步骤 这是 典型的针对特定应用程序的自定义逻辑 图中数据采集工作流下面是工作流与条码,RFID标签等 GS数据载体之间的" 图中绿条表示GS1标准可以用作数据载体的接口 图的上部是数据 换用道 数 采集工作流程与企业级应用程序之间的接口 尽管采用GS数据作为构建模块,但这些接口都是应用 程序或企业指定的;而EPCIS接口是一个GS1标准 注意,图中上部包括EPCIS在内的接口独立于图 中底部使用的数据载体而存在 接口用于多层数据采集构架的目的是对不同抽象层进行隔离 从企业应用(即图中最上面的蓝色 框)的角度看,整个数据采集应用程序屏蔽了数据采集过程的细节部分 通过应用层接口(最上面绿条 44
GB/37075一2018 部分),企业应用程序与数据采集工作流程之间是通过特定的数据进行交互,这些特定的数据独立于数 据载体,并且所有的数据采集组件之间的交互已经整合到数据 在较低层,数据采集工作流程知道接口 是否与条码扫描器、RFID识读器或人为输人进行交互 但是,传输接口(中间绿色条)屏蔽了来自底层 硬件数据采集工作流程的细节 最底层接口(底部绿色条)反映了那些内部数据载体的细节部分 一般 来说,EPCIS和“共享”层元素与采集层元素在以下三个关键方面是不同的 EPCIS主要处理历史数据(除当前数据外);而采集层只处理实时采集的数据 的 cCOM(GS1XM/EANCOMM)接口 GDSN接口 EPCIS查询接口 实时“推 EPCIS访问应用 EPCIS存储 送"的可能 和其他企业级 库 “旁路 的应用 共享 EPCIs采集按口 各种特定的应用程序接口 数据采集 应用程序 数据采集工作流程 人机接口 ALE接口 过法器 采集器 复合 元素 LLRP按口 字符串 接口 RFID识读器 系统组" RFID空中接口 条码码制 RFID标签 条码 27 图A.1EPCISs与“采集”层和“共享”层的关系 b EPCISs不仅处理条码、RFID标签数据载体上的原始数据,而且在上下级中传输那些有意义的 观测值,这些观测值与物理或数字世界相关以及与业务流程操作与分析方面的特定步骤相关 采集层更纯粹地关注观测 一个EPCIS事件含有许多相同的“标识”数据,这些数据可能来自 45
GB/T37075一2018 过滤与收集事件或条码扫描,在语义上属于更高层次 因为它包含了获得的标识数据在业务 内容上的理解 此外,EPCIS事件不必直接与特定的物理数据载体观测相关 例如,EPCIsS 事件可能表明易腐品贸易项目刚过它的保质期;类似事件可以单独由软件来完成 EPCIS运作的企业IT环境比存在于采集层的环境水平更加多元化,用途也更广 这里的系 统是独立的,而且其存在的用途就是为了服务于单一业务 一方面,最重要的是,这是在企业 间共享EPCIs数据的原因,这些企业对于类似任务很可能采用不同的解决方案 另一方面也 是由于EPCIS数据具有持久性 最后,由于EPCIS处于整体架构的最高水平,因此,其他企 业系统的人口在不同企业(或同一企业的不同部门)之间差别很大 GDsN全球存储库 发现服务(ONS等 发现服务接口 GDSN接口 Gs1网络服务 贸易伙伴2 贸易伙伴1 EPCIS查询流量-按需查询和常规查询 coM(GS1XIML/EANcOM接口 GDSN接口和数据池 EPCIS查询接口 EPCIS查询接口 (控制和回调) 控制和回调) EPCIs访问应用程序和 EPCIs访问应用程序和 EPCIS存 EPCIS存 其他企业级的应用程序 储库 其他企业级应用程序 储库 EPCIs采集接口 EPCIS采集接口 特定应用程序按口 特定应用程序接口 数据采集基础设施 数据采集基础没施 图A.2贸易伙伴间的数据流程 46
GB/37075一2018 A.3EPCIs与贸易伙伴的关系 “共享”层的G;Sl标准适合最终用户间共享的数据有三类,见表A.1 表A.1Gs1可共享的三类数据 GS1标准 数据 描述 由一个或多个贸易伙伴共享的数据 通过Gs1标识关键字识别真实世界 GDSN 主数据 实体的描述性属性,包括贸易项目、 组织和物理位置 商业流程中触发或确认功能执行的 贸易往来,例如商业流程的开始(产 品订单)到结束(最终结算)的明确的 GSle(COMXML 交易数据 商业协议(如;一份供应链合同)或者 EANCOM 隐含的商业协议如;海关流程)定义 的那样 交易往来也使用用GS1标 识关键字 有形产品和其他资产在供应链中的 物理或电子细节由GS1标识关键字 可见性事件数据 来标识,详细描述这些物品是否被及EPCIs 时传递及其原因 这些数据是跨域 的而不仅是在一个组织内部传逊 交易数据和可见性事件数据有这样的特征;即使没有新的真实世界实体被创建的情况下,只要业务 交易在稳定的供应链中进行,这类新数据就会不断被创造 相反,主数据更加静态化;主数据对于一个 给定实体的变化非常缓慢(如果有的话),而且主数据的数量只随着新实体的增加而增加,与现有的实体 参与业务流程无关 例如;已知贸易项目单品通过供应链运行时,随着项目单品发生业务交易(如采购 与销售)和经历实际处理过程(包装、分拣、储存等),新的交易数据和可见性事件数据就会生成 但是 只有当一个新的贸易项目或位置被添加到供应链中时,新的主数据才会建立 图A.2阐述了贸易伙伴间的数据流程,强调EPCIS标准关于可见性事件数据流的部分 A.4EPCIS与其他GS1系统架构组件的关系 下面简要介绍一下Gs1系统架构中各部分的作用,如图A.1所示;进一步信息可以参阅“TheGs1 SystemArchitecture”与“EPCglobalArchiteectureFramework” 图A.1与引用的大部分内容来自于 “TheGS1SystemArchiteeture”;以下大部分引用的内容来自于“EPCglobalArchiteetureFrame- work” RFID与条码的识读器:RFID标签在RFID识读器的读取范围内时将被观测到,当条码识读 器被触发时将观测到条码 底层[RFID]识读器协议接口;定义控制权以及原始RFID标签从RFID识读器向过滤收集组 件的传送 事件在这个接口表明“识读器A在T时刻看见EPCX” 47
GB/T37075一2018 过滤与收集;这一功能用于过滤和收集原始RFID标签的读取EPCIS采集应用程序定义的事 件规定的时间间隔来分离这些标签 条码读取通常不存在比较作用,因为当条码识读器被触 发时只能读取单一条码 过滤与收集接口;定义数据部或工作流程中过滤和收集RFID标签读取数据的控制与传送 事件在这个接口表示“以下EPC在逻辑识读器L的时间段T1和T2之间被观测”,这里EPC 的列表没有重复并且由EPCIS采集应用程序定义的标准已经被过滤 条码对于条码,比较数 据被以GS1元素字符串的形式从识读器直接传送到数据采集工作流程 -数据采集工作流程 监管低层架构元素的运作,并且通过协调执行业务流程特定步骤的信息 资源提供商业环境 例如,数据采集工作流程可以协调具有过滤和收集事件的传送系统与条 码阅读,可以检测异常情况并采取相应措施(如将损坏对象转移到返工区),可以呈现信息给操 作人员等 数据采集工作流程了解业务流程步骤或EPCIS事件数据采集发生时的步骤 这 种作用可能很复杂,涉及多个过滤和收集事件与(或) 业务事件的条码读取的联合,如货物 装载 或者是直接存在于库存业务流程中,那里的识读器对目标进人或离开货架时将会生成 记录 这里的过滤和收集层事件或条码读取以及EPCIS级事件也许很相似,它们在数据采集 工作流层面对实际处理几乎没有什么要求 并且数据采集工作流程仅仅是从EPCIS采集接 口到PcIS功能的数据库或业务应用程序的过滤和采集接口和(或)条码识读器直接配置和 数据采集工作流程的主要输出是由标准内“EPcIS采集应用程序”的EPCIs事件 路由事件 组成 EPCIs接口;将EPCIS数据传送到企业级作用的接口包括EPCIS数据库、EPCIs访问应用程 序以及合作伙伴间的数据交换 例如,事件在接口上表示“在x位置,T时刻,以下包含的核 实对象汇总到以下包含对象(托盘)中” 这里实际上有3个EPCIs接口 PCIS采集接口定 义了从EPCIs采集应用程序到其他实时消费数据角色的EPCIs事件传送,其中包括EPCIs 数据库,并实时“推送”到EPCIs访问应用程序和贸易伙伴方 EPCIS查询控制接口定义了 EPCIS访问应用程序和贸易伙伴采集动作之后与EPCIs数据库交互得到EPCIs数据的一种 方式 EPCIS查询控制接口提供了两种交互模式 在“按需”或“同步”模式中,客户端通过 EPCIS查询控制接口发出请求之后立即收到响应 在“现有请求”或“异步”模式下,客户端建 立一个定期查询订阅 执行每次定期查询时,其结果是通过查询EPCIS回传接口的接收者进 行异步传送(或“推送”) EPCIS查询回调接口也可用于立即传送采集到的信息;这对应于图 中的箭头的“用于实时推送的可能旁路” 所有三个EPCIS接口都在本文件中统一进行规范 性规定 EPCIS访问应用程序;通过EPC相关数据负责整个企业的业务流程,如仓库管理,运输和接 收,历史吞吐量分析等 EPCIS功能数据库记录;记录由一个或多个EPCIS采集应用程序生成的EPCIS级事件便于 以后通过EPCIS访问应用程序进行查询 合作伙伴应用程序;贸易伙伴合作系统通过外部应诉方网络与EPCIS访问应用程序有同样作 用 贸易伙伴应用程序可以获得授权访问来自EPCIS采集应用程序或EPCIS数据库里的一 个信息子集 这个堆栈里的接口被设计用于从较低层不必要的细节中分离出更高层的架构 要理解这样的 方式就要考虑某种改变发生时是否引起其他变化 底层RFID识读器协议(LLRP)和GS1元素字符串从正在使用的射频协议或条码符号以及选 择的识读器模式隔离出较高层 即使使用不同的识读器,通过这些接口发送的信息仍然是相 同的 使用RFID技术时,过滤和收集接口隔离较高物理层的设计选择与对RFID标签的感应和累 48
GB/37075一2018 积的方式,以及事件的时间边界是何触发有关 如果是有4根天线的RFID识读器被一个拥 有5根天线的“智能天线”识读器代替,则在过滤和收集层的事件仍然是相同的 同样,如果一 个不同的触发机制是用来指示阅读积累的时间间隔的开始与结束,则过滤和收集事件仍然是 相同的 -EPCIs使企业应用程序与执行业务流程的每一步骤在细节层面的详细理解相分离 例如通 常一个典型的EPCIs事件是“在X位置,T时刻,下列单品被证实处于下列托盘上” 基于传 输机的业务实现可能对应于一个单一过滤和收集事件,在一个时间段内,在通过电子眼环境 下,安装在传输机上的识读器被触发时不断累积读取标签 但是另外一种实现可能涉及三个 强壮的人在走动中使用手持识读器读取标签 在过滤与收集层,这看起来完全不同(手持识读 器的每次触发都可能是一个不同的过滤和收集事件),并且通过EPCIS采集应用所做的处理 是完全不同的(可能用到进行验证的交互式控制平台) 但EPCIS事件对于所有实施方式仍 然是相同的 总之,EPCIS层数据不同于在Gs1系统架构通过加人关于业务流程收集语义信息与提供历史观察 的数据 这样做,EPCIS使得消耗这类信息的应用程序与详细执行给定业务流程步骤的底层细节进行 隔离 49
GB/T37075一2018 附 录 B 资料性附录) EPCIS标准的制定原则和模块化特点 B.1EPCIS标准的制定原则 在GS1系统架构中,EPCIs层面的标准比在GS1系统架构的采集层的标准需要考虑的更复杂 EPCIS历史数据性质意味着EPCIS接口比ALE或RFID与识读器接口需要一组更丰富的接人技术 融合运作或业务流程内容的EPCIS意味着,在丰富的数据类型集里,EPCIS数据流量为了适应在世界 上各种各样的业务流程需要更开放的可扩展性 最终,EPCIS运行环境的多样化意味着在操作细节完 全不同的外部系统之间使用EPCIS时,EPCIS标准被仔细的分层,他们的数据抽象结构层和数据定义 层之间有一致性和互操作能力 针对这些要求,采用一个框架规范和若干更详细的细分规范来描述EPCIS 其中,框架设计如下 分层结构;特别指出,抽象意义上的数据结构与含义独立于数据访问服务和绑定到特定接口协 议的具体细节另行规定 随着时间推移,具体的细节和跨企业的变化保留了数据本身的一个 共同意义 它除了可以使用标准中面向服务的方法外还允许重复使用EPCIS数据规范方法 例如,数据定义可以在ED框架中重复使用 可扩展;核心规范提供了一组核心的数据类型和操作,而且凭借核心集提供了几种可以扩展到 某一行业或领域的具体应用的方法 扩展提供的不仅是一种利用尽可能多的标准框架内的方 法去解决专有需求,而且随着时间的推移为标准的演进与发展提供了一个自然的路径 -模块化;分层与扩展机制允许不同文档中规定的完整EPCIS架构的不同部分,同时促进整个 框架的连贯性 这使得标准化的进程(以及执行)可被衡量 本标准的第5章规定了EPCIS框架 本标准还用一套核心的数据类型和数据接口填充了整个框 架 EPCIS的配套标准,GS1核心业务词汇(CBV),提供了比EPCIS标准更上层的附加数据定义 B.2 EPCIS标准的模块化特点 EPCIS标准的框架设计是模块化的 也就是说,它不是由单一规范组成,而是相互关联的单独规 范的集合 这允许EPCIs以分布式的方式去增长和发展 分层结构和扩展机制为实现模块化提供了 基本要素,分组形成模块也是如此. 虽然EPCIs标准是模块化的,但是没有要求EPCIs实现标准的模块化边界是可见或明确的 例 如,有可能是一款能提供以sOAP/HTTP为基础的应用型的特定产品 这种应用实现了包装箱与托 盘关联服务,还实现了在相关数据定义模块中定义的数据流量的产品分类服务 这款产品可能符合 EPcIS标准里多达六个的不同模块;描述产品目录数据的数据定义模块,定义从托盘到货盘的关联的 数据定义模块,相关服务接口规范,以及相应的sOAP/HTTP的绑定 但是产品源代码可能没有这些 界限的痕迹,并且实际上该产品使用的具体数据库架构可能对数据没有规范化 因此,这样的产品分类 与包装箱与托盘的关联数据密不可分 但只要最终结果符合本标准,那么这种实现就是允许的 50
GB/37075一2018 录 附 C 资料性附录 抽象数据模型层的补充说明 C.1事件数据和主数据的补充说明 本标准的抽象数据模型层不定义术语“事件数据”或“主数据”的含义,而是提出本标准使用的数据 结构的准确定义 将真实世界的业务信息模型化为事件数据和主数据,是数据定义层的责任,也是建立 在本标准之上的行业和最终用户协议的责任 尽管对于本标准而言,术语“事件数据”和“主数据”仅意味“适合本标准提出的结构的数据”,但是抽 象数据模型层中定义的结构旨在为通常需要通过EPCIS进行交换的数据提供适当的表示 事件数据和主数据可以按下面理解 随着业务交易的增加,事件数据在数量方面增长,并及时指出在特定时刻发生的各个情形 事件数 据的一个例子就是“在2004年3月15日的下午1点23分于场所L观测到EPCX ” 主数据通常不会由于更多的业务交易发生而增加(虽然主数据趋向于随着组织规模增长而增长). 主数据也不特别对应于特定时刻(虽然主数据可随着时间缓慢的变化),主数据提供事件数据元素的解 释 主数据的一个例子就是“场所L指的是位于美国某某镇Elm大街123号的配送中心 ObiectEvent 事件类型 Time-1:23pm15Mar2004 EPC=urn.epc:id:sgtin:0614141.100734400 事件字段 bizStep-urn:epcglobal.cbw:bizsep.shipping 事件数据 主数据 BizStepVocabulary 业务步骤词汇 urm..rceiving sampleatmame-samplevalue um.:shipping BizlL.ocationVocabulary业务场所词汇 um.cpc:idsgln:0614I4l.12345.0 addiress=123ElmSt urn:ene:id:sgn:0614141.33254.0 city=Anytowm postaCode=1234S urm.epe:idsgln.0614141.332541 主数据词汇 主数据属性 图C.1EPCIS事件中的事件数据和主数据的示例 51
GB/T37075一2018 在创建本标准时考虑的应用案例集中所有的数据都能以这种事件数据和主数据的组合为模型 EPCIS事件中的事件数据和主数据的结构如图C.1所示 需要注意这仅是一个图示,图中特定的 词汇元素和主数据属性名称在本标准中没有定义 新的EPCIS事件应在EPCIS应用系统的边界上生成,并通过EPCIS采集接口发送到EPCISs基础 设施中,而后可被EPCIS基础设施通过EPCIS查询接口发送给感兴趣的应用 虽然EPCIS采集接口和EPCIS查询接口没有向应用提供明确请求删除事件的方法,但是EPCIs 数据库可实行数据保留策略,使得使用一段时间后的过时EPCIS事件变成不可访问 相反,主数据可随着时间变化,虽然预期这些变化相对于新的事件数据生成速率而言不太频繁 本 标准没有规定主数据如何变化,也没有规定主数据最初如何进人EPCIS系统 c.2词汇的补充说明 C.2.1词汇示例 标准词汇和用户词汇之间的界限稍微有些主观 但是,EPCIS标准中定义的机制使得这两个词汇 类型之间完全没有区别,这样也就不必区分出一个特定的词汇是属于哪种类型了 引人术语“标准词 汇”和“用户词汇”,仅仅是因为它们对于预期一个给定的词汇的定义和扩展的方式是有用的 比如,EPCIs核心数据定义层定义了称之为“业务步骤(businessstep)”的词汇,是一个标准词汇 它的元素就是表示诸如"运输(shipine)”“收货(reeiving)"之类的标识符;贸易伙伴一方可以生成一个 S g)" 带有“运输(ship ”业务步骤的事件,通过查询接收这个事件的另一方贸易伙伴能根据先前协商的 关于“运输”的含义来解释这个事件 又如,EPCIS核心数据定义层定义的称之为“业务场所(businesslocation)”的词汇,是一个用户词 汇,它的词汇元素就是表示诸如“Acme公司3号配送中心”之类东西的标识符 Acme公司可以生成一 个带有业务场所为“Acme公司3号配送中心”的事件,通过查询接收该事件的另一个伙伴要么是因为 将这个事件与其他同样命名该场所的事件相联系来解读这个事件,要么是通过查看与该场所相关联的 基本数据属性来解读这个事件,或者两种方法兼而有之 C.2.2词汇的扩充 标准词汇元素通常由多最终用户组成的组织来定义,这些组织比如GS1,G;S1之外的行业协会,秋 有贸易伙伴团体等 与标准词汇元素关联的主数据由同一个组织来定义,并通常以标准的一部分或者 类似的方法来向用户传递 在给定的标准词汇内引人新的词汇元素,通常通过诸如标准修订或者通过 行业协会投票的方式来实现 但是,独立使用EPCIS系统的单个最终用户组织可引人一个新的标准词 汇元素,这样的元素在数据交换时将被限制使用,或许只宜在组织内部使用 用户词汇元素主要是由独立用作的单个最终用户组织来定义 与用户词汇元索相关联的主数据由 同一个组织来定义,且通常通过EPCIs的查询控制接口或者其他数据交换/数据同步机制来发布给贸 易伙伴 最终用户完全自主决定是否在给定的用户词汇中引人新的词汇元素,贸易伙伴应做好准备来 作出相应的响应 但是,通常构建新用户词汇元素的规则是由多用户组织来建立,而且无论如何都应遵 守6.4中定义的规则 C3扩展EPcIS标准的途径 6.3中列出了五种EPCIS标准的扩展方法 EPCIs大多数扩展,是源于不同行业对标准的应用,或 着是源于给定行业内随着标准应用对标准理解的加深,抽象数据模型层的设计可以保证这些扩展可通 过6.3中罗列的对标准影响相对较小的扩展方法来实现,而不需要修订标准本身 但是,如果对标准影 52
GB/37075一2018 响相对较小的扩展方法不能满足需求,就需要采用罗列的对标准影响相对较大的扩展方法 可以预期将有几种不同的途径来扩展EPCIS标准,见表C.1 表c.1EPCIS标准的扩展途径 扩展方式 扩展途径 负责的组织 新的主数据或 新的事件类型 新的事件域 新的词汇类型 新的词汇元素 者LMD属性 EPCIS标准的(GSlEPCIS工 偶尔 是 是 很少 新版本 作组 是 标准词 CBV标准的新GS1核心业务 否 否 否 偶尔 汇,用户词汇 版本 词汇工作组 模板 针对特定行业 针对特定行业的 是标准 词 很少 偶尔 是 的Gs应用标很少 GSl应用标准 汇 准工作组 在特定地理区 域内GS1成员 是标准 词 GS1成员组织 很少 很少 偶尔 组织针对一个 汇 特定行业的本 地推荐文档 GS1外部的行 私有组织的互 是标准 词 是 很少 偶尔 业工会或私有很少 汇 操作性规范 最终用户组织 通过EPCIS查 询或者其他数 是标准词 单个最终用户 很少 很少 很少 很少 汇 据同步来更新 的主数据 C.4词汇元素URI类型的所有权 可接受为词汇元素的URI类型应是拥有所有权的URI具体如下 符合TDs1.9第7章的用于表示EPC代码的URI 一个特定的EPCURI的所有权属于拥有 相应EPC厂商代码的组织 符合RFc1738的绝对统一资源定位符(UniformResourcelocators,URL) 一个特定URL 的所有权属于拥有URL所有权部分的互联网域名的组织 在oid命名空间中以私有企业号(PrivateEnterpriseNumber,PEN)开头的符合RFC2141的 统一资源名称(UniformResourceNames,URN) OIDURN的所有权属于发布PEN的 组织 在epc或者epcglobal命名空间中不用于表示符合TDSl.9的EPC的URI的符合RFC2141 的统一资源名称(UniformResoureeNames,URN) 这些URN的所有权属于GS1 53
GB/T37075一2018 C.5分级词汇示例 本标准允许创建分级词汇 比如,场所名称的词汇,可以有一个意义为“Acme公司3号零售店”的 元素,还可以有另外两个意为“Acme公司3号零售店仓库”和“Acme公司3号零售店店面”的元素 在 这个例子中,存在着天然的层次关系,第一个标识符是父标识符,后两个标识符是子标识符 其中,意为 “Acme e公司3号配送中心”的元素可以有个子标识符列表,这个列表包括了意为“Acme公司3号配送 中心5号门”的元素 54
GB/37075一2018 附 录 D 规范性附录 UM形式类图表示 D.1使用UML的形式类图表示事件类型和事件字段 本标准中,事件类型和事件字段使用UML的形式类图来表示 UML类图用于此目的时可能有类属性(字段)和关联,但并不包含操作 图D.1是一个例子 Field3 DataClass3 EvenTypel Fied1;Typel Fied4 Field2:Type2 0. DataClass4 EvemtType2 Field5:Typel <> 图D.1UMI类图表示事件类型和事件字段的示例 图D.1包含两种事件类型的数据定义;EventIypel和EventType2 这些事件类型使用4种值类塑,Tyel.Tye2.Dutclas;和Dtaciaes Twl相Tyw2是简单类狠.,Danclhas3相Daaciael是UML中详细说明了的复合类狠 事件类型EventTypel有4个字段 Fieldl和Field2分别由简单类型Typel和Type2组成 EventTypel还有一个Field3字段,Field3 字段是DataClass3类型 EventTypel最后一个字段Fied4有 一个DataClass4类型的实例列表,列表中有0个或多个Data- Class4的实例(“0.关”表示“0个或多个”) 图D.1中同样描述了EventType2的数据定义 空心箭头的指向表示EventIype2是EventTypel 的子类 这就意味着EventType2将有5个字段;4个字段继承自EventTypel,第5个字段Field5是Typel 类型 在UML图中,事件类型的实现应提供(扩展点>,以保证新数据成员增加时的可扩展性 当一种事件类型有扩展点时,定义一个新的事件类型为它的子类,这个子类同样也有扩展点,但并 不意味着第二种类型有两个扩展点,只说明第二种类型也是可以扩展的 这种可扩展的机制应为EPCIs兼容产品的厂商提供私有扩展,也应为GS提供扩展以供当前实 现的新版本或者新的实现使用 55
GB/T37075一2018 对于标准的xML绑定,扩展点是在xMI.schema中按照9.1中的方法来实现的 所有对事件类型的定义都应包括一个扩展点,用来提供6.3提到的扩展性(“新事件字段”),值类型 可以包括扩展点 D.2使用UMI类图表示服务 本标准使用UMl类图符号来定义服务 用于此目的的UML类图可能包含具有操作的接口,但 不包含字段或关联,示例如图D,2所示 < Servicel Operationl(argl1;ArgTypel1,arg12:AgType12):ReurmIypel Operation2(arg21:ArgType21):void Opecration30:RctumType3 图D.2服务层接口UML类图示例 图D.2显示了Servicel的服务定义,这个服务提供3个操作 Operationl有argl1和argl2两个 参数,这两个参数分别有类型ArgTypel1和ArgType12,并返回一个类型值ReturnTypel Operation2有一个变量参数但不返回值 Operation3没有任何变量参数但返回一个类型值Return- Type3 56
GB/37075一2018 录 附 E 规范性附录 数据定义层事件的语义 E.1数据定义层事件的语义含义 每个事件(即一个事件类型的一个实例)都有几个断言,它们共同定义了事件的语义 这些断言中 的一些表明了采集事件时什么为真 其他断言则表明,预期什么在事件发生后会一致为真,直到后续事 件使之无败为止 这些分别称为事件的回顾讲义和预期语义 例如,如果2号零件在晚上12通过 号门进人5号楼,那么这个事件的回顾断言就是“晚上11点23分在6号门观察到23号零件”,而预期 6 语义的断言则是“23号零件在5号楼” 关键的区别在于回顾断言是指过去的特定时间(“23号零件被 观察到”),而预期断言是关于对象(“23号零件在 预期的断言假设,如果23号零件离开 了5号楼,那么另一个EPCIS采集事件将被记录以取代之前的 通常,回顾语义表达的是在采集事件时无可置疑地被认为是真实的事物,EPCIS访问应用程序通 常可以依赖这些事件作为历史事实的准确陈述 预期语义,既然试图在事件发生后说出什么是真的,那 么最多只能被看作是“应该成为什么”而不是“什么”的陈述 预期语义的断言可能会变成不成立,如果 采集设备不能完美运行,或者业务流程或系统架构没有设计为在所有情况下都采集EPCIs事件 此 外,为了利用隐含在事件中的预期语义断言,EPCIS访问应用程序应确保它有权访问任何可能取代所 述事件的后续事件 回顾语义/预期语义二分法对7.3.4中EPCIs位置的定义有重要作用 E.2事件类型四个维度字段的语义释义 每个核心事件类型的子类型都有代表EPCIS事件的四个关键维度的字段 这四个维度分别是: 1)作为事件主体的对象或其他实体;2)日期和时间;3)事件发生的地点;4)业务环境 这四个维度可以 分别方便地记为“什么,何时,何地和为什么”(“what,when,where,andwhy”) “什么”维度取决于事 件类型而变化例如,对于ObjeetEvent,“什么”维度是一个或多个EPC;对于AggregationEvwent,“什 么”维度是父ID和子EPC的列表) “何地”和“为什么”这两个维度既有回顾性方面也有预期方面,由 不同的字段表示 表E.1总结了与四个关键维度相关的事件类型的字段的语义释义 表E.1与四个关键维度相关的事件类型的字段的语义释义 回顾语义 预期语义 语义类型 在事件发生时 -直为真,直到被后续事件证伪 EPC EPC 对象 EP(cClass EPccClass quantity quantity 时间 Time Time 地点 ReadPointID BusinessLocationID BusinessSteplD DispositionlD BusinessTransaetionList BusinessTransactionList 业务 Source/IDestination Source/Destinationr LMD LMD 57
GB/T37075一2018 E,3对象事件的语义释义 对象事件的回顾语义如下: -个由bi2step(和任意其他字段)描述的事件发生在evenTime时间readroint地点,该事件 与epeList和quantityList所标识的对象有关 如果aetion是ADD)epeList中的EPC被关联到对象(第一次发布) 如果action是ADD)quantityList中的指定数量的EPC类实例被创建(数量未知,当Quanti yElement中的quantity值省略时 如果action 是DEL.E:TE)epelLis中的EPC与对象断开关联(后续不再使用) 如果aetion是DELETE)quantityList中的指定数量的EPC类实例不在存在(数量未知,因 为QuantityElement中的quantity值省略 个非空的bizTransactionList)bizTransactionList中列举 如果action是ADD并且定义了 的业务交易以及epcList和quantityList中标识的对象之间存在联系 如果action是OBSERVE并且定义了一个非空的bizTransactionList)事件发生于bizTrans- t列举的业务交易中 actionst 如果aetion是DELETE并且定义了一个非空的bizTr tctionlist)事件发生于bizTrn ransaC ransac ionlist列举的业务交易中 如果sourceList非空)事件发生于业务转移中,该业务转移的起点由sourceList列举的 sources所描述 如果destinationList非空)事件发生于业务转移中,该业务转移的终点由destinationList列 举的destination、所描述 对象事件的预期语义如下 如果aetion是ADD)epeList中的由单品级别标识符所标识的对象可能会出现在后续事 件中 如果acetion是ADD)quantityList中的由类级别标识符所标识的对象可能会出现在后续事 件中 如果acetion是DE:LETE)epeList中的由单品级别标识符所标识的对象不应出现在后续事 件中 如果aeion是DELETE)quantityList中的由类级别标识符所标识的对象可能会出现在后续 事件中,并且数量将减少,减少的数量由quantityList中指定的quanm ntities决定(或者减少的数 量未知,当QuantityElement中的quantity值省略时 如果disposition被指定)epcList和quantityList中所标识的对象的业务状态正如disposition 所描述 如果disposition省略)与epcList和quantityList相关的对象的业务状态不变 如果bizl.ocation被指定)epeList和quantityList中所标识的对象在业务地点bizl.ocation 如果bizl.ocation省略)epclist和quantityList中所标识的对象所在的业务地点未知 如果action是ADD并且ilmd非空)epcList和quantityList中所标识的对象正如ilmd中的 属性所描述 如果acetion是ADD并且bizIransactionList非空)epeList和quantityList中所标识的对象 与bizTransactionList列举的业务交易之间存在关联 注 砍 是ADD且非空bizTransaectioml.ist被指定的情况下,语义的作用等同于有一个无bizTransaetionlist action 的ObjeetEvent加上一个有bizTransactionList且同ObjeetEvent有相同字段值的TransaetionEvent 然而,注 的obietBw不会产生一个从鑫询返回的TmsactionEwE 意,有非空bizTransactionList 58
GB/37075一2018 E.4聚合事件的语义释义 聚合事件的回顾语义如下: 由bizsep(和任意其他字段)描述的事件发生在eeiTime时间eadlPoim地点,该事件包含 了包含实体parentID以及childEPC、和childQuantityList中的被包含对象 如果action是ADD)childEPCs和childQuantityList中标识的对象被聚合到包含实体paren- tlD 如果aetion是DELETE并且childEPC、或者childQuantityList非空childEPCs 和 ehildQuantityList中标识的对象从parentlID解除聚合 如果action是DELETE并且childEPCs或者childQuantityList非空)所有被包含对象从包 含实体parentID中移除 如果action是ADD且非空bizTransactionList被指定)bizTransaetionList中列举的业务交 易,childEPCs中的对象和childQuantityList,以及包含实体parentID间存在关联 如果aetion是OBSERVE且非空bizTransactionList被指定)事件发生在bizTransactionList 中列举的业务交易中 如果action是DELETE且非空bizTransactionLis被指定)事件发生在bizTransactionList 中列举的业务交易中 如果sourceList非空事件发生于业务转移中,该业务转移的起点由soureeList列举的 sourees所描述 如果destinationL.ist非空)事件发生于业务转移中,该业务转移的终点由destinationList列 举的destinations所描述 聚合事件的预期语义如下 如果action是ADD)聚合存在于包含实体parentID以及childEPC、和childQuantityList中 的被包含对象之间 如果acetion是DELETE并且childEPCs或者childQuantityList非空)包含实体parentID以 及childEPCs和childQuantityList中的被包含对象之间的聚合不再存在 如果action是DELETE并且childEPCs者ehildQuantityList为空)包含实体parentD以及 被包含对象之间的聚合不再存在 如果disposition被指定)与parentID.childEPC、和childQuantityList中所标识的对象相关 联的对象的业务状态正如disposition所描述 如果disposition省略)与parentlID,childEPC、和childQuantityList中所标识的对象相关联 的对象的业务状态不变 如果bizl.ocation被指定)与parentID,childEPCs和childQuantityList中的对象相关联的对 象在业务地点bizlocation 如果bizL.ocation省略)与parentID.childEPC、和childQuantityList中的对象相关联的对象 的业务地点未知 如果action是ADD并且bizTransactionList非空)childEPC、和childQuantityList以及包含 实体parcenD如果指定)中的对象与bizTransactionList列举的业务交易之间存在关联 注,在action是ADD且非空bizTransactionList被指定的情况下,语义的作用等同于有一个无bizTransactionl.ist ansactionList且同Objee 的" AggregationEent加上一个有biuzT tonEvent有相同字段值的Tm ansactio Aggregati nEvent 然而,注意,有非空bizTransaetionlist的AggregationEvent不会产生一个从查询返回的Transactionr Event S
GB/T37075一2018 很多语义无效的情况是由聚合错误的使用引起 例如,同样的对象也许在同一时期通过不同的ADD操作而缺少中 间的Delete操作赋予了多个父实体 类似地,一个对象可能被指定为其祖父实例的子实例甚至是自己的子实例 已不存在的聚合可能被DELETE 这些情况不能从语句构成上发觉,并且通常一个单独的EPCIS数据库可能没有足够 的信息以发现它们 本标准不提出这些错误情况 E.5交易事件的语义释义 交易事件的回顾语义如下 由bizStep(和其他任何字段)所描述的事件发生在eventTime时间readPont地点,事件包括 bizTransactionList所列的业务交易, ),epeLlis和quantityList中的对象以及包含实体parenD (若指定. 如果action是ADD)epeList和quantityList中的对象以及包含实体parentID若指定)与bi 2Transaetionlist所列的业务交易相关联 如果action是DELETE且epeLis或者quantityList非空)epeList和quantityList中的对象 以及包含实体parenal(若指定)与bzTansetonL.at所列的业务交易解除关联 epeList以及quantityList都为空,并且parenlD省略)所有的对 如果action是DELETE且e 象与bizTransactionList所列的业务交易解除关联 如果sourceList非空)事件发生于业务转移中,该业务转移的起点由sourceList中列举的 所描述 sOurceS 如果destinationList非空)事件发生于业务转移中,该业务转移的终点由destinationList中 列举的destinations所描述 交易事件的预期语义如下 如果acetion是ADD)bizIransacionList中所列的业务交易,epeList和quantityList中的对 象以及包含实体parentlD(若指定)之间相关联 如果acetion是DELETE且epeList或者quantityList非空)bizTransacetionList中所列的业务 交易,epeLis和quantityList中的对象,以及包含实体parentID(若指定)之间不再相关联 如果aetion是DELETE epeList以及quantityList都为空,并且parentID省略)bizTrans ctionList中所列的业务交易以及任何对象之间不再相关联 如果disposition被指定 epeList和quantityList中的对象和包含实体parentlD(若指定 相关联的对象的业务状态正如disposition所描述 如果disposition省略)与epeList和quantityList中的对象和包含实体parentID若指定)相 关联的对象的业务状态不变 epeList和quantityList中的对象和包含实体parentlD(若指定) 如果bizlocation被指定 相关联的对象在业务地点bizl.ocation 如果bizl.ocation省略)与epeList和quantityList中的对象和包含实体parentID若指定)相 关联的对象的业务地点未知 ransactionEvent中携带 注;交易事件和聚合事件中对parenmilD字段的使用在功能或语义方面并不相似 通常,Te 的对象标识信息与ObjeetEvent相同,也就是说,有相同的EPC和/或QuantityElements列表 所有其他信息 字段(bizTrans ransaetionList,bizStep,bizlLocation等)平等均一地应用于所有指定的对象,无论对象是否仅在 epeList和quantityList字段中指定或者是否提供了可选parentD字段 交易事件提供了描述业务交易与对象之间关联和解除关联的方法 在交易事件中的parentID字段突出了特定 的EPC或其他标识符作为首选或主要对象,但这并不意味着任何形式的物理关系,也不是任何形式的嵌套或 继承 只有聚合事件实例描述了实际的父-子关系和嵌套的父-子关系 这可以通过比较聚合事件语义和交易 事件语义来体现 60
GB/37075一2018 E.6转化事件的语义释义 转化事件的回顾语义如下: 由bizStep(和其他任何字段)所描述的事件发生在eventTime时间readPoint地点,其输人对 inpuQuantitylList所标识,输出对象由outpuEPCLiet和outpt tQuan- 象由inputEPCList和 ityList所标识 -事件发生在bizTransactionlist中列举的业务交易的内容中 如果 rmationID省略)任何由事件中的inputEPCList和inputQuantityList所标识的 transforI 输人对象可以对每个由事件中的outputEPCList和outputQuantityList所标识的输出对象有 所贡献 -如果transformationlD未省略)任何由事件中的imputEPCLis和inputQuantityList所标识 的输人对象,以及由其他具有相同 transformationl值的事件中的impuEPCLis和im putQuantityList所标识的输人对象,可以对每个由事件中的outputEPCLis和outputQuanti yl.i所标识的输出对象,以及每个由其他具有相同n transformmationlD值的事件中的out putEPCList和outputQuantityList所标识的输出对象有所贡献 如果sourceList非空)事件发生于业务转移中,该业务转移的起点由sourceList中列举的 sources所描述 如果destinationList非空)事件发生于业务转移中,该业务转移的终点由destinationList中 列举的destinations所描述 转化事件的预期语义如下 outputEPCList中的单品级别标识符所标识的对象可能出现在接下来的事件中 outputEPCList中的类型级别标识符所标识的对象可能出现在接下来的事件中 如果disposition被指定)由outputEPCList和outputQuantityList所标识的对象的业务状态 正如disposition所描述 如果disposition省略)与outputEPCList和outputQuantityList所标识的对象相关联的对象 的业务状态正如disposit所描述 如果disposition被指定)由outputEPCList和outputQuantityList所标识的对象在业务地点 bizLocation 如果bizl.ocation省略)由outputEPCList和outputQuantityList所标识的对象的业务地点 未知 如果ilmd非空)由outputEPCList和outputQuantityList所标识的对象正如ilmd中的属性 所描述 61
GB/T37075一2018 附录 F 资料性附录) 数量事件 数量事件(QuantityEvent)是EPCISEvent的子类 数量事件采集的是相对于特定数量的某类对 象发生的事件 此事件类型可被用于,例如,报告产品库存水平 在EPCIS1.1中,数量事件被弃用 应用程序宜使用包含一个或者多个QuantityListElements的 对象事件代替数量事件 数量事件包含的具体字段见表F.1 表F.1数量事件包含的具体字段 字段 类型 描述 eventTime 见表9 从EPCIsEvent继承;见7.4.l recordTime eventTimeZone(Ofset epcClass EPCClass 指示事件从属的对象类的标识符 事件所描述的类中的对象数量 quantity lnt bizStep BusinessStepID 可选事件所属的业务步骤 可选)EPC所标识的对象的业务状 态,假定一直保持为真直到被后续事 disposition DispositionlD 件推翻 可选)事件发生处的识读点 readPoint ReadPointlID 可选)EPC所标识的对象被发现时 bizl.ocation BusinessLl.ocationlD 的业务地点,直到被后续事件推翻 零或多个BusinessTrans-action实例可选)定义事件内容的业务交易的 bizTransactionlist 的无序列表 无序序列 因为EPCClass总是指示一个具体的包装单元(例如,,一个12个单品的包装箱),所以不需要 明确的“计量单位”字段 计量单位总是由epcClass表示的对象类,epcClass在主数据中定义 数量事件的回顾语义如下 由bizStep(和其他任何字段)描述的事件发生在eventTime时间readPoint地点,且与 epcClassEPC类的quantity对象有关 如果非空bizTransactionList被指定)事件发生在bizTransactionList中列举的业务交易的内 容中 数量事件的预期语义如下 如果disposition被指定)对象业务状态正如disposition所述 如果disposition被忽略)对象业务状态不变 如果bizl.ocation被指定)对象在业务地点bizl.ocation 如果bizL.ocation被忽略)对象的业务地点未知 62
GB/37075一2018 附 录G 资料性附录) 核心事件类型模型基本组成模块的补充说明 G.1EPC的使用说明 在核心事件类型模型中,EPC类型被定义为基本类型,用于在事件内表示不属于词汇类型的EPC 例如,ObjeetEven的SG;TINEPC就是EPC基本类型的一个实例,用来在ObjectEvent的epeList字 段中表示一个贸易项目的单品 但sGLNEPC,作为ObjeetEvent的ReadPoint字段的识读点标识符, 是一个词汇元素,而不是EPC基本类型的一个实例 这反映了一种设计决定;不把单个贸易项目单品作为带有主数据的词汇元素 由于贸易项目单品 在不停地被创建出来,因此代表贸易项目的新EPC也不断被激活分配给贸易项目 一方面,这种设计 决定反映了主数据不包括随业务交易增长的数据,与C.1的处理一致 另一方面,这种设计决定也反映 了一种现实的情况,即,当涉及年龄增长相关、数据库设计等方面,关于贸易项目单品的数据更可能被当 作事件数据而不是主数据来管理 G.2BCIS事件的“对象”维度的补充说明 G.2.1单品级别与类级别的标识的补充说明 -般来说,单品级别标识符允许EPCIS事件传递更多的信息,因为它是可以关联多个EPCIS事件 的,这些事件的“对象”维度包括同样的单品级别标识符 例如,如果一个EPCIS事件包括一个给定的 单品级别标识符,并且随后的一个EPCIs事件包括同样的标识符,那么这个对象一定参与了这两个事 件 相反,如果两个事件都含有同样的类级别标识符,这并不确定是否同一个对象参与两个事件,因为 个对象不 第二个事件包含的可能是同一个类的不同单品(即该对象含有同样的类级别标识符但与第- 同) 通常当不可能为每个对象分类一个独特的单品级别标识符时,使用类级别标识符 示例:在GSl系统中,单品级别标识符的例子包括GTINserial,SsCC将含序列的G;RAI.GAI.GSRN和含序列的 GDT 类级别标识符的例子有GTN.GTNt 十lot,不含序则的GRAI以及不含序列的GDTI G.2.2EPCIS事件“对象”维度可使用的标识符类型 可在EPCIS事件“对象”维度中使用的标识符,见表G.1 标识的规范性标准是EPC标签数据标准 TDS1.9和EPC核心业务词汇CBV1.1 表G.1可在ECIs事件“对象”维度中使用的标识符 单品级别 类级别 标识符类型 UR前缀 正式参考 EP) EPCClass) GTIN urn:epc;idpat:sgtin: TDS1.9的第8章 GTIN十bateh/lot urn;epc;class;lgtin: TDS1.9的第6章 GTIN十serial urn;epe;id;sgtin: TDSl.9的6.3.l SSCC urn;epe;id;ssce: TDSl.9的6.3.2 63
GB/T37075一2018 表G.1(续 单品级别 类级别 标识符类型 URI前缀 正式参考 (EPC EPCClass) G;RAInoserial urn;epe:idpat:grai: TDS.9的第8章 GRAlwithserial urn:epe;id;grai TDS1.9的6.3.4 GIAl urn:epc:id:giai: TDS1.9的6.3,5 GDTInoserial) TDS1.9的第8章 urn:epc;idpat:gdti GDTIwithserial TDS1.9的6.3.7 urn;epc;id:gdtti TDs1.9的6.3.6 GsRN(Supplier) urn:epcid:gsrn GSRNProwider TDSl.9的6.3.6 urn;epe;id;gsrnp: GCNnoserial urnm;epe;idpat;sgen: TDS1.9的第8 章 GCNwithserial urm;epc;id;sgcn: TDSl.9的第6章 CP1 urn:epe;idpat:cpi TDS1.9的第8章 CP1十serial urn;:epe;id:cpi: TDS1.9的6.3.ll GID urn:epc;id;gid TDS1.9的6.3,8 USDoD urn:epc:id:usdod TDS1.9的6.3,9 AD1 TDS1.9的6,3.10 urn:epc:id:adi 非GS1标识符 任何URI参见CBV的建议 CBV1.1的8.2 G.2.3uom字段示例 为满足om字段使用的CEFACT20中的代码所在的行的第一项要求,数量项目在“Quantity”数 量)一栏中应为一个独立的词,而不是词组的一部分 例如;本标准可使用“MTR”米),因为它所对应 的数量项目中包括length(还有其他数量项目,如宽度、高度等) 但本标准不可使用“F17”(每英尺磅 力),因为它的“Quantity”(数量)一栏中数量项目是“forcedividedbylength”,不是独立的词“length” G.3EPCIs事件的“位置”维度的补充说明 与ECIs中使用的位置信息概念相关的四种类型的补充说明 G3.1 在EPC相关语境中,术语“位置”已被用于表示许多不同的事物,这导致了对该术语的含义和用法 的混淆,特别是从商业角度来看 这种困惑源于多种原因 在EPC识读器固定的情况下,自然倾向于将识读器与位置等同,但如果某个位置有多个识读 器,则可能并不总是有效 有些情况下,固定式读写器放置在业务人员认为是不同位置之间(例如在零售商店的后台和销 售层之间的门),因此不能在没有指示贴有EPC标签的物体行进方向的情况下确定对象的最 终位置 具有多个可独立寻址的天线的单个物理识读器可用于在多个位置探测业务人员所观察的贴有 标签的对象 -相反,可以使用多个识读器在业务人员认为是单个位置的地方探测贴有标签的对象 对于移动识读器,给定的识读器可以读取多个位置的贴有标签的对象,可使用“位置”标签或其 他手段来确定与给定阅读事件相关联的特定位置 最后,一方(贸易伙伴或应用程序)感兴趣的位置可能不会被另一方感兴趣或授权查看,这促使 64
GB/37075一2018 人们对如何区分位置感兴趣 平衡这些看似矛盾的要求的关键是定义和关联各种位置类型,然后依靠EPCIS采集应用程序为给 定的采集事件正确记录它们 这就是EPCIs事件包含ReadPointlD和BusinessLocationlID(两种基本 位置类型)的原因 此外,历史上对EPCIS级应用程序所需的“位置”和识读器身份之间的区别存在很多混淆 本标准 将位置定义为与识读器标识完全不同的东西 为了清楚起见,识读器标识类型的逻辑识读器和物理识 读器在7.3.4中予以描述,以提供与真实的EPCIs位置类型的定义形成对比 此外,当应用程序希望保 留识读器在观察中发挥作用的记录时,识读器身份类型可以作为“观察属性”进人EPCIS;例如用于审 计目的 采集和共享“观察属性”将需要使用本标准中未定义的扩展字段 本标准的EPCIS事件部分省略了逻辑识读器和物理识读器定义 物理识读器在双方交换信息方 面一般不太有用 例如,如果识读器故障,并且被替换为相同的制造商和型号的另一个识读器,物理识 读器的ID就发生了改变 交易伙伴对此信息并没有太大兴趣 同样,如果逻辑识读器ID在负责采集 的组织执行特定业务流程时发生变化,交易伙伴对此信息同样没有太大兴趣 G.3.2识读点和业务定位之间的区别示例 读取点和业务位置之间的区别很大程度上是回顾语义和预期语义之间的对立 在一般情况下,读 取点以回顾语义的方式发挥作用,而业务位置都是采用期望语义来陈述的 这使得每种类型的位置在 加人语义描述时非常明确,附录E对每个EPCIS采集事件的相关情形做了介绍 图G.1显示了一个典型的应用案例,包括在房间边界有固定门道的房间 在这种情况下,识读点 RP)对应的是(有RFID装置的)门道,业务位置对应的是房间 注意,读取点和业务位置不是一一对 --种读取点和业务位置可以有一一对应关系的情况是不常见的一个只有单门的小储藏室 表 应;唯 G.2列举了本示例的读取情况 #88配送中心 RP:C' 图示视角 RPO RPB -RP:N 接收与存储 运输 RPM P;A 物理视角 A88送中心 接收与存储 RP:C RP:O ShippingDock#S3 RecvDock#R3 读取点 RPB RP:N ShippingDock#S2 RecvDoek#R2 RPA RPM ShippinmgDock#S1 RecvDock#RI 图G.1简化的配送中心示意图 65
GB/T37075一2018 表G.2图G.1示例的读取情况 标签 时间 读取点(RP) 业务位置 备注 产品经由井R1闸门进人配送 #123 7:00 “RPXC#88-A” C井88.接收与存储 中心 #123 9;00 “RP-C井88-K” 产品放置在传送带上运输 DC井88.运输 #123 930 “RPIC井88-N” 省略 产品通过#S2闸门运输 继续讨论房间和门的情况业务位置通常是业务应用程序最感兴趣的位置类型,因为它说的是哪个 对象在哪个房间,因此要求清点业务位置,比如后台是有意义的 与此相反,该取点表示,对象通过哪 个门进人房间,因此清点门道是没有意义的 虽然有时与业务应用不相关时,但是读取点明显对需要理 解业务流程和物品最终状态的高级别软件更有意义,特别是读取率小于100%时 注意,正确指定业务 位置既需要贴有标签的物体在读取点被观测到,也需要正确确定其运动的方向 再次说明事件的读 取点对更高级别的软件是非常有价值的 房间与门之间的供应链示例可以通过图示来表示,其中每个节点代表一个房间,可在房间里发现对 象,每个弧代表一个门道,连接两个房间 因此业务位置对应于该图中的节点,读取点对应弧 如果图 示是一条笔直的单向链,可以从知道的节点信息来重建经过给定对象的弧线;也就是说,在提供业务位 置信息以后,识读点信息是多余的 然而更实际的情况是,对象可以采用多条路径,并在供应链“向后” 移动 在这些真实世界的情况下,在业务位置信息之外,提供读取点信息对更高级别的软件有价值 G.4EPCIs事件的“业务”维度的补充说明 G.4.1业务步骤的补充说明 业务步骤标识符可使用可扩展词汇,从而允许GS1标准(特别包括GS1CBV标准)定义一些通用 术语,比如“装货”或“接收”,同时也允许行业组织和个人最终用户定义一些术语 主数据可提供额外的 信息 G.4.2业务处置状态的补充说明 业务处置状态标识符可使用可扩展词汇,从而允许GSl标准(特别包括GS1CBV标准)定义一些 通用术语,比如“在途”“已召回的”,同时也允许行业组织和个人最终用户自己定义术语 主数据可提供 额外的信息 G.4.3业务交易的补充说明 业务交易类型标识符可使用可扩展词汇,从而允许G.S1标准(特别包括GS1CBV标准)定义一些 通用术语,比如“采购订单”,同时也允许行业组织和个人最终用户自己定义术语 主数据可提供额外的 信息 对于BusinessTransaetionlD,URI提供了可扩展性,方便行业组织区分不同类型的事务标识符 例如,如果Aeme公司有8位数字的采购订单(一种业务交易)标识符,以及字符串长度为6的发货(另 一种业务交易)标识符 此外,PostHaste运输公司采用12位数字的追踪号,那么随着时间推移下面的 业务交易号可能和特定的EPC相关 //transaction,.aeme.com/po/12345678 http:/ /shipment/34ABC8 http://Aransaection.acme.com/" 66
GB/37075一2018 urn;posthaste;tracking:123456789012 在这个例子中,假设PostHaste运输公司已在IANA注册URN命名空间“pasthaste” EPCIS访问应用程序可能查询EPCIS,并发现所有三个业务号;使用URI给予应用程序一种途径来了 解哪些业务号是对应用程序感兴趣的 G.4.4来源和目的地的补充说明 来源/目的地标识符可使用可扩展词汇,从而允许GS1标准(特别包括GS1CBV标准)定义一些通 用术语,比如“所有方”,同时也允许行业组织和个人最终用户自己定义术语 主数据可提供额外的 信息 对于SourceDestID,URI是用来提供可扩展性,方便行业将一种来源/目的地标识符和另一种区分 开来 G.5单品/批号主数据的补充说明 LMD包括一组提供了有关一个或多个特定对象或批号的信息的描述属性 这类似于普通的主数 但是,对于一大类对象,(例如对于具有给定的 据,普通的主数据包括了一组提供对象信息的描述属性 GTIN的所有对象),其普通的主数据属性具有相同的值;然而对于小得多的对象分组(例如,一个单 批次或批号),ILMD属性的值可能不同;对于每个对象(例如,每个单品),ILMD属性的值也可能不同 普通主数据属性的一个例子是特定GTN的贸易项目的重量和物理尺寸 赋有同一个GTN的 所有贸易项目的这些主数据属性值是相同的 ILMD的一个例子是易腐贸易项目的有效日期 与普通 主数据不同,不是所有具有相同GTIN的贸易项目的有效日期都是一样的;原则上,每个贸易项目可具 有不同的到期日期,这取决于它的制造时间 ILMD的其他例子包括制造日期、制造地点、变量贸易项 目的重量以及其他物理尺寸,农产品的收获信息等 与普通的主数据类似,ILMD预期在对象的生命周期中是静态的 例如,即使具有相同的G;TIN的 不同贸易项目可具有不同的有效日期和重量,但是易腐贸易项目的有效日期和变量贸易项目的重量在 贸易项目的生命周期内是不会改变的 ILMD不用于表示在对象的生命周期中发生变化的信息,例如. 当对象在通过供应链移动时它的当前温度 虽然已有贯穿供应链的注册和传播普通主数据的标准(如GDSN),但是还没有传播IILMD的标准 和系统 出于这个原因,EPCIS允许ILMD直接附加在某些EPCIS事件上 只有当没有单独的系统来 传播L.MD时才能使用此功能 87
GB/T37075一2018 附 录 资料性附录) 核心事件类型模块的事件的补充说明 H.1EPCISEven的eventIimeZoneOrfse字段的补充说明 EPCISEvent的eventTimeZoneOffset字段对于知道事件发生时间不是必要的 这是因为event Time是Time类型,Time类型在8.3中被定义为“与时区不相关的日期和时间” 例如,在XML绑定 (9.5)中,eventTimme字段表示成xsd;dateTime,并且进一步规定XML应包括时区说明符 因此,even- tTime的XML明确地表示了某一时刻的绝对时间,不再需要eventTimeZoneOffset以知道事件发生 时间 ntTimeZoneOflset字段的目的是提供有关事件的附加业务内容,亦即标识事件采集时间和地 event 点的有效时间偏移量 这个信息也许有用,例如,判断事件是否在营业期间发生,以与当地时间相匹配 的格式向人们显示事件等 eventTime不一定提供本地时区偏移量信息,因为 eventTime的XMl表 示中的时区说明符不需要是事件被采集地区的本地时区偏移量 例如,一个事件发生在美国东部标准 时间08:00am,其XMIL的eventTime字段可写作080005:00(美国东部标准时间),或13:00zZ UTC),甚至07;00一06;00(美国中部标准时间) 而且,[XsD2]不要求XML处理器保留和向应用显 示xsd.dateTime字段中的时区说明符,所以eventTime字段中的时区说明符也许根本不向应用提供 核心事件类型模块的其他(非XMIL)绑定也会有类似的情况 例如,一个假设的二进制绑定也许把 Time值表示成相对1970年1月1日午夜(UTC)一毫秒偏移,这是以绝对时间的方式标识了时刻,但是 没有提供任何有关本地时区的信息 出于这些原因,eventTimeZoneOfset被当作附加事件字段提供 H.2聚合事件的补充说明 聚合事件中,当action是ADD时,使用父实体标识符,这样,当action是DELETE时,可以在后续 事件中关联 当aetion是OBSERVE时,父实体标识符可选,因为在中间的观察中父实体不总是被认 出 例如,一个托盘接收程序也许依靠RFID标签来断定托盘上包装箱的EPC,但托盘上可能没有 RFID标签(或者有但可能不可读),这导致父实体标识不被观测到 在许多生产流程中,普遍的做法是,在比分配EPC 个负载的步骤前几个步骤就创建了负载 在这种情况下,在创建负载时分配一个内部追踪号(通常引用“licenseplatenumber”,缩写为LPN),直 到发货都一直使用这个号 运输时,分配EPC类型的ssCC 在EPCIS中,此流程的建模分为2个步 骤,第1个步骤是在创建负载时,生成一个aetion是ADD的聚合事件;第2个步骤是在分配sscC时 生成第二个action是ADD的聚合事件(这时第一个关联也许已经通过action是DELETE的Aggrega" tionEvent而失效) 第一个聚合事件会使用LPN当作父实体标识符(依照6.4表示为适当的URI形 式),而第二个聚合事件会使用EPC类型的ssCC作为父实体标识,从而改变parentID. H.3交易事件的补充说明 Action字段是OBSERVE的交易事件,与包含非空bizTransactionList字段的对象事件非常相似 当一个最终用户组同意两种事件都使用,用户组应该明确定义什么时候使用哪一个 例如,下面这种情 况使用Action字段是OBSERVE的交易事件是合适的:一个交易号是×××的国际货运移动通过一个 68
GB/37075一2018 港口,希望记录处理此交易时观察到的EPC,后续查询将会聚焦在查询交易号来找到EPC,而不是通过 EPC来查找交易号 在交易事件和聚合事件中都使用名称为parentlID的字段,并不表示功能或语义上的相似性 通 常,交易事件携带与对象事件相同的对象标识信息,即EPC列表和/或QuantityElements 、列表 所有 ransactionList,bizStep,bizLocation 其他信息字段bizTra 等)平等一致地应用于指定的所有对象,无论是 否对象仅在epeList和quantityList t字段中指定,或者还提供了可选的parentlID字段 交易事件提供了一种描述业务事务与对象的关联或解除关联的方法 交易事件中的parentID字 段突出显示特定的EPC或其他标识符作为首选对象或主要对象,但不暗示任何类型的物理关系,也不 表示交易事件本身暗示任何类型的嵌套或继承 只有聚合事件实例描述实际的父子关系和可嵌套的父 子关系 这可以通过比较E.4的聚合事件的语义与E.5的交易事件的语义看出来 69
GB/T37075一2018 附录 规范性附录) 服务层接口的方法,参数和字段 I. 采集接口的参数 采集接口的采集方法参数见表l.1 表I.1采集接口参数表 参数 类型 描述 要采集的事件 所有相关的信息例 如事件时间,EPC等,都包含在每个 事件中 例外;reordTime可被省 略,无论recordTime省略或未输人 事件 信息服务事件表 在采集操作之后,由EPCIS存储库记 录的recordTime或EPCIS访问应用 程序记录的事件的recordTime是采 集的时间 1.2查询控制接口的方法及参数 查询控制接口的方法及其参数和字段表示见表1.2一表I.9 表1.2查询控制接口的方法 方法 描述 给有特定名称的预定义查询注册一个订阅者 params 参数提供值给查询定义的 任意命名参数来使用 dest参数指定了查询结果通过查询回调接口提交到的目标 地址 dest参数是一个URI,既能识别出查询回调接口使用的特定绑定,又能明确 寻址信息 Controls控制参数控制订阅的处理;特别是它明确了查询被调用的条 件例如,指定 个定期调度 subscriptionlD 是 个任意的字符串 Subscribe 标地址的响应中,但不被EPCcIs服 subseriptionlD被复制到每一个发送到特定目 订阅 务解析 用户可用subscriptionlD识别结果是来自哪个订阅,特别是当同一目标 地址有几个订阅的时候 dest参数可为空或无内容,这种情况下,查询结果将发至基于调用者已验证的身份 而预先安排的目标地址 如果EPCIS应用没有为调用者预先安排目标地址,或不 允许这个用法,它应产生一个InvaldURIExcepion异常 Unsubscribe 移除一个之前已注册的有特定 nlD的订阅 subscriptio1 取消订阅 调用一个有指定名字的预定义查询并返回结果 params参数提供值给由查询定 Poll 提取 义命名的任意参数来使用 70
GB/37075一2018 表1.2(续 方法 描述 eQueryNames 返同一个订阅和提取方法可用的所有查询名字列表 这包括所有由应用提供的 预定义查询,包括那些在8.3.8规定的查询 获取查询名字 getSubscriptionlD 返回特定名字查询当前所有订阅的subscriptionlD列表 获取i订阅号 返回一个字符串,它标识了这个应用所遵从的标准版本 这个字符串的值由GS1 定义 应用应返回其所完全符合的标准版本对应的字符串,且宜返回其所符合的 getStandardVersion 获取标准版本 标准的最新版本所对应的字符串 如符合EPCIS规范1.1版,应用应返回字符串 1. 返回一个字符串,它标识了此应用提供了哪些厂商定义的扩展 这个字符串的可 能值和含义由厂商定义 空字符串应表明该实现只具备标准功能,没有自定义扩 getVendorVersion 展 当应用选择返回一个非空字符串时,返回的值应是一个URI,这个URI为厂 获取厂商版本) 商所拥有 例如,这个URI可以是所有者部分为厂商所有的域名的HTTPURL 或是带有IANA签发给厂商的URN命名空间标识符的URN,亦或初始路径是分 配给厂商的私有企业号的oDURN,等 表I.3SubseriptionControks订阅控制实例的字段 类型 参数 描述 可选)定义运行查询所依照的周期性计划,见 8.3.6.4 应恰好有一个字段是计划或触发器; scbhedule(计划) QuerySchedule(查询计划 如果两者同时被指定或同时被省略,这个应用 应产生SubseriptionControlsException(订阅控 制异常) 可选)指定一个EPCIS服务已知的触发事件 来触发该查询的执行 可用的触发URI是依 赖于服务的 应恰好有一个字段是计划或触 er(触发器 UR通用资源标识符) Tiees 发器;如果两者同时被指定或同时被省略,这 个应用应产生subsecriptionControlsException 订阅控制异常 可选)当第一次执行查询时,指定一个时间以 initialRecordTime初始记录时 Time(时间戳》 约束在处理查询时什么事件被考虑 见8.3.6,.3 间 如果省略,默认为订阅建立的时间 如果值为rx(真),当查询被执行时.QeryResilts reportIEmpty(如果值为空时是 查询结果)实例总是被发送往订阅者 如果 n(布尔类型 Boolean 值为alse(假).QueryResults(查询结果)实例 否报告 仅当结果非空时才发送往订阅者 71
GB/T37075一2018 表L.4查询计划实例的字段 参数 类型 描述 可选)指定查询时间应有匹配的秒值 这个 String(字符串) Seeond(秒) 参数的范围是从0一59,包括0和59 可选)指定查询时间应有匹配的分钟值 这 e(分钟) String(字符串) minute 个参数的范围是从0一59,包括0和59 可选)指定查询时间应有匹配的小时值 这 个参数的范围是从023,包括0和23,0表示 String(字符串) hour(小时 从午夜开始的那个小时,23表示在午夜结束的 那个小时 (可选)指定查询时间应有匹配的日期值 这 dayOfMonth(日期 String(字符串) 个参数的范围在1一31之间(29,30,31只在相 应的月份出现 可选)指定查询时间应有匹配的月份值 这 Month(月份) String(字符串) 个参数的范围是从112,包括1和12 可选)指定查询时间应有匹配的星期值 这 个参数的范围在17之间,l表示星期一,2表 dayoweek(星期几 String(字符串) 示星期二,一直到7表示星期日 备注;这个编号规则与Iso8601 致 表L.5查询结果实例的字段 字段 类型 描述 此字段应包括查询的名字[queryNanme(查询名 queryName(查询名字 String(字符串 )参数在调用提取或订阅时指定] 字 有条件的)当QueryResuts(查询结果)实例被 作为常规查询结果提供给订阅者, subseriptionlD应包含与订阅调用的subsecrip subscriptionlD(订阅号 String(字符串 ionlD参数相同的字符串 当QueryResuls 查询结果)实例被作为提取操作的结果返回 时,这个字段应被省略 作为查询结果返回的信息 这个字段的确切 QueryResdltsBody(查询结果主 resultsBbody(结果主体) 类型取决于执行哪个查询 8.3.8中的每个预 体 定义查询都指定了本字段对应的类型 72
GB/37075一2018 表1.6EPCIS异常类型 异常名称 含义 当访问控制违规或有其他安全问题时,操作被禁止 这包括一些服务 n(安全异常) 通过验证客户端身份而拒绝授权执行特定操作 可能导致此异常的 SecuritException( 特定情况是特定于实现的,不在本标准的范围 EP(CIS的1.0版未实胞 DuplicateNameException(名称重复异常 指定查询名已存在 QueryValidationException EPCIs的1.0版未实施 查询有效性异常) 指定查询为无效,例如,查询包含语法错误 个或多个查询参数为无效,包括如下情况 QuIeryParameterException 参数名称在指定查询中为不可识别参数 查询参数异常 参数值类型错误或在有效范围外 两个或者多个查询参数重名 QueryToolargeException 试图执行的查询,会导致数据量超过了服务愿意提供的数据量 查询过大异常 QueryTooComplexException 指定查询参数有效但超过系统可以提供的复杂度 查询过度复杂异常 lnvalidURIExceptionm 给订阅者指定的资源标识不能被解析,无法被应用识别的方案,或违 无效资源标识异常 反特定方案施加的规则 SubseriptionControlsExceptionm 指定的订阅控制为无效;例如,计划参数超出范围,触发器URI不能被 (订阅控制异常) 解析或没有命名一个可识别的触发器等 NoSuchNameException(查无此名异常 指定的查询名称不存在 NoSuchSubscriptionException 指定的SubscriptionlD不存在 查无此订阅异常 DuplicateSubscriptionException 指定的subserptionlD和之前已创建且没有取消订阅的订阅相同 重复订阅异常) SubseribeNotPermittedException 指定的查询名称不可以订阅,只能用于提取 禁止订阅异常 根据绑定定义的语法判定输人在语法上无效 每个绑定都指定了引 ValidationException(验证异常 发此异常的特定情况 由于具体实现的原因,实现抛出的一般异常 该异常包含一个附加元 lmplementationExeeption(实现异常 素;值为ERROR或SEVERE的严重性成员 ERRR表示EPCIs实 施仍处于尝试操作之前的相同状态 SEVERE表示EPCIS实现处于 不确定的状态 73
GB/T37075一2018 表1.7查询控制接口中的异常 EPCIs操作方法 异常 SeeurityExeeption(安全异常 geQueryNames(获取查询名字 iddationException(验证异常》 Valid lmplementationException实现异常 Exception(查无此名异常》 NoSuchNameF nvalidURIException(无效资源标识异常 ception(重复订阅异常》 IDuplicateSubscriptionExe Tanmeie Exception(查询参数异常 plexException(查询过度复杂异常 Subscribe(订阅 lException(订阅控制异常) 1OmrO NotPermittedException(禁止订阅异常) 安全异常》) eption( /alidationException(验证异常 lmplementationException(实现异常 NoSuceS sbseeriptionException(查无此订阅异常) SeeurityException(安全异常 Unsubseribe(取消订阅 ldationException(验证异常》 lmplementationException(实现异常 NoSuchNameException(查无此名异常》 QueryParameterException(查询参数异常 QueryTooComplexExcepion(查询过度复杂异常) Poll提取 ToolargeException查询过大异常 eurityException(安全异常 ValidationException(验证异常 ImplementationException(实现异常 NoSuc NameException(查无此名异常) SeeurityException(安全异常 etSubscriptionlD:(获取订阅号 adidationException(验证异常) lmplementationException(实现异常 SecurityException( n(安全异常 getStandardVersion(获取标准版本 ValidationException(验证异常 ImplementationException(实现异常 SecurityException(安全异常 getVendorVersion 获取厂家版本 ValidationException(! 验证异常) lmplementationException实现异常 74
GB/37075一2018 表L.8简单事件查询参数 参数值类型 参数名称 含义 如果该参数被指定,结果只会包括类 型与参数值中指定的类型相匹配的 事件 参数值的每个元素可能是以 下字符串:ObjeetEvent,Aggregation Event,QuantityEvent,Transaction nType(事件类型) tofsirng(字符串列表 event List Event,或TransformationEvent 数值的元素也可以是扩展事件类型 的名字 如果事件类型被省略,所有事件类型 都将会被考虑包含在结果中 如果该参数被指定,只有eventTime 事件时间值大于或等于指定值的事 件会被包括在结果中 GE_eventTine Time(时间戳 如果被省略,不管eventTime字段为 何值(除非受到LT 参数 eventTime 所约束),事件都将被包含在结果中 如果该参数被指定,只有event tTime 事件时间值小于指定值的事件会被 包括在结果中 LT_eventTime Time(时间戳 如果被省略,不管eventTime字段为 何值(除非受到GE_eventTitme参数 所约束),事件都将被包含在结果中 如果该参数被指定,只有recordTime 大于或等于指定值的事件才会被返 回 基于事件记录时间的自动限制 见8.3.6.3)可能会隐式提供与此参 GE_recordTime Time(时间截》 数类似的约束 如果省略,除非被基于事件记录时间 的自动限制(见8.3.6.3)所约束,不管 rim(记录时间)为何值,事件 recordT 都将被包含在结果中 如果该参数被指定,只有recordTime 小于指定值的事件才会被返回 如果省略,不管recordTime记录时 LT_recordTime Time(时间截 间)为何值,事件都将被包含在结果 中(除非被GE_recordTime参数或基 于事件记录时间的自动限制所约束 75
GB/T37075一2018 表I.8(续 参数值类型 参数名称 含义 如果该参数被指定,返回的结果只会 包含满足以下条件的事件 D)有action字段;b)并且action字段 的值与指定值中的一个相匹配 数值的元素应是以下字符串之 ADD增加),OBSERVE观察到,或 EQaction IistofSt string(字符串列表) 者DELETE删除);否则应用应产生 QueryParameterException查询参数 异常 如果此参数被省略,不管 action 字段 值存在与否,事件都将被包含在结 果中 如该参数被指定,仅会返回满足以下 字 条件的事件;a)有非空的bizStep" 段;b)并且bizStep字段的值与指定 EQ_bizStep ListofString(字符串列表 值中的一个相匹配 如果此参数被省略,不管bizStep字段 值或该字段存在与否,事件将被返回 与EQ_biuzStep参数相似,但这个参数 EQdisp0sition Listofstring(字符串列表 为disposition字段而设 如该参数被指定,结果仅包含满足以 下条件的事件;a)有非空的readPoint 字段;b)并且" t字段与指定值 readPoint" EQ_readpoint ListofString(字符串列表 中的一个相匹配 如果该参数和wD_readpoint参数同 时被省略,不管readPoint字段为何值 或此字段存在与否,事件将被返回 如果该参数被指定,结果只会包含满 足以下条件的事件;a)有非空的 read Point字段;b)并且readPoint字段值 与指定值中的一个相匹配,或是指定 值的直接分支或间接分支 “直接或 ListofString(字符串列表 间接分支”的含义由主数据指定 WD_rendpoint wD是“Withdescendants(有分支 的简写 如果这个参数和 都被 readPoint EQ. 忽略,无论readPoint字段为何值或其 存在与否,事件将被返回 与EQ_readPoint参数相似,但这个参 listofsitring(字符串列表) EQ_bizl.oeation 数为bhizL.oceation字段而设 76
GB/37075一2018 表1.8(续 参数值类型 参数名称 含义 与WD_readPoint参数相似,但这个 WD_bizlocation ListofString(字符串列表 参数为bial.oeation字段而设 这不是一个单独的参数,是一系列 参数 如果这个系列的一个参数被指定了 返回的结果只会包含满足以下条件的 事件;a)包含 个bizTransaetionlist; EQ_bizTransaction_TYPE listofString(字符串列表 b)业务交易清单包括一个条目,这个 条目类型的子字段等于参数名字中提 取出的type;c)并且条目的bizransac tion子字段等于此参数指定值中的 这不是一个单独的参数,是一系列 参数 如果这个系列的一个参数被指定了 返回的结果只会包含满足以下条件 String(字符串列表) 的事件;a)包括一 字段; Iistof 个sourcelist EQ_source_type b)其中源头清单包括一个条目,它的 类型的子字段等于参数名中提取出 的ypese)并且条目的souree子字段 等于此参数指定值中的 这不是一个单独的参数,是一系列 参数 如果这个系列的一个参数被指定了 返回的结果只会包含满足以下条件 的事件;a)包括一个destinationList EQ_destination_type ListofString(字符串列表 字段;b)目的地清单包括一个条目 该条目类型的子字段等于参数名中 提取出的typee)并且条目的dest tina tion子字段等于此参数指定值中的 如果指定此参数,返回的结果只会包 含满足以下条件的事件;a)有一个 字段(即,, transformationlD Transfor EQ_transformationlD ListofString(字符串列表 mationEvents转化事件或Transfor 转化事件的扩展类型) mationEvent b)并且transformationlD字段等于此 参数指定值中的一个 77
GB/T37075一2018 表I.8(续 参数值类型 参数名称 如果指定此参数,结果只会包含满足 以下条件的事件:a)有一个epclist或 childEPC、字段即,Object Event,AggregationEvent,Transaetio nEvent或以上三个之一的扩展事件 类型);b)且 根据事件类型)epeList 中 或childEPCs字段中罗列的EPC MATCH_epe Listofstring(字符串列表 的 个与本参数中规定的EPC模式 或URI中的一个相匹配,这里“匹配” 的含义和8.3.8.2指定的一样 如果这个参数被省略,不论epclist 或childEPC、字段的内容亦或者它们 的字段存在与否,这样的事件都会包 含在结果中 MATCH_epe类似,但其匹配Ag gregationEvent 的 parentID字段 TasactionEvent的parenlD字段, 和 MATCH_parentID listofstring(字符串列表) 扩展了AggregationEvent或Trasac tionEvent的扩展事件类型 “匹配" 的含义见8.3.8.2 如果指定此参数,返回的结果只会包 含满足以下条件的事件;a)有 in putEPCList字段即是Transforma" tionEvents 转化事件类型或其扩展延 伸的事件类型);b)且在inputEPCList MATCH_inputEPC 字段中罗列的EPC中的 Listofstring(字符串列表 数指定的某个EPC模式或UR1相匹 配 “匹配”的含义见8.3.8.2 如果议 参数被省略,不论inputEP 字段为何值或其存在与否,这 样的事件都会包括在结果中 如果指定此参数,返回的结果只会包 含满足以下条件的事件;a)有 字段(即是 outputEPCIist Transforma tionEvents转化事件类型或其扩展延 伸的事件类型);b)且在outputEPCList Listofstring(字符串列表 MATCH_outputEPC 字段中罗列的EPC中的一个与该参数 指定的某个PC模式或URI相匹配 “匹配”的含义见8.3.8.2 如果这个参数被省略,不论out nEPCList字段为何值或其存在与 put 否,这样的事件都会被包括在结果中 78
GB/37075一2018 表1.8(续 参数值类型 参数名称 含义 如果此参数被指定,结果只会包括满 足以下条件的事件;a)有一个epeList shildEPCs字段 字段 pa rentID字段 inputEPCList字段 outputEI tEPCList字段即Ob AggregationEvent、 lranSaG IransformationEvent或这四 MATCH_anyEPC listofString(字符串列表 个扩展事件类型 件类型epeList b childEPCs,inputEPCList,或outputEP CList字段中列出的parentID字段中 罗列的ErC中的一个或rmnlD字段 与参数中的某个EPC模式或URIs相 匹配 “匹配"的含义见8.3.8.2 如果此参数被指定,结果只会返回包 括满足以下条件的事件;a)有 quantityList字段或childQuantityList 字段包括:O)jectEvent,Aggregatio nEven,TransaetionEvent,或这 的扩展事件类型);b)且根据事件 类型 MATCH_epcClass ofString(字符串列表) Iistof quantitlist或childQuant tyList字段中罗列的EPC类中的 个与参数中的某个EPC模式或UR 参数相匹配 这个结果也包括Quan tityEvents,它的epcClass字段与 EPC模式或一个URIs指定的参数匹 配 “匹配”的含义见8.3.8.2 如果此参数被指定,结果只会包括满 足以下条件的事件a)有一个 in putQuantityList字段包括Transfor mationEvent转化事件或其延伸的扔 Listofstring(字符串列表) 展类型);b)且(根据事件类型)在in" MATCH_inputEPCClass putQuantityList字段中的某个EPC 类与该参数中指定的某个EPC模式 或URI相匹配 “匹配”的含义见 8.3.8.2 79
GB/T37075一2018 表I.8(续 参数值类型 参数名称 含义 如果此参数被指定,结果只会包括满 足以下条件的事件;a)有 一个out putQuantityList字段包括Transfor mationEvent转化事件或其延伸的抄 Listofstring(字符串列表 展类型);b)且(根据事件类型)在out MATCH_outputEPCClass putQuantityList字段中罗列的EPC 类中的一 个与该参数指定的某个 EPC模式或UR相匹配 “匹配”的 含义见8.3,8.2 如果此参数被指定,结果只会包括满 足以下条件的事件;a)有一个quanti tyList字段,childQuantityList,in puQuwntitylist,或otpurQuntitylis 字段包括:OjectEvent,Aggregation Event,TransactionEvent,Transforma" MATCH_anyEPcClass String(字符串列表) Iistof" tionEvent或以 的扩护展事9 类型);b)且这些字段罗列的EPC类中 个与该参数指定的某个EIPC模式 的 或URI相匹配 这个结果也包括 QuantityEvwents,它的epxClass字段与 参数指定的某个EPC模式或UR 匹 配 “匹配”的含义见8.3.8.2 在PCIS1.1版弃用如果此参数已 指定,结果只允许是满足以下条件的 事件;a)有 quantity数量字段 EQ_quantity Int整型 QuantitEvent 或 QuantityEvent的 扩展);b)且qantity数量字段等于指 定参数 在EPISl.1版弃用)与EQ_qantity GT_quantity nt整型 相似,但只包括quantity数量字段大于 指定参数的事件 在P(CIS1.1版弃用与Q_quantity n(整型) 相似,但只包括quantity数量字段大于 GE_quantity 或等于指定参数的事件 在EPIs1l.1版弃用)与EQ_qantity lnt(整型 相似,但只包括qantity数量字段小于 LT_quantity 指定参数的事件 80
GB/37075一2018 表1.8(续 参数值类型 参数名称 含义 在EPCIS1.1版弃用)与Q_quantity nt(整型) 相似,但只包括quantity数量字段小于 1足_ntity" 或等于指定参数的事件 这不是一个单一参数,而是一系列 参数 如果这个系列的一个参数被指定,结 果只会包括满足以下条件的事件;a) 一个“fieldname”字段,它的类型是 字符串或词汇类型;b)且该字段的值 与在此参数中定义的值中的一个相 匹配 EQ_fiedname IistofString(字符串列表 fieldname是一个扩展字段的全限定 这个扩展字段的名字是 xMl.qname;包括一个xML 名称空 间URI和一个名字组成的对 符合 查询参数的名字是由以下连结而成 字符串EQ_,扩展字符的URI命名空 间,一个符号井,和一个扩展字段的 名称 与上述的EQ_fieldname类似,但可应 用于整型字段,浮点型字段和时间型 字段 结果会包括满足以下条件的 lnt整型 事件;a)有一个字段名为fieldname; EQ_fieldname Float(浮点型 b)且字段类型与参数类型整型、浮 Time时间截》 点型或时间型)相匹配;c)且字段值与 指定值相同 Fieldname结构与EQfiedname中的 相同 与上述的EQ_feldname类似,但可应 用于整型字段,浮点型字段和时间型 字段 结果会包括满足以下条件的 lnt(整型 事件;a)有一个字段名为fieldname: GT_ffeldname Float(浮点型 b)且字段类型与这种参数类型整 Time时间戳 型、浮点型、时间型)相匹配,e)且字段 值大于指定值 fieldname结构与EQ _fiednanme中的相同 GE_fieldname lnt(整型 LT_fiednanme 与GT_fieldname类似 Float(浮点型 LE_fieldname Time时间戳 8
GB/T37075一2018 表I.8(续 参数值类型 参数名称 含义 与EQ_fieldname类似,但匹配事件的 IL.MD区域包含有指定的 1fieldname EQ_IIMD_fiedname ListofString(字符串列表 字段,该字段的值与指定值之一相 匹配 EQ_fieldname,GTfieldname,GE 与1 EQ_ILMD_fieldname fiedname,LT_fieldname和LE_field GT_I.MD_fieldname lnt(整型 件的 靠 对应类似 但匹配 name GE_ILMD_fieldname Float(浮点型 ILMD区域包含有指定的fieldname LT_lILMD_fiedname Time时间戳 字段,该字段的整型值、浮点型值或 E_LMD 时间戳值与指定值相匹配,且与指定 fieldnamne 的相关运算符有关 与上述的EQ_fiedname类似,但可应 用于任何一种类型的字段包括复杂 类型) 结果将包括有名为 fieldname EXISTS_fieldname Void(无类型 的非空字段的事件, Fieldname结构与EQfieldname中的 相同 注意这个查询参数的值是被忽略的 与EXISTS_fiedname类似,但事件的 IL.MD区域有名称为fedname的非 空字段 ExIsTs_I.MD_fiedname Void(空 Fieldname 结构与EQ-ILMD_feld name中的相同 注意这个查询参数的值是被忽略的 这不是单一参数,而是一系列参数 如果这个系列的一个参数被指定了 结果将包括满足以下条件的事件;a) 个名为 的字段,其类 fieldname 型是词汇类型;b)且该字段的值是主 数据可用的词汇元索;c)且主数据有 非空属性,其名称与此参数中指定的 相匹配 HAsATTR_fiedname L.istofString(字符串列表 个完全限定的字段名 fieldname是 个标准字段,这仅仅是 名;例如;lbizlocation 对于 个扩展 字段,它的名字是一个XMLqname;是 -对由一个XMI名称空间URI和名 字组成的名称 对应的查询参数名称 由以下元素连续组成:字符串HA SATTR_,扩展字段的命名空间URI -个符号井以及一个扩展字段名称 82
GB/37075一2018 表1.8(续 参数值类型 参数名称 含义 这不是单一参数,而是一系列参数 如果这个系列的一个参数被指定,结 果将包括满足以下条件的事件;a)有 个名为fedname的字段,其类型 是词汇类型;b)且该字段的值是主数 据可用的词汇元素;e)且主数据 非空且名为attrname的属性;d)且该 属性值与参数中的指定值中的 相匹配 Fiedname的结构与HASATTR EQATTR_fieldname_attrname listofString(字符串列表 中的相似 fieldname 如果fieldname或attrname字段中包 划线 应用可产生 QueryParameterException(查询参数 因为在fieldname字段名或attrname 中下划线的出现引起 feldname和attrname的歧义,如果 个查询参数不能清晰表达,应用是可 以拒绝此查询参数的 如果该参数被指定,则命名一个用于 结果排序的单个字段 orderDirection 字段指明了结果将是升序还是降序进 行排序 缺少指定字段的事件可能出 现在结果事件表中的任何位置 数值应是eventTimerecordTime 段的完全限定 类型为Int Float,Time或String 完全限定 的字段名与EQfieldnae参数结构 orderBy(按排序 String(字符串 致 字符串类型字段的例子中,排月 宜是以字符串统一编码为基础的辞典 编纂顺序,或其他一些适合此处的排 序顺序 如果省略此参数,则不指定顺序 应 用可以按其选择的任意顺序给出结 果,即使相同的查询在相同的数据上 执行两次,该顺序也可能不同 在EPCIS1.0中,值quantity数量也 是允许的,但在EPCIs 已 1.1中 弃用 83
GB/T37075一2018 表I.8(续 参数值类型 参数名称 含义 如果此参数及orderBy都被指定,那 么指定结果应按orderBy指定的关键 词来进行升序或降序排列 这个参 Direetion(排序方向) String(字符串) 数的值应是Asc(升序)或DEsc(降 orderD 序);否则应用应返回QueryParame erExeeption(查询参数异常 如被省略,默认值为DEsc(降序) 如果指定该参数,结果将只包括最先 满足其他查询条件的N个事件,这里 N为参数值 由orderBy和orderD- 参数定义的排序决定了这个 rection 目标中的“第一位”的含义 如果该参数被省略,符合指定条件的 所有事件将被包括在结果内 此参数和maxEventCount是相互排 斥的,如果两个都被指定,应产生 eventCountLimit lnt(整型 IPrW ParameterException(查询参数 异常 此参数仅在orderBy被指定时使用; orderBy被省略,且eventCount 如果 产生 被指定,应" Iimit QueryParame terException(查询参数异常 此参数和maxEventCount不同之处 在于,此参数限制了返回数据量如 果maxEventCount导致返回的数据 量超出限制将使应用抛出异常 如果该参数被指定,不超过该值数量 的事件会被包括在查询结果中 如 果查询要返回多于这个数的事件,应 返刚 QueryToolargeException查询 太大异常),而不是正常的查询结果 此参数和eventCountlimit是互相排 n(整型) maxEventCount Q2ueryParameterException(查询 参数异常 如果被省略,任何数量的事件都可能 被包括在查询结果中 注意,无论该 参数如何设置,EP(CIS应用都可以自 由引发QueryTooL.argeException(查 询太大异常)见8.3.4) 84
GB/37075一2018 表1.9简单主数据查询参数 参数值类型 参数名 是否必选 含义 如该参数被指定,只有指定词汇表中提取 出来的词汇元素会被包括在结果中 指 ocabularyName词汇名 ListofString(字符串列表) 定列表中的每个元素是词汇的正式UR 否 称 名称, 如该参数被省略,所有词汇都需要被考虑 如该参数为真,结果会包括匹配要求的词 汇元素的属性名称和属性值 如果该参 是 ncludeAttributes(包含属性Boolean(布尔型 数为假,匹配要求的词汇元素的属性名称 和值都不会包括在结果中 如该参数为真,结果包括匹配的词汇元素 incldChildren(包括子表) Boolean(布尔型 是 的子表 如该参数为假,子表不会被包括 在结果中 如该参数被指定,只有那些名称与指定名 称之一匹配的属性才会被包含在结果中 如该参数被省略,匹配词汇元素的所有属 性会被包含在内 (要得到不带属性的词 汇元素名称列表,应指定ineludeAttributes atributeNames(属性名称Listofstring(字符串列表) 否 为假 如果includeAttributes为假,此参数值应 被忽略 注意此参数不影响结果中哪些词汇元素 被包含;它只限定每一个词汇元素的哪些 属性被包含 如该参数被指定,结果只会包含那些名称 与某个指定值匹配的词汇元素 Listofstring(字符串列表) 如果此参数和wD_mme同时被省略,不 否 EQ_name 管词汇元素的名称如何,词汇元素均被包 括在内 如该参数被指定,结果只会包含与指定名 字之一相匹配的词汇元索或是与指定名 字之一相匹配的词汇元素的直接或间接 ListofString(字符串列表) 否 WD_name 的派生词汇元素 如果此参数和EQ_name同时被省略,那 么不管其名称如何,词汇元素都被包括在 结果中 如果该参数被指定,结果将仅包含具有非 IListof HASATTR 否 空属性的词汇元素,其名称与此参数中指 String(字符串列表 定的值之一相匹配 85
GB/T37075一2018 表I.9(续 参数值类型 参数名 是否必选 这不是一个单一参数,而是一系列参数 如果此表中的一个参数被指定,结果仅包 EQATTR_atnmame ListofStrng(字符串列表 含有非空属性的、名称为atrname的词汇 否 元素,并且参数值与在此参数中的指定值 -相匹 AN 如该参数被指定,至多不超过此数量的词 汇元素会包括在查询结果中 如果查询 得到多于这个数量的词汇元素数量,应返 回QeryToolargeException(查询太大异 常) nmaxElementCount Int(整型 如该参数被省略,任何数量的词汇元素都 有可能被包含在结果中 注意,无论该参 数的设置如何,EPCIS应用都可以引发 QueryTooLargeException(查询太大异常 见8.3,4 86
GB/37075一2018 附录 规范性附录) 数据定义模块的XML绑定 J.1EPCglobal基础架构 〈xsd;schematargetNamespace="urn:epeglobal;xsd;1" 心 xmlns:epcglobal="urn:epcglobal:xsd:l xmlns;xsd=-"http;//www.w3.org/2001/XMI.Schema" elementFormDefault="unqualified" attributeFormDefault="unqualified" verson="1.0"》 (xsd;annot ation xsd:documentation epeglobal:copyright>Copyright(C)2004EpeglobalIne.,AlRightsReserved.GB/T37075一2018 Thedatethe messagewascreated.Usedforauditingandlogging /xsd:documentation 〈/xsd:annotation》 /xsd:attribute》 /xsd;complexType xsd:complexTypename="EPC"y Xsd;annotat1On xsd:documentation xmllang="en")" EPCrepresentstheEleetronicProduetCode. xsd:documentation xsdannotation xsd:simpleContent xsd:extensionbase="xsd:string"八 /xsd:simpleContent》 /xsd:complexType 《/xsd:schema J.2核心事件类型数据定义模块的XML架构(XSD ?xmlversion="1.0”encodin -"UTF-8"? ing-" 1" xmlnssbdh="http://www.unece. Xsd:schemaxmlns;epcis="urn;epcglobal:epcis:xsd org/cefact/namespaces/StandardBusinessDocumentHeader”xmlns:epcglobal="urn:epcglobal:xsd "http: "urn:epeglobal:epcis: xmlnS;xsd www.w3.org/2001/XML.Schema”targetNamespace- s alified”attribute version="1.1"y》 iormDeault="unqualified" xsdl elemmentFormDefault="unqual xsd:annotation xsd:documentationxml:lang="en" epcglobal:copyright>CopyrightC)2006-2013GS1AISBL,AllRightsReserved.《 epcglobal:copyright epeglobal:disclaimer>GS1nmakesNGwARRANTY,EXPRESsORIMPLIED,THAT THISD(OCUMENTISCORRECT,WILLNOTREQUIREMODIFICATIONASEXPERIENCE ANDTECHNOL.0GYDCTATE,ORwILLBEsSUITABLEFORANYPURPOSEOR wORKABLEINANYAPPIICATION,oRoTHERwISE.Useofthisdocumentiswiththeun derstandingthatGS1DISCLAIMSALLWARRANTIES,EXPRESSOR1MPLIED,INCIUDING BUTNOTLIMITEDTOANYIMPLIEDWARRANTYO)FNON-INFRINGEMENTOF PATENTsORCOPYRIGHTS,MERCHANTABILITYAND/ORFITNESSFORAPARTIcUL.AR PURPOSE,THATTHEINFORMATIONISERRORFREE,NoORsHALLGs1BELlABLEFOR DAMAGESOFANYKIND,INCLUDINGDIRECT,INDIRECT,INCIDENTAL,SPECIAL,CONSE- QUENTIALOREXEMPLARYDAMAGES,ARISINGoUTOFUSEORTHEINABLITYTO USEINFORMATIONcONTAINEDHEREINORFROMERRORscONTAINEDHEREIN.(/epe global:disclaimer (epeglobal:spee scifieation)EPCINFORMATIONsSERVICE(EPCIS)Version1.1GB/37075?2018 peifieaion) /xsd:documentation /xsd:annotation xsd:ir l,xsd,1schemal.ocation="./EPCglobal.xsd" "rn:epsgobal immportnamespace "http www.unee.org/(eelhaect/amespaces/StamdardBusiesDoe xsd:importnamespace mentHeader"schemaL.ocation- /StandardBusinessDoeumentHeader.xsdl" -EPCIscoREELEMENTs name="EPCISDoeument"type="epcis;EPCISDocumentType") xsd.element xsd:complexTypename="EPCISDocumentType") xsd:annotation xsd:documentationxml:lans "en" ng= documentthatcontainsaHeaderand alBody. /xsd:documentation /xsd;annotation plexContent xsd:compl "epcglobal;Doceument" xsd:extensionbase= xsd:sequence xsd:elementname "EPCISHeadertype="epcis:EPCSHeaderTypeminOccurs="0") "EPCISBodytype= xsd:elementname= "epeis;EPCISBodyType" xsd:elementname="extension"type="epeis;EPCIsDocumentExtensionType"mi nOcurs="o" xsd anynamespace="other" ssContents="laxminOccurs="omax(Occurs proce ="unbounded" /xsd:sequence xsd;anyAttributeprocessContents="lax") /xsd:extension /xsd:complexContent /xsd:complexType xsd:complexTypename= "EPCISDocumentExtensionType" xsd:sequence maxOecurs="unboundedl") -"Ioealproes.Contents- ax" xsd:anynamespace= /xsd:sequence xsd;anyAttributeprocessContents="lax" GB/T37075?2018 Xsd:sequence> xsd;elementref="sbdh;StandardBusinessDocumentHeader" xsd:elementname="extension"type="epcis:EPCISHeaderExtensionTypeminOccurs= "o" yAttribute processContents="lax") Xsd;any. 7/xsd:complexType xsd:complexTypename="EPCISHeaderExtensionType") xsd:seguence x" maxOccurs="unbounded" xsd:anynamespace="local" processContents="la /xsd:sequence xsd:anyAttributeprocessContents="lax") i.complexType /xsd xsd:complexTypename="EPCISBodyType" xsd:annotation "en"y xml,lang? xsd:documentation speeificbodythatcontainsEPCISrelatedEvents. /xsd:documentation /xsd;annotation Xsd:sequence (xsd:elenmentname="EventList"type="epeis;EventListTypenminOceurs="o") xsd:elementname="extensiontype="epcis:EPCISBodyExtensionTypeminOccurs "0" ="la xsd;anynamespace="#otherprocessContents= minOcurs?"0maxO a" )ccurs5 " "unbounded" /xsd:seguence xsd:anyAttributeprocesContents-"ax") /xsd:complexType xsd:complexTypename="EPCIsBodyExtensionIype"y xsd:segquence "local" "unboundedl") processContents="laxmaxOccurs- xsd;anynamespace= /xsd:sequence xsd:anyAttributeprocessContents="lax") /xsd;complexType) EPCISscOREELEMENTTYPES-- - xsd:complexTypename="EventListType") xsd:choiceminOccurs="omaxOccurs="unbounded"y 90
GB/37075?2018 "ObjectEvent"type="epcis;(ObjectEventTypeminOccurs="0max Xsd;elementnamme= Occurs="unbounded" xsd:elementname="AggregationEventtype="epcis:AggregationEventTypemin(Occurs ="o"maxOccurs= unbounded" "o" QuantiyE senype="epeis;QuantityEvemiTypnminoceurs- Xsd:elementname maxOccurs="unbounded" xsd:;elementname="TransactionEvent" ype="epcis;TransaetionEventTypemin0eeurs -"0"maxOccurs= "unbounded" type="epeis:EPCISEventListExtensionType" extension" Xsd:elementname= xsd:anynamespace="other"processContents="lax" /xsd:choice useof"unbounded"inboththexsd:choiceelement Note;ther ! andtheenclosedxsd:elementelementsis,strictlyspeaking redundant.However,thiswasfoundtoavoidproblemswith certainXML Lprocessingtools,andsoisretainedhere. /xsd:complexType Modifiedin11-- name="EPCISEventListExtension xsd;complexType nType" xsd:choice xsd:elementname="TransformationEventtype="epcis:TransformationEventType"/ xsd;element 'extension" type="epcis;EPCISEventListExtension2Type" name /xsd:choice /xsd:complexType Since1.1 -- xsd:commplexTy "EPCIsEvenListExtension2Type") ypename xsd:sequence xsd;anynamespace="#local"processContents="Iax"nmaxOceurs="unbounded") /xsd:sequence sd;anyAttributeproessContents-"ax") /xsd:complexType (xsd;complexTypename= "EPCListType") xsd:sequence "o" xsd;elementname="epc"type="epeglobal;EPCminOcecurs= maxOccurs="un- boundecd" /xsd:seguence /xsd;complexType xsd:simpleTypename="ActionType") xsd:restrictionbase="xsd:string" xsd:enumerationvalue="ADD" 91
GB/T37075?2018 xsd;enumerationvalue="OBSERVE") xsd:enumerationvalue="DELETE" /xsd:restriction /xsd;simpleTy ype "ParentIDType") xsd:simpleTypename5 xsd:restrietionbase="xsd:anyURI" /xsd;simpleType Standard Voeabulary xsd:simpleTypenamme="BusinessSteplDType" xsd;restrietionbase="xsd:anyUR!" /xsd:simmpleType StandardVoc oeabulary xsd;simpleTypename="DispositionIDType") xsd:restrictionbase="xsd:anyURI"/ /xsd simpleT Iype UserVoeabulary xsd:simpleTypename="EPCClassType") xsd:restrictionbase="xsd:anyURI" /xsd;simpleTypey IVoeabulary Standard Since1 simpleType "UOMType"y XSd name "xsdstrine") Xsd;restrictionbase? /xsd:simpleType Since1.1-- xsd:commplexTypename 'QuantityElementType" xsd:sequence xsd:elementname="epeClass"type="epeis;EPCClassType") xsd:seguenceminOccurs="0"y -"xsd:decimal" Xsd;elementname guantity" type? xsd:elementname="uomtype="epcis;UOMTypeminOceurs="o") xsd:sequence xsd;seguence /xsd,complexType xsd:complexTypename="QuantityListType" xsd:sequence xsd:elementname="quantityElement" QuantityElementTypenminOeeurs ype="epeis; -"o" "umbonded") maxOccurs- /xsd:sequence /xsd:complexType> 92
GB/37075?2018 -UserVocabulary-) ! xsd;simpleTypename="ReadPointIType"y xsd:restrictionbase="xsd:anyURI"/ GB/T37075?2018 xsd;simpleTypename= "BusinessTransaetionlDType" xsd;restrietionbase="xsd;anyURI") /xsdsimpleType --StandardVocabular ary-- xsd;simpleTypename="B BusinessTransaetionTypeIDType") xsd:restrietionbase="xsd:anyURI" /xsd;simple'Type xsd.complexTypename "BusinessTransaetionType" xsd:simpleContent xsd:extensionbase="epcis:BusinessTransactionlDType" use="op xsd;attributename="typetype="epeis;BusinessTransaetionTypeIDType" tional" /xsd:extension /xsd:simpleContent :complexType /xsd B BusinessTransactionListType" xsd:complexTypename= xsd:sequence xsd:elementname="bizTransaction"type="epcis:BusinessTransactionTypemaxOecurs "unbounded" /xsd:sequence /xsd:complexType UserVocabulary Since1.1 xsd;simpleTypename="SourceDestIDType") xsd:restrictionbase="xsd;anyURI") /xsdsimpleType StandardVocabulary Sincel.1-- xsd:simpleTypename=? "SoureeDestTypeIType") xsd;restrietionbase-"xsd;anyURI" /xsd:simpleType Since1 (xsd;complexTypename-"SoureeDestType") xsd:simpleCo ontent xsd;extensionbase="epeis;SoureeDestIDType")y xsd;attributename="typetype="epcis;SourceDestTypelIDType"use="required") /xsd:extension ontent GB/37075?2018 maxOccurs="unbounded" xsd;elementname="sourcetype="epcis;SourceDestType" /xsd:sequence /xsd:complexType xsd:comp name="Destinatio plexType bnListType"" xsd:sequence xsd:elementname="destination"type="epcis:SourceDestTypemaxOccurs="unbound ed") /xsd:seqence /xsd:complexType UserVocabulary-- Since1.1-- ! xsdsimpleTypename="TransformationIType" xsd:restrictionbase="xsd:anyURI" /xsd:simpleType e --Since1.1-- xsd:complexType "ILMDType") name? xsd:sequence xsd;elementnarme="extensiontype="epcis;IILMDExtensionTypenminOccurs="o" xsd:anynamespace="otherprocessContents="laxminOccurs="0max(Occurs? "unbounded"/) /xsd.seqenrce) (xsd;anyAttributeprocessContents="ax") /xsd:complexType xsd:commplexTy ypename="LMDExtensionType") xsd:sequence xsd;anynamespace="#local"processContents="Iax"nmaxOceurs="unbounded") Xsd:seguence xsd:anyAttributeproesscContents-"ax" xsd:complexType itemslistedalphabeticallybyname-- Someelementtypesaccommodateextensibilityinthemannerof "Ver XMLVocabularies"bvDavidOrehardsee N ersioning http;//www.xml.com/pub/a/2003/12/03/versioning.html). Inthis roach,anoptionalextensionelementisdefined appr oreachextensibleelementtype,wherean(extension>element maycontainfutureelementsdefinedinthetargetnamespace Inadditiontothe nalextensionelement,extensibleelement opiona 95
GB/T37075?2018 typesaredeclaredwithafinalxsd;anywildeardtoaccommodate futureelementsdefinedbythirdpartiesasdenotedbytheother nameSpace Finaly,thexsd;anyAttributefaclityisusedtoallowarbitrary attributestobeaddedtoextensibleelementtypes-y xsd;complexType -"EPCISEventType"abstract="true"" name xsd;annotation o xsd:documentationxml:lang="en" basetypeforalEPCIsevents /xsd:docummentation xsdannotation xsd:sequence 'eventTime"type="xsd:dateTime" Xsd:elementname -"xsd:dateTimeminOccurs="o" recordTimetype? xsd:elementname " tTimeZoneOffsettype- xsdelementname= 'event -"xsd.strimg" xsd:elementname="baseExtensiontype="epcis:EPCISEventExtensionTypemin(O)ccurs -"0" /xsdsequence xsd:anyAttributeprocessContents="ax" /xsd:complexType :complexType -"EPCISEventExtensionType"" XSd name= Xsd:sequence xsd;anynamespace="#localprocessContents="axmaxOceurs="unbounded") /xsd;sequence' xsd:anyAttributeprocessContents="lax" /xsd;complexType xsd:complexType "ObjectEventType"y name= xsd;annotation xsd:documentationxml:lang="en" ObjectEventcapturesinformationaboutaneventpertainingtooneormore objectsidentifiedbyEPCs /xsd:doeumentation xsd:annotation xsd:complexContent xsd:extensionbaSe= "ep peis;EPCISEventType"y xsd:sequence xsd,elermentname="epcList"type="epcis;EPCListIype" xsd;elementname="aetiontype="epeis;ActionType") xsd,elemenname-"bizSteptype="epcis;BusinessSteplDTypeminOccurs="0") 96
GB/37075?2018 "dispositiontype="epcis:DisposittionlDTypenminOccurs= Xsd:elementnamme "o") xsd,elementname="readPointtype="epcis;ReadPointTypeminOeeurs="o" xsd;elementname="bizLocation" minOccurs= e" type="epcis;BusinessLocationType "o" xsd:elementname="bizTransaetionList"type="epeis;BusinessTransactionListIype" minOccurs="o" xsd:elementname="extension" minOccurs type="epcis;ObjeetEventExtensionTy Iype" -"o" -"o" xsd:anynamespace="otherprocessContents="laxminOccurs= maxOccurs ="unbounded" 7xsd:sequence xsd;anyAttributeprocessContents="lax" /xsd:extension /xsd: icomplexCont tent /xsd:complexType Modifiedinl1.1 xsd:complexTypename="ObjectEventExtensionType") xsd:sequence xsd;elementname="quantityList"type="epeis;QuantityListTypenminOceurs="o" xsd:elementname sourceListtype="epcis:SourceListTypeminOccurs="0"/ "destinationList" "epeis;DestinationListTypeminOecurs= Xsdelementname= ype? "0" (xsd:elementname="ilmdtype="epcis;LMDTypenminOceurs="o") xsd:elementname="extensiontype="epcis:ObjeetEventExtension2TypeminOecurs "0" /xsd:sequence xsd;anyAttributeprocessContents="ax" /xsd.complexType Since1.1 xsd;complexTypename="ObjeetEventExtension2Type") xsd:sequence xsd;anynamespace="localprocessContents="laxmaxOceurs="unbounded") /xsd:sequence) xsd;anyAttributeprocessContents="ax" /xsd:complexType xsd;complexTypename="AggregationEventType" xsd:annotation xsd,doeumentationxmllang="en") Event ectsthat capturesaneventthatapplie obje eSto Aggregation 97
GB/T37075?2018 associationwithoneanother. aveaphysical /xsd:documentation /xsd:annotation xsd:complexContent xsd;extensionbase="epcis;EPCISEventType") xsd:sequence parentID" type="epcis;ParentIDTypeminOeeurs="o" XSd:elementname "childEPCs" Xsd:elementname ype="epcis;EPCListType" "epeis:ActionType"" xsd:elementname= "actiontype= xsd:elementname="bizSteptype="epcis:BusinessSteplDTypeminOccurs="0") xsd:elemmentname="disposition"type= epcis:DispositionlDType" minOccurs= "0" xd,edlemtentmame="eadlPoinrtype?"epdi,ReadlPoinrTypeminOetur="o") xsd:elementname="bizlLocation"type="epcis:BusinesslocationTypeminOccurs= "0" -"hiT. Transactionlisype-"epcis;BusinessTransaetionlistType" xsd:elementname= min(Occurs="0"/ xsd:elementnamme="extension" "epcis:Ag ggregationEventExtensionTypemi type? nOccurs="0" -"o" xsd;anynamespace="otherprocessContents="axmin(Occurs= maxOccurs "unbounded" /xsd: Seguence Attribut ssContents="lax" Xsd;anyA uuteprocess /xsd:extension /xsd:complexContent /xsd:comp plexType Modfiedin1.1--) xsd:complexTypename="AggregationEventExtensionType" xsd:seguence xsd.elementname-"childQuantityListtype-"epcisQuantityListTypeminOeeurs- "o" -"o") xsd:elementname="sourceListtype="epcis:SourceListTypeminOccurs= xsd:elementname="destinationList" nminOccurs? "epeis:DestinationlistTy 'pe" type= "o" type="epeis:AggregationEventExtension2Type" extension" xsd:elementname minOecurs="o" /xsd:seguence xsd;anyAttributeprocessContents="ax") /xsd:complexType Since1.1-- xsd:complexType on2Type")y name -"AggegaionEemlExtensid 98
GB/37075?2018 Xsd;sequence> xsd.:anyamespace-"??locealprocescCotents="amaxOcus-"umbounded")" /xsd:sequence (xsd;anyAttributeprocessContents="ax") /xsd:complexType (xsd;complexTypename=-"QuantityEventType" xsd;annotation xmllang="en")y Xsd:documentation QuantityEventcapturesaneventthattakesplacewithrespeettoaspeecifiedqantityof objectclass. xsd:documentation xsd:annotation ;complexContent "epcis;EPCISEventType"y eXtensIOnbase= xsd;seguence .Class" type="epcis;EPCClassType") xsd:elementname="epcC t" xsd,elementname="uantitrytype="xsd,imt ="o" xsd.elementname="bizStep"type="epeis;BusinessStepDTypenminOecurs=" xsd:elemenmtname="dispositiontype="epeis:DispositionlTypemin(Oceurs= "o") xsd:elementname="readPointtype="epcis:ReadPointTypeminOccurs1 "o" xsd:elementname="bizlocation"type="epcis:BusinessLocationTypeminOccurs= "o" xsd;elementname="bizTransactionList ype-"epcis;BusinessTransaction nListType' minOccurs="o" extensiontype-"epeis:QuantityEvenExtensionType' xsd:elementname "o" minOccurs= -"o" xsd:anynamespace="otherprocessContents="laxmmin(Occurs= maxOccurs "unbounded") /xsd:segquence xsd:anyAttributeprocessContents="lax" /xsd:extension /xsd:complexContent /xsd:complexType xsd:complexTypename="QuantityEventExtensionType")y xsd:sequence xsd:anynamespace="localprocessContents="laxmaxOccurs="unbounded" /xsd:sequence xsd;anyAttributeprocessContents="ax" /xsd;complexType 99
GB/T37075?2018 xsd:complexTypename="TransactionEventType" xsd:annotation) xsd:documentationxml:lang="en" TransactionEventdeseribestheassociationordisassociationofphysicalobjeetstooneor morebusiness transactions. /xsd:documentation /xsd;annotation xsd:complexContent GB/37075?2018 yAtributeprocesContens="ax") xsd:anyA /xsd:complexType Since1.1-- xsd.omplexTypename="TransactionEventExtension2Type" Xsd;sequence xsdanynamespace="#local!"processContents="lax"maxOccurs="unbounded" /xsd:segquence sContents="lax" sd.anyAtributeproces GB/T37075一2018 xsdelement "extension”type="epcis:TransformationEventExtension nType" name= nminOecurs="o") xsd:anynamespace="井#other”processContents="lax”min(Occurs="0”max(Occurs "unbounded") /xsd:sequence xsd:anyAttributeprocessContents="lax"八 /xsd:extension /xsd.complexCcotent) xsd:complexType Since xsd:complexTy ypename="TransformationEventExtensionType") seauence XO xsd:anynamespace="井井local”processContents="ax"nmaxOceurs="unboundedl") /XSd:equence ribute processContents="lax") Xsd;anyAttr /xsd:complexType /xsd:schema》 J.3主数据的XM架构(XSD) "1.0" encoding="UTF-8"? ?xmlversion- xsd:schemaxmlns:epcismd="urn:epcglobal:epcis-masterdata:xsd:1" xmlns;sbdh="http: /cefact/namespaces/StandardBusinessDocumentHeader www.unece.org/ 'urn;epeglobalxsd.I" xXmlns;epcglobal xmlns:epcis 'urn:epcglobal:epcis:xsd:1" http:;//www.w3.org/2001/XMISchema" mlnSXsd -masterdata:xsd:1" "urn:epcglobal:epcis- targetNameSpace elementFormDefault="unqualifed" attributeFormDefault="unqualified" version="1.0") xsd:annotation xsd:documentationxml:lang="en" epcglobal:copyright>CopyrightC)2006,2005,2004EPCglobalInc.,AllRightsReserved. /epegloblcopyriehe epcglobal:disclaimer)EPCglobalInc.,itsmembers,offcers,direetors,employees,oragents halnotbeliableforanyinjury,loss,damages,finaneialorotherwise,arisingfromm,relatedto,or eausedbytheuseofthisdocumentTheuseofsaiddocumentshalconstituteyou ureXpreSSconSent foregoingexeulpation.GB/37075?2018 /Xsd:annotation> xsdimportnamespace="urn;epcglobal;xsd;1schemaLocation="./EPCglobal.xsd" xsd:import Headler" namepace="htp://www.unece.org/cefact/namespace/StandardBasinesDocumentH /StandardBusinessDocumentHeader.xsd" schemaLocation= xsd:import namespace="urn:epcglobal:epcis;xsd.1" schemaL.ocation="./EPCglobal-epeis-1_0.xsd" MasterDataCOREELEMENTS-- xsd:elementname="EPCISMasterDataDocument" type="epcismd:EPCSMasterDataDocu mentType") xsd:complexTypename="EPCISMasterDataDocumentType" xsd;annotation (xsd;doeumentationxml;lang="en") MasterDatadocumentthatcontainsaHeaderandaBody /xsd:documentation /xsd:annotation xsd:complexContent xsd:extensionbase="epcglobal:Document" Xsd:seguence xsdelementname="EPCISHeader" type="epcis;EPCISHeaderIypenminOccurs="O" xsdelementname="EPCISBody"type="epeismd;EPCISMasterDataBodyIype" xsd:elementname extensiontype="epcismd:EPCISMasterDataDocumentExten ionTypeminOccurs- xsd;anynamespace="#otherprocessContents? -"laxminOeeurs="omaxOccurs -"unbounded") /xsd:sequence yAttrib sContents="lax" Xsd;any )uteprocess 7/xsd:extension /xsd:complexContent /xsd;complexTy e 'p xsd;complexTypename="EPCISMasterDataBodyType" xsd:annotation xsd:documentation xml.lan- -"en" MasterDataspeeifiebodythatcontainsVocabularies /xsd:documentation /xsd:annotation xsd,sequence) 03
GB/T37075?2018 "VocabularyListtype="epcismd;VocabularyListTypeminOccurs Xsd:elementname -"o") xsd:elementname="extension"type="epcismd:EPCISMasterDataBodyExtensionType" minOccurs="0"y GB/37075?2018 xsd;complexType "VocabularyElementType") name xsd:sequence xsd:elementname="attributetype="epcismd:AttributeType"minOccurs="0maxOc- curs="unbounded" "hldiren" type="epeismd:IDListTypeminOecurs="o") xsd:elementname xsd:elementname="extension"type="epeismd.VocabularyElementExtensionypemi nO)ccurs="o" -"other" sContents="laxminOccurs="0"maxOccurs= xsd.any namespace= processN "unbounded"/ /xsd:sequence xsd.atributename="idtype="xsd:anyURIuse="equired" yAt ssContents="lax" ttributeprocese xsd:any /xsd:complexType xsd:complexType "AttributeType") name= xsd:complexContent xsd:extensionbase="xsd:anyType" xsd;attributename="idtype="xsd:;anyURIuse="required") buteprocessContents-"lax" (xed;anyAtribn /xsd:extension /xsd:complexContent /xsd,complexType) (xsd:complexTypename="IDListType"y xsd:sequence xsd:elementname="id"type= "xsd:anyURIminOecurs="0maxOccurs="unbound ed"y /xsd:sequence xsd:anyAttributeprocessContents="lax"/ /xsd:complexTypey xsd:complexTypename="EPCIsMasterDataDoeumentExtensionType"y xsd:sequence "local" maxOccurs="unbounded" processContents-"lax xsd;anynamespace= /xsd:sequence xsd:anyAttributeprocessContents="lax" /xsd,complexType) (xsd:complexTypename="EPCISMasterDataHeaderExtensionType"y xsd:seguence -"local" ssContents= ="lax"maxOccurs="unbounded" kxsdany namespace= process 05
GB/T37075?2018 / /Xsd;sequence xsd;anyAttributeprocessContents="ax" /xsd:complexType xsd;complexType name-"EPCISMasterDataBodyExtensionType") Xsd:sequence> xsd;anynamespace="#localprocessContents="laxmaxOceurs="unbounded") /xsd:sequence xsd:anyAttributeprocessContents="lax"/ /xsd; romplexT ype -"Vo xsd:complexTypename= VocabularyExtensionType" xsd:sequence xsd:anynamespace="local"processContents="lax"max(O)ccurs="unbounded" /xsd:seguence xsd;anyAttribute processContents="lax") /xsd:complexType xsd:complexTypename="VocabularyElementExtensionType" xsd:sequence "unbounded") xsd;anynamespace="localprocessContents="laxmaxOccurs= 7/xsd:sequence (xsd;anyAttributeprocessContents="ax") /xsd:complexType> /xsd:schema 106
GB/37075一2018 附录K 资料性附录 核心事件数据和主数据的XMIL示例 K.1核心事件类型示例 K.1.1示例1一包含单品级别标识符的对象事件 本节中的示例包含两个ObjectEvent,每个都包含单品级别标识符 本示例只用了EPCIs1.0中的 特性和CBV1.1中的词汇 第二个事件用10.1节中定义的厂商/用户扩展方法,展示了一个事件级别 的名为myField的厂商/用户扩展元素 ?xmlversion="1.0"encoding="UTF-8"”standalone="yes"? epcis:EPCISDocument sd:l" un:epeglbobal: xmlns;epcis# :epcis:xsd xmlns;example="http;//ns.example.com/epeis" xmlns;xsi="http;//www.w3.org/2001/XMIschema=instance" ereationDate="2005-07-1l1T1l:30;47.0Z" schemaVersion="1"y EPCISBody Eventlist ObjectEvent》 eventTime)2005-04-03T20:33:31.1l6-06:00(/eventTime eventTimeZoneOffset)-06:00(urn:epc:id:sgtin:0614141.107346.2017〈/epc ;sgtm,0614l.107346.2018(urn:epc: /epeList) action)OBSERVEurn:epcglobal:cbv:bizstep:shipping(/bizStep disposition>urn:epcglobal:cbv:disp:in_transit(/disposition readPoint GB/T37075一2018 ntTimeZoneOffset (eventTimeZoneOffset)-06:00urn:epc:id:sgtin:0614141.107346.2018(/epc /epcList (action)OBSERVE(/action) urn: epcglobal.cbv:bt:0614141073467:l152GB/37075?2018 eventTimeZoneOffset) (eventTimeZoneOffset)+02;00)urn:;epeglobal,cbv;bizstep;re receiving(urn;epeglobalcbv:disp;in_progress(/disposition readPoint id>urn:epc; ;idsgln;0614l4l.00777.01 ;4012345.012345.998877/e /epcCase ss epC >urn:epc;class:lgtin; quantity)200urn:epc:id:sgln:4012345.00001.0GB/T37075一2018 avendor/userextension(urn:epc:id:sgtin:0614141.107346.2017(/epc》 epc)urn:epc:id: n:0614141.107346.2018(/epc gtin /childEP(Cs OBSERVEurn:epcglobal:cbv:bizstep:receiving(/bizStep》 10GB/37075一2018 Meaning:10umitsofGTIN'o4012345987652" /quantityElement (quantityElement epcClass)urn:epc;class: lgtin;4012345.012345.998877KGM(/uom》 tolot'998877'--》 be.onein Meaning:200.5kgofGTIN'o4012345123456 ng" yElement /quantity 《/childQuantityList /extension》 example;myField)Exampleofavendor/userextensionurn:epe;id:sgtin;:4012345.011122.25(/epe) urn:epe;id:sgtin;4000001.065432.9988665510(/quantity uom)KGM/ uom 111
GB/T37075?2018 /qntiyElememm quantityElement) epcClass)urn:epc:epcclass:lgtin:061414l.077777.987/epcClass (quantity)30(/gquantity stheuomfaddhasbenonited,.10instaees.(eg.,pies)ofGTIN '00614141777778" lot'987'havebeenuused. edongingtol urn;epcid:sgtin;4012345.077889.25(/epc) urn:epcid;sgtin:4012345.077889.26(/epcy epc>urn;epe;id;sgtin;4012345.077889.27urn:epcglobal:cbv:disp:in_progress(/disposition) readPoint id)urn:epc:id:sgln:4012345.00001.0(/id /readPoint ilmd Sction,inwhichtheinstance/lotmasterdatareferimgtotheobjectsindieatedi" theoutputEPCListaredefned. example:bestBeforeDate)2014-12-10(/example:bestBeforeDate -Thenamespace'example'isjustaplaceholderforthedomainunderwhichtheIMD atributesaredcfned(orinstanee,yaGsIworkimggroup).Meaing;thebestbedoredateofthe 1oh aboveGTIN December2014.--) ?lotisthe example:batch)XYZ/example;bateh) /ilmd (example;myFieldExampleofavendor/userextension(/example:myField /TransformationEvent /extension /EventList /EPCISBody /epcis:EPCISDocument 112
GB/37075一2018 K.2主数据示例 以下是一个EPCISMasterDataDoeument示例,其包含BusinessL.ocation和ReadlPoint词汇的主数 据,译成XML语言呈现 ?xmlversion="l.0”encodin "UTF-8”standalone="ye"?? ing= epeismd;EPCISMasterDataDocument xmlns:epcismd="urn:epcglobal:epcis-masterdata:xsd:1" xmlns:xsi= "htp:/ .w3.org/'2001/XMI.Sdhemainstanee WWw schemaVersion= creationDate="2005-07-11Tl130:47.0Z" EPCISBody VocabularyList》 Voealbulaeryypw="umsepeglobalepcissye;BbusinesI.oeation" VocabularyElementlist》 VocabularyElemmentid="urn n:epe;id:sgln;0037000.00729.0") attribute id="http://epeis.example.com/mda/latitude")>十18.0000GB/T37075?2018 /children /VocabularyElement) VocabularyElementid="urn:epc:id:sgln:0037000.00729.8203" attributeid="urn;epcglobal:cbv;mda:sst")202/attribute attributeid= "u :cbv;mda:ssa")402(/attribute unepeklobal /VocabularyEle ement VocabularyElementList) Vocabulary Vocabularytype="urn:epcglobal:epcis:vtype:ReadPoint" 0037000007296(/attribute attributeid="urn:epcglobal:cbv:mda:sst")201/attribute VocabularyElement VoceabularyEle lementid "urn;epe;idsgln:0037000.00729.8202") GB/37075一2018 附录L 规范性附录 核心查询操作模块的XML架构 L1核心查询操作模块的XM架构(xSD) xmlversion="1.0" -"UTF-8"? ?? encoding= xsd:schematargetNamespace="urn:epcglobal:epcis-query:xsd:l" 'urn:epcglobal:epcis:xsd:1" XmlnS:epcIS -masterdata;xsd:1" sobal:epcis- xmlns:epcismd urn:epcglc xmlns:epcisg 'urn:epcglobal:epcis-query:xsd:1" xmlns:epcglobal 'urn:epcglobal:xsd:1" org/20o1/xMI.Schema xmlns:xsd="htt ttp://www.w3.o alified FormDefault="unqual elementl attributeFormDefault="unqualified" version="1.0" xsd:annotation xsd:documentationxml:lang="en" yright epeglobal;copy Copyright(C)2006,2005EPCglobalInc.,AlRightsReservedl /epcglobal:copyright epcglobal:disclaimer ,itsmembers,officers,directors,employees,or EPCglobalInc. agentsshallnotbeliableforanyinjury,loss,damages,finaneial orotherwise,arisingfro,relatedto,orcausedbytheuseof thisdocument Theuseofsaiddocumentshallconstituteyour expressconsenttotheforegoingexculpation. /epcglobal:disclaimer epcglobal:specification》 EPCISQuery1.0 GB/T37075?2018 -masterdata-1_l.xsd") alepis7 xsd:elementname="EPCIsQueryDoeumenttype="epeisqEPCIsQueryDocumentType" xsd:complexTy ypename="EPCIsQueryDocumentType" Xsd:complexContent xsd:extensionbase="epcglobal:Document" XSd:seguence xsd:elementname "EPCISHeader" type="epcis;EPCISHeaderTypeminOecurs ="o" xsd;eementname="EPCISBody"type="epcisgq;EPCIsQueryBodyType" xsd:elemmentname="extension"type="epcisg:EPCISQueryDocumentExtension- TypeminOccurs="0" -"omaxOe xsd:anynamespace-"#otherproesContens-"axminOecus- curs="unbounded"/> 7/xsd:sequence xsd;anyAttributeprocessContents="Iax") /xsd:extension /xsd:complexContent /xsd;complexType xsd.complexTypename="EPCIsQueryDocumentExtensionType" ?? xsd Seguence xsd:anynamespace="localprocessContents="laxmmaxOccurs="unbounded"/ /xsd:sequence xsd:;anyAttribute essContents="lax" teproce /xsd;complexTypey xsd:complexType -"EPCIsQueryBodyIype") name= (xsd;choiee xsd.dementrel-"epcisq.GeQueryNames"" xsd:elementref epcisq:GretQueryNamesResult" epcisq:Subscribe"" Xsd:element eepcisqSubseribeResult" xsd:element .element XSO 'epcisq:Unsubseribe" Dm1 epcisq:UnsubscribeResult" epcisg:GetSubscriptionlDs" nlDsResult" xsd:elementref epcisq:GetSubscriptionl xsd;elementref="epeisq;Poll") xsd:elementref="epcisq:GetStandardVersion" xsdelementrf="epesq;.GetStandardVersionResdl") 116
GB/37075?2018 ref? .GetVendorVersion" Xsd:;element "epcisq: xsd:elementref-"epcisq:GetVendorVersionResult") xsd:elementref="epcisq:DuplicateNameException"/ queryValidationExceptionunimplementedinEPCIS1.0 xsd;elementref="epeisqQueryValidationException") xsd;elementref 'epcisq:lnvalidURIException" Xsd:element epcisq:NoSuchNameException" " xsd:elementref epcisq:NoSuchSubscriptionException" epcisq:DuplicateSubscriptionException" xsd element QueryParameterEXception argeExceDtion QuerTooComplexExceptuion XO lnmTn ontrolsException subscribeNotPermitedException" xsd:elementrer SecurityException xsd:element t epcisq:ValidationException"/ xsd:elementref 'epcisq:lmaplementationException" "epcisq:QueryResults" xSdelementref= 7/xsd:choice /xsd:complexType EPCISSERVICEMESSAGEWRAPPERS-- ! xsd:elementname="GetQueryNamestype="epcisq:EmptyParms"> xsd:elementname="GetQueryNamesResulttype="epcisG sq:ArrayOfString" xsd:elementname="Subscribetype="epeisq:Subscribe" xsd:complexTypenamme="Subscribe" Xsd;sequence xsd:elementname="queryNametype="xsd:string"/ xsd:elementname paramstype="epcisq:QueryParams" xsd;elementname "dest" "xsd:anyURI" type= Subs xsd:elementname otionControls") 'controlstype="epcisq: )script xsd;elementname="subseriptionIDtype="xsd;string") /xsd:sequence uplexType) /xsd:comp -"SsubseribeResulttype="epeisq;VoidHolder") xsd:elementname? xsd;elementname="Unsubseribetype="epeisq;Unsubseribe") (xsd;complexTypename="Unsubscribe"y 117
GB/T37075?2018 Xsd:sequence> (xsd:elementname="subseriptionlDtype="xsd;string" /xsd:seguence /xsd:complexType) (xsd;elementname="UnsubseribeResulttype="epeisq:VoidHolder" xsd;elementname="GetSubseriptionIDtype="epcisq:GetSubseriptionID;" xsd:complexTypename="GetSubscriptionlID"y xsd:sequence xsd:elementname="queryName"type="xsd:string"/ /xsd:seguence exType /xsd:comple xsd:elementname="GetSubseriptionID;Resultype="epeisq;ArrayOfString") xsd:elementname="Poll" Poll" -"epeisq type= xsd:complexTypename="Pol"y xsd:sequence xsd:elementname= queryName"type="xsd,string" arams" xsd:elementname= -"epeisq.QueryPa paramstype= 7/xsd:sequence /xsd:complexType Theresponse fromaPollmethodistheQueryResultselement,definedbelow. TheQu yResultselementialsousedtodeliverstandingqueryresults ueryl throughtheQueryCalbackInterface-- smptyParms s" xsd:elementname="GetStandardVersion"type="epcisq;En versionResule" (xsd;elementname="GetStandardVe type="xsd;string") xsd:elementname="GetVendorVersion" type="epeisq:EmptyParms") xsd:elementname="GetVendorVersionResult" "xsd.:string" type= xsd:elementname="VoidHoldertype="epeisq:VoidHolder") name="VoidHolder" xsd;complexType Xsd:sequence /xsd:sequence /xsd:complexType " xsd,complexTypename="EmpyParms" name="ArrayOfString" xsd:complexType Xsd;sequence 118
GB/37075?2018 minOccurs="0" (xtd.dlement xOccurs="un- name="stringtype=Xsd;string" mmaxG bounded" /xsd:sequence /xsd:complexType "subseripionCcontros" xsd:complexTypename= xsd:seguence '"schedule" xsd:elementname= type="epcisqQuerySchedoleminOeurs="0" URI" -"o" xsd:elementname triggertype="xsd:any minOccurs= "o") xsd:elementname="initialRecordTimetype="xsd:dateTimeminOccurs= xsd:element reportlEmptytype="xsd:boolean"/) ControlsExtensionTypemi xsdelementname= extensiontype="epcisq:Subscription nOecurs="o" xsd:anynamespace="otherprocessContents="laxminOccurs="0max(Occurs= "unbounded"/) /xsd:sequence /xsd:complexType "SubscriptionControlsExtension nType") xsd.omplexType name xsd:sequence xsd:anynamespace=?"localprocessContents?"axmaxOccurs="unbounded" /Xsd:seguence sContents="lax"/ xsd:anyAt ttributeprocesl /xsd:complexType "QuerySchedule" name5 xsd.complexIype xsd:sequence -")") xsd:elementname secondtype="xsd:stringmin0ccurs= xsd:string"minO)ceurs="0" Xsd:element mlnute xsd:string"minOccurs="o" xsd:elementname hourtype dayOfMonthtype="xsd;stringminOecurs="o") xsd:elementname xsd:elementname monthtype= xsd:stringmin(Occurs="0"/ dayOfWweek"type= 'xsd;string"min(O)ceurs="0" Xsd:elementname5 xsd:elementname extensiontype="epcisq:QuerySseheduleExtensionTypeminOecurs -"o" xsd:anynamespace="#otherprocessContents="laxminOccurs="0maxOccurs= "unbounded"/) 7xsd:sequence /xsd:complexType xsd,complexTyper name="QuerySeheduleExtensionType" 119
GB/T37075?2018 Xsd:sequence> xsd;anynamespace="##localprocessContents="axnmaxOceurs="unbounded") /xsd:sequence xsd anyAttrlbue essContents="ax" teproce /xsd;complexTypey xsd:complexTypename="QueryParams" xsd:sequence -"0" "param" xsd:elementname= type="epcisq:QueryParamminOccurs= maxOccurs= "unbounded" /xsd:sequence /xsd:complexType / xsd:complexTypename="QueryParam"y Xsd;sequence ssd.elementname="nameype?"xsd;string") SeenoteinEPCISspectextregardingthevalueforthiselement xsd:elementname="value" "xsd:anyType") type= 7xsd:sequence /xsd:complexType xsd:elementname "QueryResults" "epeisq :QueryResults") type= exTy "QueryResults" xsd:comple ypename xsd:sequence xsd:elementname 'queryNametype="xsd:string" '"subscriptionlD" minOccurs="0" type-"xsd,string" xsd:elementname= tsBody" Xsd:elementnameresult -"epeisq.QueryResulsBbody") type- xsd:elementname="extensiontype="epcisq:QueryResultsExtensionTypeminOccurs "0" "other" ssContents="laxminOccurs="omaxOccurs= sed:any namespace= process "unboundedl") /xsd:sequence /xsd;complexType xsd:complexTypename="QueryResultsExtensionType")y xsd:sequence cessContents="lax"mmaxOccurs="unbounded") sd;anynamespace="#local" proc /xsd:sequence (xsd;anyAttributeprocessContents="ax") /xsd:complexType> 120
GB/37075?2018 xsd;complexType "QueryResultsBody") name? xsd:choice xsd;elementname="EventListtype="epcis;EventListType") xsd;elementname= "VocabularyListtype= -"epeismd.VoeabularyLitfType") /xsd;choieey /xsd:complexType EPCISEXCEPTIONS D (xsd:elementname="EPCISExceptiontype="epcisq;EPCISException" name="EPCISException"y xsd;complexType xsd:sequence xsd:elementname="reason"type="xsd:string" /xsd:sequence /xsd:complexType xsd:elementname="DuplicateNameException"type="epcisq:DuplicateNameException"/ xsd:complexTypenamme="DuplicateNameException" xsd:complexContent) xsd;extensionbase="epcisq;EPCISException") xsd:sequence /xsd:extension /xsd:complexCo ontent /xsd:complexTIype QueryValidationExceptionnoti ementedinEPCIS1.0 mple "Query>ValdationException"type- "epdisq.QueryValdationExeeption" xsd:elementname xsd:complexTypenanme="QueryValdationException" xsd:complexContent n" xsd:extensionbaSe= "epeisqEPCISEx xception xsd:sequence/ /xsd:extension /xsd:complexContent /xsd:complexTypey xsd:elementname="InvalidURIExce eeptiotype="epcsqlnvahiaRIExeption") xsd;:complexTypename="InvalidURIException" xsd:complexContent xsd:extensionbase="epcisq:EPCISException" xsd:sequence/y 121
GB/T37075?2018 /Xsd;extension /xsd:complexContent /xsd:complexType xsd:elementname="NoSuchNameExceptiontype="epcisq:NoSuchNameException") name="NoSuchNameException" xsd:complexType xsd:complexContent GB/37075?2018 Tool xsd.eememt name= largeException" "QueryTool.argeExeption ntype="epcisq:Query xsd;complexTypename="QueryTooLargeException") xsd:complexContent xsd:extensionbase="epcisq;EPCISException")y xsd:sequence xsd:elementname="queryNametype="xsd:stringminOeceurs="0" xsd:elementname="subscriptionlD" "xsd:strin minOceurs="o0" R" type= /xsdsequence /Xsd:extension /xsd:complexContent /xsd:complexTypey xsd:elementname="QueryTooComplexExceptiontype="epcisg:QueryTooComplexExcep- tion" name="QueryTooComplexException" xsd;complexType (xsd.complexCont tent xsd:;extensionbase= "epetsqEPCIsExeption") xsd:sequence/ 7/Xsd:extension /xsd:complexContent /xsd:complexType xsd:elementname="SubscriptionControlsExceptiontype="epcisq:SubscriptionControlsEx ception" xsd.complexTypename-"subsecriptioncontrolsException" xsd:complexContent -"epeisq:EPCIsException") xsd:extensionbase= xsd:sequence/ /xsd:extension /xsd:complexContent /xsd;complexType xsd;elementnamme="SubscribeNotPermitte type="epeisq:SubseribeNotPermitte tedException Excepion" xsd.complexTypename="SubseribeNotPermittedException")y xsd:complexContent xsd:extensionbase="epcisq;EPCISException")y xsd:sequence/ /xsd:extension /xsd:complexContent /xsd;complexType 123
GB/T37075?2018 "seourityException"type="epcisq;,SeourityException") Xsd:elementname xsd;complexTypename="SecurityException") xsd:complexContent xsd.extensionbase="epeisq;EPCIsException" xsd:sequence/ /xsd:extension /xsd:complexContent / /xsd,complexType) xsd:elementname="ValidationException"type="epcisq:ValidationException" name="ValidationException" xsd:complexType xsd:complexContent xsdr;extensionbase="epcisq:EPCISException")y xsd:sequence/ /xsd:extension 7xsd;complexContent /xsd:complexType xsd:elementname= -"ImplemetationExepion type="epecisq:lImplementationException" xsd:complexTypename="ImplementationException" xsd:complexContent Xsd:eXxtensionbase cepion") "epeisq:EPRCISEx xsd:sequence xsd:elementname= "severity ;lmplementatonExceptionseverity") type='epcisq: Name" -"xsdstringminOeurs="0") Xsd:elementname="query type= xsd;eementname="subseriptionl"type="xsd;string"nminOceurs="o" /xsd:sequence /xsd,extension) /xsd:complexContent /xsd:complexType "Inm "y xsd:simpleTypename= ImplementationExceptionSeverity (xsd;restrietionbase="xsd:NCName" GB/37075一2018 L.2查询控制接口的soAP/IHTP绑定的wSDL文件 ?xmlversion="1.0”encoding="UTF-8"? --EPCISQUERYSERVICEDEFINITIONS--》 wsdl:definitions 广" targetNamespace urn:epcglobal:epcis;wsdl:l xmlns="http /wsdl/" tp://schemas.xmlsoap.org/ xmlns;apaches0ap http; xml.apache,org/xml-soap 1 urn:epcglobal:epcis:xsd:l xmlns:epeis urn:epcglobal:epcis-query:xsd:1" urn:epcglobal:xsd:1" epcglobal wsdl1" l:epcis XTIll lTlO LUl O9OOe schemmas.xmlsoap.org/soap/encoding/" S0apenc xmlns:wsd "http: schemas.xmlsoap.org/wsdl/" sdl/s /oep" xmlns;wsdlsoap http://schemas.xmlsoap.org/wsd xmlns;xsd="http://www.w3.org/2001/XM.Sehema" wsdl:documentation epcglobal:copyright Copyright(C)2006,2005EPCgloballne.,AlRightsReserved. /epcglobal:copyright) (epeglobaldisclaimer EPCgloballnc.,itsmembers,officers,direetors,employees,oragentsshallnotbeliablefor anyinjury,loss,damages,financialorotherwise,arisingfrom,relatedto,orcausedbytheuseofthis Theuseofsaiddocumentshallconstitu reyourexpressconsenttotheforegoingexculpa document, ion. /epcglobal:disclaimer epeglobalspeeifieation /epeglobal;speeifieation) 《/wsdl:documentation --EPCISSERVICETYPES ! (wsdl;:types) xsd;schematargetNamespace="urn:epeglobal:epcis;wsdl;1!" wsdl:l1" xmmlns;impl="urn;epeglobal;epeis;N xmlns;xsd="http://www.w3.org/2001/XML.Schema" xsd:import namespace="urm:epeglobal;xsd,1" 125
GB/T37075?2018 "EPCglobal.xsd") schemal.ocation= xsd:import namespace="urn:epcglobal:epcis:xsd:1" schemaL.ocation "EPCglobalepcis-1_l.xsd") xsd:import namespace="urn:epcglobal:epcis-query:xsd:l1" y-1_1.xsd" schemal.ocation="EPCglobalepeisquery /xsd;schema) /wsdl:types EPCISQUERYSERVICEMESSAGES wsdl:messagename="getQueryNamesRequest" wsdl:partname="parms"element="epcisq:GetQueryNames") /wsdl: ;message e"y wsdll:messagename='getQueryNamesResponse" GB/37075?2018 wxl,mesgenwmc='poIReuet") (wsdl:partname="parmselement="epeisq;Poll") /wsdl:message wsdll:messagename="pollResponse" polR Return"element="epcisqQueryResults") wsdl:partname= /wsdl:message tStandardVer (wsdlmessage name rsionReqes" get parmselement="epcisq:GetStandardVersion") wsdl:partname /wsdl:message ne") wsdl:messagename= TetStandardVersionRespon "getStandardave eersionReturn"element= GetStandardVersionRe wsdl,par" name -"epeisq sult") /wsdl:message (wsdlnmessagename="getVendorVersonRequest" wsdl:partname="parmselement="epcisq:GetVendorVersion" /wsdl:message wsdlmessage -"getVendorVersionResponse") name= wsdll:partname="getVendorVersionReturnelerment="epcisq:GetVendorVersionRe sult"/ /wsdl message EPCISSERVICEFAUL.TEXCEPTIONs-- -- wsdll:messagename="DuplicateNameExceptionResponse"y wsdl:partname="faultelement= -"epeisq:DupliceateNameException") /wsdl:message QueryValidationExceptionnotinmplementedinEPCIs1.0 wsdl:messagename="QueryValidationExceptionResponse"y "fault"element= wsdl,par "epcisq:QueryValdationException") name= /wsdll:message wsdl:;messagename "InvalidURIExceptionResponse") wsdl:partname validRIEx n" "alt"element-"epcisq:;Inve xception /wsdl:message wsdl:messagename="NoSuchNameExceptionResponse" wsdl:partname= "fault"elemen nt="epcisq:NoSuchNameException") /wsdll:message (wsdl:messagename="NoSuchSubscriptionExceptionResponse") wsdl:partname="fault"element="epcisq:NoSuchSubscriptionException" /wsdl;messge) 127
GB/T37075一2018 wsdl;message name三 "DuplieatesSubscriptionExcepionResponse" wsdl;partname="aultelement="epeis,DplieatesSbsecripionExcepion") /wsdl:message (wsdl;messagename="QueryParameterExceptionResponse" wsdll;partname="faul" element="epeisqQueryParameterException") /wsdl:message' "QueryToolLargeExceptionResponse" 《Wsdl:meSSagename wsdl:partname="fault"element= "epeisqQueryTooLargeExeption") /wsdl:message wsdl:messagename="QueryTooComplexExceptionResponse") 《wsdl:partname="fault”element="epcisg:QueryTooComplexException") /wsdlmeSsage wsdl:messagename= "SubscriptionControlsExceptionResponse" 《wsdl:partname="fault”element="epcisq:SubscriptionControlsException"/ /wsdl:message "sSubseribeNotPermittedExeeptionResponse" (wsdl:messagename= wsdl:partname="fault”element="epcisq:SubscribeNotPermittedException"/ /wsdl:mess8 Ssage securityExceptionResponse") 《wsdl:messagename= wsdl:;partname="fault"element="epcisq:SeeurityException" /wsdl:message wsdl;messagename="ValidationExceptionResponse" wsdl ValidationEx l:partname="faul”element="epcisq: ceprtion") /wsdl:message wsdl:messagename="ImplementationExceptionResponse" wsdl:partname="fault”element="epcis mplementationException" sG /wsdl:message> !--EPCISSERVICEP(ORTTYPE--》 wsdl;portTypename一"EPCISServieePortType") wsdl:operationname="getQueryNames" name="getQueryNamesRequest") wsdl,inpumesage="impl.geQueryNameesRequest wsdl name getQueryNamesRe "impl:getQueryNamesResponse outputmessage一 sponse" wsdl:faultmessage "impl:SecurityExceptionResponse "SecurityException- name Fault" GB/37075?2018 /wsdl;:operation)y wsdl:operationname="subscribe" wsdl:inputmessage="impl:;subscribeReguestname subscribeRequest" (wsdl:outputmessage="impl;subseribeResponse name "subseribeResponse") wsdl:faultmessage="immpl.NoSuchNameExceptionResponsename="NoSuchNaneEx ceptionFault" wsdlfault validURIExeeptionr message="impl.InvalidURIExceptionResponsename="Inve Faul") wsdl:faultmessage="impl:DuplicateSubscriptionExceptionResponsename="DuplicateS ubscriptionExceptionFault"/ arameterEx 'QueryParame wsdlfaultmessage- "implQueryPa >xcepionResponse" name ht") terExceptionFault" wsdl:faultmessage "impl:QueryTooComplexExceptionResponse Query name TooComplexExceptionFault" wsd?lfaultmessage "mmplSubseriptionControlsExceptionResponsename="Subserip tionControlsExceptionFault"/ wsdl:faultmessage "impl:SubscribeNotPermittedExceptionResponse name="Sub seribeNotPermittedExceptionFault" impl:SecurityExceptionResponse"name wsdl:faultmessage "SecurityException Fault" wsdl;fault message="impl:ValidationExceptionResp0 ponsename="ValidationException- Fault" wsdl:faultmessage="impl:lmplementationExceptionResponsename="lmplementa- tionExceptionFault") /wsdl:operation wsdl:operationname="unsubscribe") wsdl:inputmessage="impl:unsubscribeRequest"name= 'unsubscribeReguest" (wsdl.ouput nmessage="impl,unsubscribeResponsename 'unsubseribeResponse") (wsdllfaultmessage="impl;NoSuchSubseriptionExceptionResponsename="NoSuchSub scriptionExceptionFault" wsdl:faultmessage "impl:SeeurityExC reptionRe "SecurityException esponse name Fault" "V wsdlfaultmessage="impl:ValidationExceptionResponsename= alidationException- Fault" wsdl.faultmessage="impllmplementationExceptionResponse" name= "Impleme enta tionExceptionFaut" /wsdll:operation wsdl: etSubseriptionlDs") -"et :operationname= 129
GB/T37075?2018 "implgetSubseriptionIDRe getSubscriptionlDsRe wsdll:inputmessage equestname? quest") GB/37075?2018 Fault" wsdl:faultmessage="impl:lmplementationExceptionResponsename="Implementa- tionExceptionFault") /wsdll:operation (wsdll:operationname="getVendorVersion" wsdl:inputmessage="impl:getVendorVersionRequestname="getVendorVersionRe- quest vendorVersionResponsename="getVendorVersionRe- "impl:gety wsdl:outputmessage= sponse") wsdl:faultmessage "impl:SecurityExceptionResponse "SecurityException- name Fault" wsdlfaultmessage="impl:ValidationExeeptionResponsename= "ValdatonExcepion Fault"/ wsdl:fault ImplementationEx xceptionRe "Implementa -"impl" tmessage= sponsename= tionExceptionFaule" /wsdl:operation /wsdl:portIype !-EPCISSERVICEBINDING-- (wsdlbindingnanme="EPCIsserviceHBindingtype="impl;EPCIsServicePortType") (wsdlsop,bindingstye="doeumentransport= //schemas sxmlsop.or/Aop/htp") -"hp;" wsdl:operationname="getQueryNames" wsdlsoap.operationsoapAction="" wsdl:inputname? "eQwe 1eryNamesRequest"y wsdlsoap:body use="literal" /wsdl:input se" wsldl.output "getQueryName name= eelResponse wsdlsoap:body iteral") use /wsdl:output wsdl:faultname= "Secur nFault" rlyEx xceptior wsdlsoap:fault name="SecurityExceptionFault" use="Iiteral" /wsdllfault) (wsdl:faultname="ValidationExeeptionFaul") wsdlsoap:fault name-"ValidationExceptionFaul" 131
GB/T37075?2018 use="Iiteral" /wsdll:fault) wsdl:faultname="ImplementationExceptionFault"y wsdlsoap;fault nsme="mplementationExceptionFar" use="literal" /wsdl:fault /wsdl,opration wsdl:operationname="subscribe" wsdlsoap:operationsoapAction="") wsdl: :inputname="subseribeRequest") wsdlsoap:body use="iteral" /wsdl: input (wsdll:outputname="subseribeResponse" wsdlsoap:body use="literal" GB/37075?2018 "QueryTooComplexExceptionFaul" name= use="literal" /wsdl:fault wsdl:faultname="SubscribeNotPermittedExceptionFault" wsdl.oep.faule name="SubscribeNotPermitedExceptionFault" use="Iliteral" /wsdllfault) GB/T37075?2018 (wsdlsoap;fault name="NoSuchsubseriptionExceptionFaul" use="Iiteral"/) /wsd4l:fault (wsdllfaultname="SecurityExceptionFault") wsdllsoap:fault name="SecurityExceptionFault" use="Iiteral" /wsdlfault) / t"y wsdl:faultname="ValidationExceptionFault" wsdlsoap:fault name="ValidationEx ceptionfaulr" use="iteral" /wsdl:fault wsdl:faultname= "ImplementationExceptionFault"" wsdlsoap;lault name="ImplementationExceptionFault" use="literal" /wsdl:fault /wsdll:operation wsdl:operationname="getSubscriptionlDs" )Action="" wsdleoap:operation soap (wsdll;inputname="getSubscriptionlDsRequest") (wsdlsoap:body use="Iiteral" /w.sdl.mpuy wsdl:outputname="getSubscriptionlDsResponse" (wsdlsoap:body use="Iiteral" /wsdl:output wsdl:faultname="NoSuchNameExceptionFault" wsdlsoap:fault name="NoSuchNameEx nFault" xception use="iteral" " /wsdll:fault wsdl:faultnatme="SecurityExceptionFault" wsdlsoap;lault name-"seeurityExceptionFaul" use="literal" /wsdl:fault 134
GB/37075?2018 name="ValidationExceptionFault") (wsdlfault wsdlsoap:fault name="ValidationExceptionFault" use="Iliteral" /wsdllfault) GB/T37075?2018 /wsdllfault) " (wsdllfaultname="SecurityExceptionFault wsdlsoap:fault "SecurityExceptionFault" name "iteral") use? /wsdll:fault wsdl:faultname="ValidationExceptionFault"y wsdls fault soap; name="ValidationExceptionFault" use="iteral" /wsdl:fault wsdl:faultname= "mplementationExceptionFaulte") wsdlsoap:fault name="ImaplementationExceptionFault" use="Iiteral" /wsdllfaulty /wsdl:operation w.sdl.peration" "etstandardversion") name= -"" wsdlsoap:operationsoapAction= wsdl:inputname="getStandardVersionRequest" wsdlsoap,body use="Iiteral" /wsdl:input wsdl:outputname "getStandardVersionResponse" wsdlsoap,body iteralr) use5 /wsdl:output wsdl:faultname="SecurityExceptionFault" wsdlsoap.faun name-"SecurityExceptionFaul" use="literal" /wsdl:fault wsdl:faultname= "ValidationExC )nFault" xception wsdlsoap:fault name="ValidationExceptionFault" use="Iiteral" /wsdllfaulty wsdl:faultname="ImplementationExceptionFault" wsdlsoap:fault 3nFault" "ImplementationExc name= Kceptio1 136
GB/37075?2018 use="literal" /wsdllfault)y /wsdl:operation (wsdl:operationname="getVendorVersion") 7 wsdlsoap:operationsoapAction= 7 wsdl:inputname="getVendorVersionRequest" wsdlsoaep:body use="iteral" /wsdl:inmput wsdl:outputname= retVendorVersionResponse" "g wsdlsc bod soap: use="literal" /wsdl:output ws4l:faultname="SecurityEx xeeptionFaue" wsdlsoap;lfault name="SecurityExceptionFault use="literal") /wsdlfault)y wsd:faultname="ValidationExceptionFault") wsdlsoap:fault name="ValidationExceptionFault" use="literal" /wsdl:fault wsdl:faultname="ImplementationExceptionFault") (wsdlsoapfaul lmplementationExceptionFaul' name5 use="literal" /wsdl:fault /w;dl,operatiom /wsdl:binding EPCISSERVICE-- D (wsdl:servicename="EPCglobalEPCISService" (wsdl;portbinding="impl:EPCIServiceBindingname="EPCglobalEPCIsservicePort" Theaddressshownbelowisanexample;animplementationMAYspecify anyportitwishes wsdlsoap;address -"http://loealhost:6060/axis/servie ces/EPCglobalEPCISServyiee" location= 137
GB/T37075?2018 /wsdll;port)y /wsdl:service /wsdl:definitions 138
GB/37075一2018 附录M 资料性附录》 Gs1As2指南 EPCIS查询客户端和查询服务应遵守本标准的相应要求.,并且宜遵守Gs1技术文档EDNVTAs1 和AS2传输通讯指南中所列的建议 作为参考,下面引用了上述指南中的相关部分 数字认证要求 要求1 有效负载数据应使用s/MIME规范进行加密和数字签名(参见RFC3851) 要求2 -次性会话(对称)密钥的长度应为128位以上 要求3 公共/私有加密密钥的长度应为1024位以上 要求4 公共/私有签名密钥的长度应为102位以上 要求5 数字签名哈希算法应使用SHA1 配置要求 要求6 数字签名的收据[签名消息处理通知(MINw)]应通过消息的发送方提出请求 建议 建议1MDN请求选项 异步或同步MDNs可与EDIINTAs2一起使用 异步和同步的MDNs都有潜在的问题,贸易伙 伴需要依据操作环境和消息特性来联合决定哪个选择是最好的 建议2-MDN传递 接收者宜尽可能快地传输MDN来确保消息发送者知道消息已经被接收并被EDIINT软件及时处 理 此方式除应用于异步和同步MDN请求外也同样应用于As1和As2 建议3 -带异步MDN、请求的传递重试 当成功发送了一个消息,但异步MDN还没有及时收到,消息发送者宜按照配置时间等候,之后重 新发送一个和原消息有同样内容和消息ID值的消息 等候MDN时间然后自动重发消息是基于业务 和技术的需要,但通常不宜少于1h 自动消息重发不多于2次,就宜联系消息接收方的技术支持 建议4--AsS2的传递重试 当除了“200OK"之外的任何其他HTTP响应被接收到时例如,401,500,502,503超时等),宜重 新尝试传递 这表示实际的数据传输没有成功 重新尝试传递的消息应含有和原消息相同的内容和消 息D值 宜根据配置的时间表传递重试 当消息成功发送后(通过接收到HrTP200状态码表示)应 停止传递重试,或者当超过重新尝试传递限制次数时应停止传递重试 建议5-消息重新提交 如果自动传递重试以及自动交付重寄都没有成功,消息发送方可选择在稍后的时间重新提交的新 信息的有效载荷数据 消息接收方也可在成功接收后但丢失消息的情况下请求重新提交消息 如果重 新提交消息,应使用新的消息ID 重新提交消息通常是手动操作 139
GB/T37075一2018 建议6HTTP与HTTP/sSSL 对于EDNTAS2,宜使用传输协议HTTP 然而,如果需要保护AS2-To和AS2-From地址和其 他As2头信息,除As2提供的有效载荷加密外可使用HTTPs HTTPs提供的加密只保护客户端和 服务端之间直接的点到点通信信道 建议7 -AS2标头 对于EDINTAS2,标头中AS2-To和AS2-From字段中使用的值宜是GS1全球位置码(GLNs) 建议8 SMTP [不适用] 压缩 建议9 EDIINT压缩可选择使用,特别是如果消息大小大于1Mbit/s时 虽然EDIINT软件的当前版本 自动处理压缩,也宜经发送方和接收方双方同意 建议10数字证书特性 数字证书可以是来自可信的第三方或者在贸易伙伴间达成一致时由自已签署 如果使用来自第三 方的证书,信任等级最小宜是“Class2”,其保证已通过了个人或组织的认证 建议11 -加密和签名的共同数字证书 个数字证书可既用于加密又可用于签名,然而如果业务流程有要求,可使用两个单独的证书 虽 然EDIINT软件目前的版本自动处理两个证书,也宜经发送方和接收方双方同意 建议12 数字证书有效期 数字证书有效期最少宜是1年,最多宜是5年 建议13数字证书一自动交换 证书交换的方法应经双方同意 当“EDIINT的证书交换消息”规范被软件厂商广泛应用时,它将 得到强烈推荐 一旦建立了最初的信任关系,此IETF规范将能进行自动证书交换,并且将大大减轻在 证书到期日之前人工交换证书的操作负担 建议14As2的HrTP和HTTP/S端口号 在一个单一端口上接收AS2消息对每个协议)大大减少了诸如为发送和接收伙伴设定防火墙这 样的操作的复杂性 理想中,所有As2伙伴使用同一个端口号接收消息 然而一些AS2伙伴之前已 经标准化地使用了与他人不同的端口号,更换到新的端口号会增加开支却没有对应的收益 因此,AS2伙伴可标准化地使用端口4080接收HTTP消息,并使用5443端口来接收HTTP/s SSL)消息 建议15 重复AS2消息 AS2软件宜使用“AS2Message-ID"值来探测重复消息,并避免向内部业务应用发送来自重复消息 的有效载荷 当探测到一个消息是重复的时,消息接收方应返回一个适当的MDN 注意:互联网工程 任务组(IETF)正在开发一个“EDIINTAS2操作可靠性”规范,其定义了避免重复和保证可靠性的 流程 建议16技术支持 每个消息发送方和消息接收方之间宜有技术支持联系 联系信息宜包括名称,电子邮件地址和电 话号码 对于24×7×365全天候工作,也宜提供寻呼或帮助台信息 40
GB/37075一2018 参 考文献 [1]EPCglobalArchitectureFramework,July2005. [[2] GS1Standard:TheApplieationLevelEventsALE)Specifieation,Version1.0,http:/ wepeglobalin rds/ale/ale_1 _1_0-standard一20050915.pdf www inc.org/standarG [[3]GS1SystemArehiteeture,April2015. http://www.epeglobalinc.org/standards/arechitecture/architeeture_1_0-standard20050701.pdf [4]RFC1738UniformResourceL.ocators(URL),http://www.ietf.org/rfc/rfcl738. [3习] RFC2141URN www.ietf.org/rfc/rfe2141.txt. Secure/MultipurposeInternetMai [[6]RFC3851 [7]UNCEFACT DocumentHeaderTechnicalSpeefieation,Version1.3. StandardBusir O June2004,http;//www.gsl.org/services/gsmp/kec/ecom/xtml/xtmL_sbdh.html [8 UnitedNationsEconomicCommmissionforEurope,“Recommendation20:CodesforUnitsof MeasureUsedinlnternationalTrade,”September2010,http://www.unece.org/fileadmin/DAM/ce fact/recommendations/rec20/rec20Rev7e2010.zip. [[97 yersioningXML.Vocabularies,December 2003,http://www.xml.com/pub/a/2003/12/03/ versioning,html. [10] W3CNote:WebServicesDescriptionlanguageWSDL1.l,March2001,http://www w3.org/TR/2001/NOTE-wsdl20010315. w3CRecommendation:Extensible xML.)1.0ThirdEahition),February MarkupLanguge [11] TR/2004/RC 2004,http://www.w3.org -xml20040204/. w3c [12 Recommendation;:XMLSchemaPart1:Structures,May2001,http://www.w3.org" TR/xmlschema-1 W3CRecommmendation:XMLSchemaPart2:Datat types,May2001,http://www.w3.or )rg TR/xmlschema-2/ [14]wSiFinalMaterial:BasicProfleVersion1.0,April2004,http://www.ws-i.org/Profiles/ BasieProfle-1.02004-04-16.htm [15]XMI.DesignRulesforEAN.UcC,Version2.0,February2004.

物品电子编码信息服务GB/T37075-2018解析

随着物流行业的快速发展以及人们对商品质量和安全的关注度不断提高,物流追溯和信息管理成为了现代物流行业不可或缺的重要环节。物品电子编码信息服务作为一种基于电子技术的物流追溯和信息管理技术,被广泛应用于各个领域。GB/T37075-2018标准对该技术进行了详细规范和说明。

物品电子编码信息服务主要包括两个方面:物品电子编码和信息服务。其中,物品电子编码是指将每个物品都分配一个唯一的电子编码,通过该编码可以对物品的相关信息进行追溯和管理。而信息服务则是指通过网络、云计算等技术,将物品的相关信息进行汇总和处理,为用户提供更加便捷和全面的物流信息服务。

在GB/T37075-2018标准中,对物品电子编码和信息服务的相关技术规范进行了详细阐述。其中,物品电子编码的要求包括:电子编码的结构、生成方式、唯一性、长度等方面都有明确规定。而在信息服务方面,该标准还规定了物品信息采集、存储、传输和处理等各个环节的技术要求。

物品电子编码信息服务具有诸多优势。首先,通过物品电子编码,可以实现对物品全生命周期的追溯,大幅提高了物流追溯的效率和准确性。其次,信息服务能够为物流从业者、消费者等提供更加便捷和全面的物流信息和服务,提升用户体验和满意度。此外,该技术还可以有效地防范假冒伪劣商品的流通,保障消费者的合法权益。

总之,物品电子编码信息服务是一种基于电子技术的物流追溯和信息管理技术,其标准规范在GB/T37075-2018中得到了明确的规定。该技术具有广泛应用前景和重要意义,未来将在物流行业中扮演越来越重要的角色。

物品电子编码信息服务的相关资料

    和物品电子编码信息服务类似的标准

    紫外激发荧光防伪纤维技术条件
    上一篇 本文分享国家标准紫外激发荧光防伪纤维技术条件的全文阅读和高清PDF的下载,紫外激发荧光防伪纤维技术条件的编号:GB/T37074-2018。紫外激发荧光防伪纤维技术条件共有13页,发布于2019-07-01
    信息安全技术指纹识别系统技术要求
    本文分享国家标准信息安全技术指纹识别系统技术要求的全文阅读和高清PDF的下载,信息安全技术指纹识别系统技术要求的编号:GB/T37076-2018。信息安全技术指纹识别系统技术要求共有29页,发布于2019-07-01 下一篇
    相关推荐