电子商务基础与应(第四版)上海理工大学电子商务研究所设计制作:王锡俊第九章ebXML原理9.1ebXML简介9.2ebXML基本构件9.3ebXML商务系统的运作9.4ebXML的实施脑筋急转弯包括一套相互关联的电子商务功能标准,这些标准的集合能够形成一个完整的电子商务框架模块。它定义了全部结构,从新角度定义商务活动,为B2B电子商务提供成套标准文件。ebXML包括:(1)商务流程的分析与建立;(2)商务信息的发掘与整理;(3)商务文件的规范化;(4)企业合同形成能力的计算机化;(5)贸易伙伴之间商务信息或文件的包装与安全传输。9.1.2为什么要推广ebXML传统的EDI尚有某些缺点:(1)大部分信息通过专有信息网络传输;(2)需要压缩数据形式以减少带宽的使用;(3)语法复杂,撰写程序处理EDI信息比较困难;(4)费用高,覆盖面小。XML具有以下优点:(1)比EDI简单;(2)除企业之间的信息传输外,还有更多的用途;(3)很容易找到熟悉这种语言的开发者;(4)是一个中立语言平台;(5)在任何地方都容易建立XML的阅读和传送应用。XML的出现给电子商务带来了解决标准问题的优秀方法,但是电子商务的XML技术规范不仅仅是涉及到XML技术本身的问题,更重要的是要把电子商务的流程和管理方法结合到其中。为解决上述问题,ebXML出现了。ebXML带来的益处主要表现在:提供全球性的电子商务开放标准;建立全球统一的电子商务市场;推动中小企业和发展中国家电子商务的推广;协助目前采用EDI或电子商务的公司进一步转型,采用新的电子商务标准,进而发展新的交易伙伴;加速目前各种XML产业标准的整合。9.1.3ebXML的产出文件ebXML产出文件可分为技术规范、技术报告、白皮书和参考文件四种。技术规范属于ebXML架构强制性的标准。包括:(1)ebXML技术架构规范;(2)ebXML商业流程规范计划;(3)ebXML注册信息模型;(4)ebXML注册服务规范;(5)ebXML要求规范;(6)合作意向框架与协议规范;(7)信息服务规范。9.2ebXML基本构件9.2.1注册中心9.2.2合作协议概要与合作协议契约9.2.3信息结构9.2.1注册中心1.ebXML注册中心的作用ebXML注册中心提供了一套服务能够使ebXML电子商务参与者信息共享,其目的是各参与者之间基于ebXML规范进行商务流程整合。共享信息保留在数据库中,由ebXML注册中心管理。2.ebXML注册中心的工作程序假设购买者和销售者希望使用ebXML进行B2B交易,双方都使用由第三方提供的注册中心的服务。注册工作将按照下列程序进行:(1)提交计划文件;(2)提交商务流程文件;(3)销售者提交合作意向框架;(4)购买者寻找销售者;(5)建立合作协议。3.ebXML注册中心的结构ebXML注册中心包括注册中心服务和注册中心客机户。注册中心服务机提供管理数据库的方法;注册中心客户机是进入注册中心的应用软件(参见图9-1)。图9-1显示,在组成基本管理对象和查询方式的一组界面中,有两个主要界面:(1)生命周期管理界面(LM)。(2)咨询管理界面(QM)。注册中心服务机注册中心客户机LMQMRC图9-1ebXML注册中心结构示意图注册中心客户机程序通过调出不同的界面使用注册中心的服务。图11-2描述了注册中心结构支持的两种可能的拓扑形式。左侧图,注册中心提供了一个基于“瘦客户机”程序的网络,使用者可以使用普通网络浏览器进入注册中心。右侧图,使用者使用“胖客户机”注册浏览器应用软件进入注册中心。注册中心客户机界面通过因特网与注册中心保持联系。图9-2注册中心结构支持的两种可能的拓扑形式9.2.2合作协议概要与合作协议契约1.合作协议概要(CPP)合作协议概要定义了参与交易的一方与其他方进行信息交换的能力和商务合作的能力。CPP的形成如图9-3所示。参与方A将信息列表,然后构建一个包括上述信息的CPP,并将其放入注册中心的数据库中,以便查询。一旦参与方A将其信息放入数据库,其他参与方就可以通过注册中心数据库的查询服务,发现参与方A。图9-3CPP的形成商务内容具有的能力交易时间与贸易伙伴的合作参与方A企业信息----企业名称-----联系方式传输协议传输安全协议信息协议连接过程规范文件终止与重试其他CPP描述建设在贸易伙伴建立协议并运作相互之间的信息交换时,每个贸易参与者需定义自己的CPP。每个CPP都涉及:(1)一个或多个将建立在ebXML注册中心的现有商务流程。(2)一个或多个信息定义,这些定义应从可以重复利用的角度加以定义,并将储存在ebXML注册中心。每个CPP还需要详细说明:(1)贸易伙伴能够参与商务交易;(2)技术协议和技术特性;(3)贸易伙伴共同承认的其他协议和创建的CPA。图9-4XML语言描述的CPP总体结构CollaborationProtocolProfilexmlns=:ds=:xlink==1.1PartyInfo!--oneormore--.../PartyInfoPackagingid=ID!--oneormore--...Packagingds:Signature!--zeroorone--.../ds:SignatureCommenttext/Comment!--zeroormore--/CollaborationProtocolProfileCPP是XML语言描述的文件,图9-4是XML语言描述的CPP总体结构。CollaborationProtocolProfile是CPP总体结构的根元素,需要三种名称空间表明其性质:xmlns=“”是缺省名称空间。这个缺省是对于文档本身的内容而言的。xmlns:ds=“”是XML数字签名(DigitalSignature,ds)的名称空间。xmlns:xlink=“”是xlink名称空间,它允许CPP引用外部的信息。version注明所使用的ebXML相关规范版本的信息。CollaborationProtocolProfile根元素由以下子元素构成:PartyInfo元素用于组织的鉴别,提供有关组织的详细信息。Packaging元素提供了有关信息台头和内容的封装方法。CPP文件可以使用XML数字签字规范。Comment元素是文本文件,用于记录交易者希望达到的各种意愿。2.合作协议契约(CPA)合作协议契约定义了交易双方在履行已经选择的商务流程过程中相互作用的方式。交易双方使用同样的CPA构建其运作时间系统。图9-5中,参与方A和B运用各自的CPP共同建立了一个独立的CPA,此CPA汇集双方CPP中共同点,并确定双方商务合作的履行方法。CPA同样是XML语言描述的文件,图9-6是XML语言描述的CPA的总体结构。CPA标识参与各方信息----参与方A----参与方B传输协议传输安全协议文件交换协议连接过程规范文件重试其他参与方A的CPP参与方B的CPPCPA同意CPA同意CPA1谈判2谈判3传输基于CPA的协议34彼此开始电子商务活动传输基于CPA的协议图9-5CPA形成示意图图9-6XML语言描述的CPA的总体结构CollaborationProtocolAgreementxmlns=:bpm=:ds=:xlink==YoursAndMyCPAversion=1.2Statusvalue=proposed/Start1988-04-07T18:39:09/StartEnd1990-04-07T18:40:00/End!--ConversationConstraintsMAYappear0or1times--ConversationConstraintsinvocationLimit=100concurrentConversations=4/PartyInfo…/PartyInfoPartyInfo…/PartyInfoPackagingid=N20!--oneormore--.../Packaging!--ds:signatureMAYappear0ormoretimes--ds:Signatureanycombinationoftextandelements/ds:SignatureCommentxml:lang=en-gbanytext/Comment!--zeroormore--/CollaborationProtocolAgreementCPA同样是XML语言描述的文件,图9-6是XML语言描述的CPA的总体结构。CollaborationProtocolAgreement是CPA总体结构的根元素,有四种名称空间表明其性质,其中的缺省名称空间、ds名称空间和xlink名称空间与CPP相同,同时增加了商务流程的名称空间:xmlns:bpm=除version注明所使用的ebXML相关规范版本的信息外,CPA还包含了双方都使用的cpaid属性。CPAid是用于鉴别参与CPA的各方身份的元素。CollaborationProtocolAgreement根元素由下列子元素构成:一个Status元素,说明创建CPA的过程状态;显示这一过程中文档的位置,可能的值是proposed、agreed和signed。一个Start元素,记录CPA开始生效的日期和时间。一个End元素,记录CPA结束的日期和时间。零个或一个ConversationConstraints元素,记录经过谈判确定的协议。PartyInfo元素、Packaging元素、ds:Signature元素和Comment元素的含义与CPP相同。3.CPP/CPA与注册中心CPP/CPA与注册中心的工作程序,可分为6步:任何参与方都可以将自己的CPP在注册中心注册。参与方B通过注册中心的检索发现参与方A(买方),将参与方A的CPP下载到自己的服务器上。参与方建立CPA(A、B)并将CPA(A、B)传给参与方A。参与方A与参与方B谈判形成CPA,并各自在自己的服务器上保存同样的CPA。参与方A与参与方B根据CPA的信息形成运行时间系统。参与方A与参与方B在新的CPA规范下开展交易活动。图9-7CPP/CPA与注册中心的工作程序注册中心参与方A(销售者、服务器)CPP(B)CPP(X)CPP(Y)CPP(Z)CPP(A)(2)(6)(3)(4)(1)(1)参与方B(购买者、服务器)CPA(A、B)(文件)(document)(扩展名、编码)(Exe.Code)(5)CPA(A、B)CP