资源预览内容
第1页 / 共238页
第2页 / 共238页
第3页 / 共238页
第4页 / 共238页
第5页 / 共238页
第6页 / 共238页
第7页 / 共238页
第8页 / 共238页
第9页 / 共238页
第10页 / 共238页
亲,该文档总共238页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
电子商务新技术电子商务新技术电子商务新技术电子商务新技术ebXMLebXML电子商务全球化标准电子商务全球化标准主讲:杨海棠主讲:杨海棠第一章第一章 绪绪 论论 课课 程程 性性 质质 本课程主要介绍介绍电子商务新新技术,力求反映电子商务发展的最新动态,因此,有些理论与技术未必是成熟完善的。大家在学习的过程中,要充分发挥其主动性,在了解新技术的同时,力求找出现存的问题。 课程内容的安排课程内容的安排 本课程将通过商务技术发展的历史,从两个角度深入,引出目前电子商务新技术ebXML。 商务商务+技术技术=电子商务新技术电子商务新技术 重点介绍ebXML的发展背景、 应用层面、 整体框加 为了让大家更好的理解为了让大家更好的理解ebXML,我们还要简单介绍一下我们还要简单介绍一下EDI与与XML技术。技术。 EDI电子数据交换电子数据交换 XML扩展性标注语言扩展性标注语言所所 选选 教教 材材基本教材: ebXML电子商务全球化标准 参考资料: XML及其在电子商务中的应用 方美琪 人民大学出版社 IT经理世界 http:/www-900.ibm.com/developerworks/cn/index.shtml 基本教材中的附录内容 电子商务及其技术的发展电子商务及其技术的发展电子商务必然以电子商务必然以技术技术为基础,为基础,但仍然是但仍然是商务商务活动。活动。 商务的发展商务的发展 企业B企业A商务活动(买卖)商务活动(买卖) 洽谈,看样,定洽谈,看样,定货,付款,提货货,付款,提货(人,电话,纸质(人,电话,纸质化管理)化管理)传统商务传统商务思考: 对企业而言,从传统商务到电子商务,需要作哪些准备工作呢?网络网络企业信企业信息化,息化,管理电管理电子化子化商务流程商务流程电子化,电子化,网络化,网络化,全球化全球化企业资源共享企业资源共享技术的发展技术的发展 网 络企业信息化商务流程电子化(交易电子化)全 球 化Internet的发展MIS,LAN等EDI(X12标准)ebXML(ebXML标准)背景、应用、商务需求、技术框架XML的产生XML应用于电子商务电子数据交换(电子数据交换(EDI)我们过去了解的电子商务我们过去了解的电子商务EDI是英文electronic data interchange的缩写,是出现在20世纪70年代的一项信息技术。它将企业与企业之间的商业文件在计算机之间从应用到应用的传送和处理。无需人工介入,无需纸张文件,通过网络直接进行信息业务的交换与处理。减少数据处理费用减少数据处理费用减少数据重复录用费用减少数据重复录用费用缩短交易时间缩短交易时间降低库存和成本降低库存和成本提高效益提高效益不错呀!EDI的重要性:参见课本第的重要性:参见课本第91-95页(自学部分)页(自学部分)EDI这么好,为什么会出现XML呢? 看看EDI的工作原理,你能发现什么 问题吗?应 用文件管理源数据映射程序翻译软件平面文件企业内部系统VAN增值网应 用文件管理源数据映射程序翻译软件平面文件企业内部系统EDI报文EDI报文EDI信箱 发送端发送端用户数据库源数据平面文件(Flatfile , 映射程序一种无格式的数据文件)EDI报文 翻译软件 接受端接受端 问题:问题: 使用EDI时,贸易伙伴不需要具有相同的文件处理系统,但需要几种EDI软件将其转换为标准格式。 国际标准:X12(美国),EDIFACT(联合国)1997年X12被EDIFACT所吸收。 缺点:缺点: 需要建设专用网络(EDI报文的传输只能使用指定的网络协议和安全保密协议) 系统的高成本,整和的大量时间 缺乏与公司其他商务系统的集成 尤其不适合中小型企业的电子商务应用 EDI的缺陷正是XML应用的长处,XML的诞生为电子数据交换提供了新的思路。 XML是什么呢? XML为什么比EDI更容易流行呢?EDI的商务流程规范思想XML的技术两者是EBXML标准形成的基础第二章 XML简介本章主要是对XML进行一个概要性的讲解,包括: 什么是标记语言,XML为什么是标记语言 既然XML解决的是和HTML相同的问题,为什么要用XML XML的优势在哪里,它对电子商务的意义何在?一、什么是标记语言 我们日常书写的语言,称为书面自然语言。如果在书面自然语言中为了标识某些信息,而加入一些标记,这种书面自然语言就可以称为标记语言(Markup Language)。 比如:今天我生病了!(下划线可以看作是标记语言) 起标识说明性作用 二、什么是XML XML,即可扩展标记语言(Extensible Markup Language),是一种您可以用来创建自己的标记的标记语言。 它由万维网协会(W3C)创建,用来克服 HTML(即超文本标记语言Hypertext Markup Language)的局限。 和 HTML 一样,XML 基于 SGML 标准通用标记语言(Standard Generalized Markup Language)。尽管 SGML 已在出版业使用了数十年,但其理解方面的复杂性使许多本打算使用它的人望而却步(SGML 也代表“听起来很棒,但或许以后会用(Sounds great, maybe later)”)。XML 是为 Web 设计的。三、我们为什么需要XML? HTML 始终是最成功的标记语言。你几乎可以在任何设备(从掌上电脑到大型机)上查看最简单的 HTML 标记,并且你甚至可以用合适的工具将 HTML 标记转换成语音和其它格式。既然 HTML 成功了,为什么 W3C 还要创建 XML 呢?为了回答这个问题,请查看下面这个文档: 推荐书目 c+程序设计教程 Asp网页制作 思考:如果让你基于以上代码,编写一个查询算法,查找这个HTML文档中所有的书名信息有多少,每一条书名信息的具体内容是什么? 问题在哪里呢问题在于HTML是为人设计的。即使不用浏览器查看上面的 HTML 文档,你和我也会知道那是一个图书书目的清单。遗憾的是机器不能做到。尽管这个文档中的标记告诉浏览器如何显示该信息,但标记没有告诉浏览器信息是什么。你和我知道它是一个书目清单,但机器不知道。四、XML文档样本! DOCTYPE 推荐书目推荐书目 C+程序设计程序设计 张三张三 18.00元元 Asp网页制作网页制作 李四李四 28.00元元 使用 XML,你可以给文档中的标记赋予某种含意。更重要的是,机器也容易处理这样的信息。只需通过找到 和 标记之间的内容(技术上称为 元素),就可以从该文档抽取图书的书名。 五、比较XML与HTML (一)与HTML不同的是,XML能够定义文档类型(DTD),因而可以像SGML那样,作为元语言,来定义其他文件系统或标记语言。 如果将标记语言分为元标记语言和实例标记语言,那么,SGML和XML都是元标记语言,而HTML和由XML派生的XHTML都是实例标记语言标记语言标记语言元标记语言元标记语言(SGML,XML)实例标记语言实例标记语言(HTML,XHTML)1.HTML是一种显示描述语言,它仅仅描述了WEB浏览器应该如何在页面上布置文字、图形等,并没有对信息本身的含义进行描述。2.XML可以根据我们要表现的文档,自由的定义标记来表现具有实际意义的文档内容。在XML中,我们只需要注意文档的内容,而文档的表现形式则交给CSS和XSL完成。 (二)随着网络的发展,HTML的固定标签集越来越不适应网络传输和应用了,XML作为一种元语言,没有固定的标签集,可以根据段落信息的语义进行定义,这也是XML命名中eXtensible的所指。六、XML标准 W3C推荐的XML标准包括3个相互联系的标准: 1.XML Schema(可扩展标记语言) 2.XSL(可扩展样式单语言) 3.XLL(可扩展链接语言) 这三个标准相辅相成,使XML语言在数据标记、显示风格和超文本链接方面功能很强大,对数据交换十分便利,称为WEB风格的EDI。七、XML的应用设计标记语言文件保值数据交换WEB应用设计标记语言 作为元标记语言,XML为用户提供了定义特定行业或特定领域的标记语言的最好工具。 比如:数学领域的MathML,移动通信领域的WML(website META language),化学领域的CML等等文件保值 XML可以自己描述自己所要表达的信息内容,不用担心后人不理解我们的思想,因此,XML使它成为保存历史档案的最佳选择。数据交换 数据交换XML最令人激动的应用,也是其最大的贡献。 数据交换的核心问题使信息的标准化,主要解决信息的可理解性问题,包括人和机器对信息的理解。WEB应用集成不同的数据源本地计算数据的多种显示第三章 XML基本语法 本章主要使学生了解XML文档的基本结构,学会自己用XML语句描述一些实际事务。实例一:Hello源代码文件:hello.xml (xml文件,描述数据内容的文件) hello.css (修饰xml文件的级联样式单)Xml逻辑结构:.xml声明(必须包括version属性,必须排在第一位).元素 (基本单元) 数据内容.CDATA节.注释 .处理指令实例二:客户关系管理源代码文件:customerInformation.xml customerInformation.css customerInformation.dtd实例三:用xml描述公司部门组成源代码文件:employee.xml 销售部门李江(副总) 王强(经理)王志东、李丽(职员) 张志强(财务主管)管理部门李龙(副总) 王强(经理)王志南、李素丽 张力强市场部门康万年(副总) 杨扬(策划主管) 雷蕾(广告主管)第四章 DTD与SCHEMA本章主要内容:本章主要内容:1.文档类型定义(Document Type Definition,简称DTD)基础2.XML Schema基础3.DTD与SCHEMA定义XML语言规则 一、XML文档的两种约束 一个完整的XML文档应该满足以下两个条件:格式良好(即满足XML标准中对格式的规定)有效性(即满足一定的语义约束)XML文档的语义约束在哪里定义呢?文档的语义约束在哪里定义呢?如何定义如何定义XML文档的语义约束呢?文档的语义约束呢?如何判断如何判断XML文档是否合法,即它是文档是否合法,即它是否满足预先定义的语义要求呢?否满足预先定义的语义要求呢?DTD与与SHEMA将帮你解决以上问题!将帮你解决以上问题!二、二、DTD的概念的概念 DTD,全称Document Type Definition,即文档类型定义。它实际上可以看作是一个或多个XML文件的模版,这些XML文件中的元素、元素的属性、元素的排列方式/顺序、元素能够包含的内容等,都必须符合DTD中的定义。想想想想为为什什么么要要有有语语义义约约束束?三、DTD语法简介1.DTD的使用 内部内部DTD 包含在XML文档的前导说明部分 外部外部DTD 作为一个外部文档被应用一个包含内部DTD的XML文档的结构:文档体一个使用外部DTD的XML文档结构:文档体或者为:文档体2. DTD中元素类型的声明ETD(Element Type Declaration)结构如下: 注意:ELEMENT必须大写,与!之间无空格。XML标准将元素类型分为四类:1)空元素类型 这类元素在XML文档中使用空元素标记,元素中没有内容。2)ANY元素类型 这类元素在XML文档中可以包含任何内容。一般只把根元素定义为ANY类型。3)父元素类型这类元素中包含子元素,并在DTD中规定子元素出现的顺序和次数。4)混合元素类型这类元素中可以包含文本,同时文本之间可以有选择地插入子元素,但子元素出现的顺序和次数不受限制。3. DTD中元素属性的声明格式:说明:元素名是属性所属的元素的名字。属性名是属性的命名。缺省值是属性的初始值。10种有效属性类型种有效属性类型类类 型型含含 义义CDATA纯文本Enumerated取值来自一组可接受的取值列表ID以属性值的方式为文档中的某个元素定义唯一的 标识,用以区分具有相同结构相同属性的不同元素IDREF属性值引用已经定义的ID值。IDREFS是复数形式,取值可以是若干个ID标识IDREFSENTITY取值为一个已经定义的实体ENTITIESNMTOKEN面向处理程序的类型NMTOKENNOTATION取值为一个DTD中声明的符号按缺省值类型对按缺省值类型对DTD元素属性分类元素属性分类类类 型型声声 明明 方方 式式必须赋值的属性属性值可有可无的属性固定取值的属性预先定义缺省值的属性小例子:小例子:4. 综合实例实例一:家庭成员及家庭物品的描述 学习要点:1)DTD的编写 2)XML与DTD的结合 设计思路:用XML描述家庭组成; 用DTD定义XML文档的规范性; 将XML与DTD结合验证XML文档 的合法性源代码文件: Homedtd.xml:带内部DTD的XML文件 Home.xml:家庭数据文件 Home.dtd:外部DTD文件,对home.xml 进行语义约束实例二:帐簿管理 学习要点: 掌握如何用DTD来验证XML的完整性 设计思路: 用XML描述帐簿内容; 用DTD对XML文档中的标签进行语法规定源代码文件: checkbook.xml:描述帐簿的内容 checkbook.dtd:规定checkbook.xml 中的语法checkbookDeposit(type)Payment(type)paporamountdatedescription(category)paporamountdatedescription(category)实例二中元素及其属性的关系图实例二中元素及其属性的关系图实例三:家谱树 学习要点: 用XML和DTD对复杂数据进行描述 源代码文件: familytree.xml 包含内部DTD问题: 请依据实例三的源代码文件,画出所描述家族的人员关系及人员信息。四、SCHEMA语法简介1.XML Schema的概念 XML Schema本身也是一个XML文件,所不同的是,Schema文件所描述的是引用它的XML文件的元素和属性的具体类型。小例子:小例子:Presenting XMLRichard Light334XMLJane Lee434这是一个表示书目录的xml文件,现在我们要对它作一些数据上的规定,如:title,author,pages对于一个book而言是唯一的;并且author应该是字符型,pages应该是整数类型;对于每本book而言,只能有所指定的三个元素为了实现上述要求,我们定义如下为了实现上述要求,我们定义如下schema:2. Schema中的ElementType ElementType是Schema中最基本的部分,它用来定义xml文件中元素的格式,数据类型等。 格式: 元素说明取值及描述content 用于描述元素中的内容的类型empty元素内容为空textOnly元素中只包含文本类型的内容eltOnly元素中包含元素类型的内容mixed元素内容含有上述任何情况Content的描述的描述元素说明取值及描述model定义元素的内容是否要严格遵守Scheme中的定义open元素内容可添加未特殊定义过的元素、属性、文本等Closed元素内容只能添加特殊定义过的元素、属性、文本等Model的描述的描述元素说明取值及描述order定义该元素中子元素的排列顺序one只允许元素内容按一种方式排列seq允许元素内容按指定的方式排列many按任意方式排列Order的描述的描述元素说明取值及描述dt:type用于指定元素的数据类型boolean布尔型char字符型date日期型Date time日期时间型Float实型Int整型Number数字型Time时间型String字符串型Entity,id,idref,nmtoken等Xml补充类型Dt:type的描述的描述3. Schema中的AttributeType定义AttributeType的基本格式:例如: 4.Schema中的description Description是一种注释,用于说明Schema的定义内容 。例如: This is how we describe the books we sell. Be sure to specify the ageGroup! ADULT 5.Schema中的group elementGroup用来按一定序列将元素组织成组。格式:格式:元素说明取值及描述maxOccurs定义该group出现的最多次数1只能调用一次*可以调用任意次minOccurs定义该group出现的最少次数0无要求1至少调用一次order定义该group中element的排列顺序One只允许按一种方式排列seq允许按指定方式排列many按任意方式排列group元素描述元素描述6.如何在XML文件中引用XML Schema一般格式:例如: Presenting XML Richard Light 3347.Schema的应用实例一:订货单格式的schema文件 学习要点:对XML Schema有初步认识 设计思路:对编写订货单xml文件中需要的标签作出约束。 源代码文件:order.xsd订货单格式:订货单格式: 思考: 如何用Schema或DTD来描述上述订货单的标识呢?实例二:网上书城图书管理 学习要点:Schema的使用与语法规则 设计思路:对图书用XML描述,先按图书类别分类,对分类中的图书分别作出详细介绍。使用XML SCHEMA对XML文档格式作出规定。 源代码文件:bookstore.xml bookstore.xsd五、DTD与SCHEMA的简单比较 DTD的语法比较复杂,自成体系,不符合XML文件的标准。 SCHEMA相对于DTD的明显好处是,SCHEMA文件本身也是一个XML文档。 除此之外,它还有什么优点呢? 请大家查找有关资料!练习:1.将实例一和实例二中的schema改用DTD来描述。2.写出实例二中XML文件的树型结构图。3.编写一个XML文件,描述一张你喜爱的CD,并通过DTD或SCHEMA来对该XML文件进行语法约束。第五章第五章 XML与与XSL本章主要内容: 1.XSL的基本概念 2.XSL的格式化功能 3.XSL的转换功能 4.XSL与脚本的结合使用 5.XSL的综合应用一、简单回顾一、简单回顾 XML的最大特点是什么? 对所要显示的信息作了内容内容上的描述,比如:“苹果”在这里是属于“商品”、“教学用具”、还是“研究对象”?XML文档可以对其内容作定义。问题: XML将显示与内容相分离,它没有提示如何在显示屏或终端上显示信息。然而,最终用户希望程序或软件向他们显示的不是XML代码本身,而是XML描述的信息。这就需要XSL来帮忙!二、XSL简介 1.定义 XSL(Extensible Stylesheet Language),即可扩展样式表语言,它能使Web浏览器直接根据用户的不同需要改变文档的显示形式。 XSL直接构架在XML语法之上,分为两个部分: 第一部分负责将XML的源代码转换为XSLT格式; 第二部分提供大量的格式化命令,可用来配合印刷或屏幕显示,精确地设定外观样式。2.XSL的两种应用模式1)服务器端转换模式 xml-html-IE浏览器 (进一步可分为动态方式、批量方式)2)客户端转换模式 xml+xsl-IE浏览器(转换)三、XSL的基本元素 在XSL文件中,除了HTML标记外,其他就是XSL自己的标记。这些标记可帮助我们转换XML的内容、对XML内容的显示作格式化定义等。以下介绍XSL标记及其功能。请大家结合事例掌握其用法。1.xsl:stylesheet 功能:XSL文件的根元素,每个XSL文件中都必须有该标记。它有三个属性: default-space: 决定是否保留xml文件中的空白(default) indent-result: 决定是否保留xsl文件中的空白(yes) language: 设定在XSL文件中使用的脚本语言2.xsl:template 功能:模板声明 它有两个属性: match:设定从XML文件中哪了标记开始读取信息,如果值为“/”,那么表示从xml文件的根元素开始读取信息。 language:指定使用哪种脚本语言。3.xsl:value-of 功能:从XML文件中的特定标记中将信息读出。 它有一个属性: select:设定读取哪一个标记中的信息4.xsl:for-each 功能:将排版样式应用到xml文件中相同的标记(类似于循环语句) 它有两个属性: select:设定从哪一个标记中读取数据 order-by:读取信息后,设定依据什么标记来进行排序5.xsl:comment 功能:定义注释信息。在此标记中的内容,xsl将它们作为注释,不显示在浏览器中。6.xsl:apply-template 功能:模板应用 它有两个属性: select order-by (同xsl:for-each中的属性)7. xsl:copy 功能:从XML文件中拷贝标记中的信息到输出的文件中。无属性。8.xsl:if 功能:与一般程序语言中的ifthen类似。它有三个属性: script:设定script程序所表达的式子 language:设定使用哪种脚本语言 test:设定条件的表达式。 (只有当script属性的设定值返回“true”或test设置的条件成立时,中的内容才被执行)9.xsl:attribute和xsl:element 功能:在标记中新建一个属性名称或新建一个标记。 属性: name:为新建的属性指定属性名或为新建的标记指定标记名。10.xsl:choose, xsl:when, xsl:otherwise 功能:这三个标记用来设定较为复杂的条件式,一般共同配合使用。其中,xsl:when有三个属性:script, test,language 。属性名称功能描述 设置值例子color颜色颜色名color:redfont-family字体字体名称font-size大小small,large.font-weight粗细light,boldfont-style样式italic,normaltext-align位置center,left.text-indent缩进pt,in,cm,pxtext-transform大小写转换capitalize,text-decoration 加线设置 underline,常用的文字相关属性常用的文字相关属性属性名称功能描述设置值display显示状态none,block,inlinewidth宽度pt,in,cm,pxbackground-color背景颜色颜色名padding与四边的距离pt,in,cm,pxpadding-left与左边的距离pt,in,cm,pxpadding-right与右边的距离pt,in,cm,pxpadding-top与上边的距离pt,in,cm,pxpadding-bottom与下边的距离pt,in,cm,pxborder方形边框border-left方形左边框常用的版面排列属性常用的版面排列属性四、XSL的应用实例实例一:简单的菜单条 设计思路:利用XSL遍历XML,取得菜单项的各个节点,利用jscript控制菜单项的显示属性。源代码: xmlmenu.xml: 描述菜单项的内容 xmlmenu.xsl: 对xmlmenu.xml文件进行转换显示,并处理鼠标事件。实例二:咖啡屋早餐菜单 设计思路:本实例主要是XSL的基本转换和格式化应用。XSL的关键是匹配节点并进行相应的输出。本实例重点在于匹配节点,然后赋予一定的格式,再将其显示出来。 源代码: simple.xml: 描述菜单的主要内容 simple.xml: 对simple.xml的内容进行转换和格式化处理 simple.html:主界面小知识:什么是数据岛? 数据岛是指存在于HTML页面中的XML代码。 几乎所有能够存在于一个结构完整的XML文档中的东西都能存在于一个数据岛中。实例三:图书列表 设计思路:通过XSL的转换功能来匹配XML文件中的节点,再将节点中内容提取出来,放到表格中,并以HTML的形式输出到浏览器。源代码: booklist.xml:描述图书信息 booklist.xsl:对booklist.xml进行转换,生成表格输出。实例四:排序功能 设计思路:排序是一种经常用到的技术,本实例利用排序的功能对XML文档排序转换输出,排序的实现利用XSL的语法指令即可。源代码文件: sort1.xml sort2.xsl实例五:股票分类排序机 设计思路:本实例采用XML数据岛,将XML数据在客户端绑定到脚本。通过脚本对XML数据进行操作,转换功能由XSL来完成。为了保证XML数据的合法性、有效性,包括了一个schema文件对XML文档的规范性作了语法规定。源代码文件: stock-sorter.xml stock-sorter.xsl portfolio-schema.xml中中 期期 小小 结结 在前面的五章中,我们重点介绍了XML、DTD与SCHEMA、XSL。从程序的角度看,三者的功能如下: XML:描述事物的内容特征 DTD/SCHEMA:对XML文档进行语法约束 XSL:以更友好的界面格式显示XML的内容 然而,这些只是我们学习EBXML的一点点技术基础。我们真正要考虑的是: 如何用技术来实现现实中的各种商务活动。 因此,请大家带着这个问题开始后续的学习,看看EBXML如何实现理想中的电子商务。后期学习目标ebXML的目标、基本原则ebXML的商务需求分析ebXML的体系结构你可以从哪里获得更多关于ebXML的信息第六章 ebXML简介本章重点:本章重点: 1.ebXML的概念、目标与基本原则 2.ebXML中的常用术语 3.ebXML的过程流 4.ebXML技术体系的整体结构 一、什么是ebXML ebXML.org 对ebXML作了如下简短描述: ebXML 是一个规范集,这些规范共同实现了模块化电子商务框架。ebXML 的构想是实现一个全球电子市场,其中,不同规模和不同地区的企业可以通过交换基于 XML 的消息来合作和进行商业活动。二、ebXML的基本目标 “提供一个使XML能够用一种相容和一致的方式在应用程序与应用程序、应用程序与人以及人与应用环境之间交换电子商务数据的开放式技术框架从而建立一个单一的电子化的全球市场。” 编写全球性的标准,从而提供一个独立于任何单独供应商方案的方法和技术。请注意请注意:ebXML 不能为每个可能的商务过程定义体系结构,因此它集中关注的是最普通的可重复和持续发展的模型,并以此建立全球化的电子商务。三、ebXML的基本原则与任务开放性相容性一致性低成本1) 使电子商务简单、容易,并且无所不在;2) 最大限度地使用XML;3) 为B2B和B2C提供一个同样的开放标准以进行跨行业的商务交易;4) 将各种XML商务词汇的结构和内容一起放进一个单一的规范;5) 提供一条从当前EDI标准和XML词汇表移植的途径;6) 鼓励行业在一个共同的长期目标下致力于直接的或短期的目标;7) 用ebXML进行电子商务活动,避免要求最终用户投资于专有软件或强制使用专业系统;8) 保持最低成本;9) 支持多种书面语言并容纳国内、国际贸易的通用规则。四、ebXML常用术语 注册表注册表:一个中央服务器,它存储使 ebXML 工作所需的各种数据。 “注册表”以 XML 形式显示给用户的信息有:“商业过程和信息元模型”、“核心库”、“协作协议概要”以及“商业库”。当商家要与另一个商家建立 ebXML 关系时,它向“注册表”发出请求,以查找合适的伙伴并查找有关处理那个伙伴的需求方面的信息。 商业过程商业过程:商家可以参与的活动(对于商业过程,商家通常需要一个或多个伙伴)。“商业过程”由“商业过程规范模式”(一种“W3C XML 模式”和一个 DTD)正式描述,但也可以用 UML 建模。 协作协议概要协作协议概要 (CPP):由希望参与 ebXML 事务的商家用“注册表”归档的概要。CPP 将指定商家的某些“商业过程”,以及它支持的某些“商业服务接口”。(collaboration protocol profile) 商业服务接口商业服务接口:商家可以执行其“商业过程”中必需的事务的方式。 “商业服务接口”还包括商家所支持的“商业消息”种类以及传递这些消息可能采用的协议。 (想想函数调用中参数列表的作用) 商业消息商业消息:作为商业事务一部分进行通信的实际信息。 一条消息将包含多层。在外层,必须使用实际的通信协议(例如 HTTP 或 SMTP)。SOAP 是 ebXML 推荐的消息“酬载”信封。其它层可以处理加密或认证。(simple object access protocol) 简单对象访问协议简单对象访问协议 (SOAP):由 ebXML 发起者认可的分布式环境中的信息交换 W3C 协议。ebXML 中很重要的一点就是 SOAP 作为信封的功能,该功能定义一个描述什么是消息以及如何处理消息的框架。 核心库核心库:可以在更大的 ebXML 元素中使用的标准“部件”集。例如,“商业过程”可以引用“核心过程”。“核心库”由 ebXML 发起者本身提出,而更大的元素可能由特定厂家或商家提出。 协作协议协定协作协议协定 (CPA):本质上是两个或多个商家之间的契约,它可以从各自公司的 CPP 中自动获取。如果一个 CPP 说:“我可以做 X”,则 CPA 会说“我们将一起做 X。”(collaboration protocol agreement)五、ebXML过程流 下面,我们来看看两个以前没有接触的公司是如何建立关系,然后使用ebXML规定的自动流程和相互作用顺序来交换电子商务数据的。ebxml记录请求行业流程的细节创建本地执行系统登记实施细节登记企业A的档案顺应ebxml的软件系统查询企业A的的档案下载ebxml模块XML同意交易协议 从以上流程图中,我们可以发现公司使用ebxml的三个阶段:实施实施、发现发现和运行运行。(P33-34) 在分析这三个阶段之前,请注意:进行ebxml的最基本步骤是一个行业必须收集它的商务过程、情况和企业的商业配置文件,并且通过行业的ebxml注册表使它们成为可用数据。六、ebXML技术体系整体结构 商务过程商务过程 核心组件核心组件 贸易伙伴文档和协议贸易伙伴文档和协议 注册表和知识库注册表和知识库 消息包消息包1.商务过程商务过程 商务过程描述了商业中的活动和相互作用以及有关的商业术语。 主要是定义了整个商业服务和单个消息的交换,以及消息中所包含的数据。 说明:说明:ebxml的商务过程可以用XML来描述,也可以用UML(统一建模语言)来描述。 有关UML的知识将在后面章节讲解。2.核心组件核心组件 贯穿各种行业之间的可重用的公共数据项称为“核心组件”。它们帮助ebXML实现了大部分的交互性。如何实现呢?如何实现呢? 核心组件提供了一种方法,使得不同行业在商业消息中继续使用它们自己的术语,并将它们与ebxml提供的公共商务过程和中性标识符联系起来。只要贸易伙伴能把他们自己的术语和中性的ebxml语法联系起来,就具备了实现互操作性基础。 请参见课本请参见课本P38-39的例子理解核心组件的的例子理解核心组件的功能。功能。3.伙伴贸易文档和协议伙伴贸易文档和协议 该部分主要是指CPP和CPA。 CPP描述了企业所支持的ebxml商务过程的基本能力,以及该企业商务系统的技术和访问要点的详细资料。 CPA提供了在技术方面企业间实现自动交易的全部协定。 注意:这些协议都存储在注意:这些协议都存储在ebxml注册表中。注册表中。 通俗的说: CPP告诉你某个企业在ebxml商务过程中能作什么。(自我介绍) CPA告诉你两个企业在ebxml商务过程中能一起作什么。(洽谈、签合同)4.注册表和知识库 ebxml注册表是行业申请商务流程模型和对象的地方,也是公司申请合作配置文件的地方。因此,注册表成为行业中没有或缺少经验的企业得到这些细节的主要联络点。 知识库中实际保存了商务模型以及与注册表相关的配置文件,而注册表只是提供了知识库中项目的索引以及人和机器访问知识库的自动路径。 知识库可能是注册表的一部分,也可能是单独的远程内容。对于用户而言,这个技术细节是屏蔽的。 注册表与知识库的关系注册表与知识库的关系 请阅读课本请阅读课本P42-43,了解注册表的更多信息。了解注册表的更多信息。5.消息包消息包 企业之间进行电子商务,必须进行数据交换。因此,ebxml规范详细描述了贸易伙伴之间发送消息的结构、路由和传输机制。 ebxml消息不仅包括安全模块并且允许通过公共的、主要的Internet协议进行交换。 为了使贸易伙伴能够利用已有的消息发送方式,并确保可靠传递、安全性、持久性和可扩展性,ebxml采用了SOAP协议。 ebxml消息是由SOAP利用MIME协议和XML文档定义的,其组成和结构请参见课本P45图2.10。 有关ebxml商务需求和ebxml技术体系结构的详细内容,我们将在后面的章节中深入学习。在本章中,只要求大家对基本概念和整体框架有所了解。第七章 ebXML的发展之路本章重点:1.ebXML的发展历程(包括发展初期的重要技术、建立ebxml初始规范的两个组织)2.用UML描述商务流程一、XML/EDI组织 1997年夏,欧洲和美国的4个人建立了XML/EDI组织,其网址为:http:/www.xmledi-group.org。 该组织提供了很多利用XML进行商务数据交换的早期想法,并一直充当一名基层的倡导者。该组织的主要贡献:1.提出了xml/edi的基本框架 XML EDI Template Agent Repository2.为XML实现EDI方式的交换提出了一套流程 识别适合电子商务交易的数据集 开发DTD,从形式上定义形成一类特殊EDI信息之间的关系 将特殊应用的扩展定义为标准的信息种类 创建特殊种类的电子商务信息 确认信息的内容 发送和接受电子商务信息 利用data bot(数据虫)或agent处理电子商务信息 3.定义了从X12数据库中生成XML元素的算法 为一个EDI交易编写了第一个DTD,并且提出了一些初期的关于XML名字空间和知识库的想法。4.定义了repository在使用XML进行商务数据交换中的任务 识别在生意伙伴之间交换的数据 定义了一个数据交换的标准结构和关系 提供了与通用商务或产品标识数据库的联系 决定经过授权的交易参与者 提供通用的映射、脚本、工作流和处理工具 提供标准形式和交互屏幕显示 二、EDI的重要性 理解EDI系统的重要性在于澄清并辨别ebXML是如何超越严格的限制而转变成一个新的高效模型的。EDI的主要贡献与问题的主要贡献与问题贡献一:基本消息结构贡献一:基本消息结构 预先定义的通用消息结构使软件销售商能够为更多的行业开发软件,并且能够将开发成本分摊到更多的客户身上。 模版使工作变得容易了一些问题:问题: 试图在每个商务交易中硬插入一套固定的方式,限制了自由扩展的范围和广度。超越这些限制是ebXML成功的关键,也是ebXML技术结构的关键贡献二:可互换的组件贡献二:可互换的组件 大多数主要的数据段和元素是可重复使用的组件,因而可以容易地利用早先的EDI开发工作,也能确保与当前的软件开发兼容问题:问题: 数据段是按照功能关系集合起来的数据元素,扩展性不强 ebXML核心组件的目标是为管理可重用的信息创建一个可扩展的机制。它采用了基于XML的按照父类子类分组的商务信息模型,并结合了流程语义。贡献三:商务语义学贡献三:商务语义学 为上千家正在交换EDI交易或信息的企业积累了定义语义的经验,这种经验经受了时间考验并且它的设计符合现实生活中商务的需要。 利用XML交换商务数据的开发需要利用这些丰富的电子商务实践经验。贡献四:商务流程贡献四:商务流程预先建立基础规则唯一识别传输可变数据回执功能参考书本P93-95三、用UML描述商务流程 UML(Unified Modeling Language,统一建模语言),是一种定义商务处理软件和开发的方式。它将商务处理中的组件定义成对象,采用自顶向下的建模方式。1.对象技术和商务流程 UML采用图形化的方式来实现商务处理中的对象,可以通过五种视图来组织模型开发中产生的知识和关系。对象(object) “一个自我包含的数据模型及相关处理”。 它是软件通过对象技术建立的块,设计运行于任何系统,与生成对象所使用的软件和设备平台无关。User model viewStructure model viewBehavioral model viewImplementation model viewEnvironment model view参见书本参见书本P97 UML提供了9种建模系统的图表使用情况图表序列图表协作图表状态图表行为图表分类图表对象图表成分图表调度图表参考书本P982.使用情况图表应用实例使用情况分析步骤: 参考书本P98实例说明: 参考书本P55行动参与者需要知道的信息建立年度销售预测将预测送给制造商同意制造商的价格和条款每月更新预测将库存情况报告给制造商接受制造商的发货和发货通知到货补充库存将收货报告送交制造商授权付款上一年的销售、安排、促销计划、特殊条件制造商的能力和局限制造商的能力和局限零售商Marathoner行动参与者需要知道的信息从Marathoner收到年度预测同意Marathoner的价格和条款收到每月更新预测收到定期的库存报告计算补充的数量发货补充库存,发送发货通知从Marathoner得到收货报告零售商的能力和局限零售商的能力和局限零售商的年度预测零售商的年度预测和更新制造商制造商零售商建立年度预测向制造商提交预测同意价格和条款每月更新预测提交库存报告计算补充的数量发送货物并发送发货通知发送收货报告授权支付3.RosettaNet(罗塞塔联盟)主要贡献:1)提出了针对供应链的XML2)创建了RosettaNet 实施框架3)提供了RosettaNet 字典四、ebXML 创建组织及过程 参见书本P106-107第八章 ebxml的商务需求 关于是否采用ebxml的重要决定取决于企业的上层经营管理者,而需求对经营管理者判断ebxml与他们的经营间的关系提供了基准。 本章的大部分内容都在前面的章节中陆续介绍过,因此,希望同学们结合教材第6章进行自学。自学本章需要注意的要点:1.本章对ebxml主要结构组成部分的需求和如何实现这些需求进行了总结。这里的需求分析,不是仅仅从某一具体企业如何实施ebxml的应用角度出发,而是面向所有企业,从标准制定的角度出发。即:从宏观角度作需求分析,而不是从微观角度。2.学习本章时,请时刻牢记ebxml的最终目标“建立一个基于XML的开放式技术框架,使XML能够以一种相容的和一致的方式用于应用程序同应用程序之间、应用程序同人之间以及人同应用程序之间交换电子商务数据,从而创建一个单一的全球化市场。”3.本章的内容是围绕ebxml的最终目标进行组织的,可以概括为以下方面: 基本原则和要求互操作性安全性全球化开放性人的参与性第九章 ebxml和类似的web服务规范SOAPUDDIWSDLBizTalk简单对象访问协议统一描述、发现和集成协议Web服务描述语言 微软公司提供的基于XML的电子商务规范SOAP协议 目的:提供一种简单的和容易实现的方法来对等地交换结构化数据。 定义了信息包,提供了所需的数据编码指南和远程程序调用规则。SOAP消息的结构:外部信封(envelop)头(header)主体(body)内部SOAP消息1.SOAP信封用来识别SOAP消息;body包含要传递给接收人的信息;header允许发送人添加对路由、安全或接收人正确处理的管理或控制信息。说明:2. SOAP消息必须有一个body,而header是可选的。如果消息包含header,那么header作为信封内的第一个子元素出现在body之前。3.协议明确了header中可能出现的两种属性:actor和mustUnderstand。 (参见P124)A发送人B接收人C中间人A:headerCC:headerB4.协议明确定义了body中用来提供状态和错误信息的Fault元素。它包括4个子元素:faultcode, faultstring, faultactor,detail。 (参见p125)UDDI协议 UDDI协议由Microsoft、IBM等领导的联盟组织制定。它主要提供了一种帮助企业查找贸易伙伴和发现他们管理电子商务能力的方法。 利用UDDI记录,企业能够发现现有的潜在贸易伙伴和有关他们的基本信息,在特定分类中找到企业,并且揭示与这些企业发生作用所提供的电子商务服务种类。企业能利用UDDI作什么?WSDL WSDL由Microsoft、IBM等共同开发UDDI的企业推出。它提供了一个描述XML网络服务的XML协议。 从ebxml用户的角度看,WSDL使未来处理ebxml商务流程规范的Schema成为可能。第十章 ebXML技术体系结构商业流程规范 注册表和知识库 CPP与CPA 消息服务 核心组件 企业运行ebxml的步骤http:/www.ebxml.org一、商业流程规范 ebxml的一个关键目的是系统地获得贸易伙伴的商业经验和联系,并且精确的再现它们,而不依赖于任何特定的方式来实现这些交易。不依赖于底层技术如何将商务实践与技术实施联系呢? 在ebxml中,将这些商务流程规范表示成XML文档类型定义(DTD),而后成为XML Schema或UML。 接下来,我们看看如何利用UML对具体的商业流程进行分析和建模。 在此,我们将主要用到两种视图:BOV与FSV。 BOV需求驱动FSV的表达实现。1. 建模需求和分析过程 UML利用“使用情况图表”来描述参与者之间的关系和交互活动。 (参见第七章的实例) 除了“使用情况图表”之外,进行商业流程分析时,还会产生两个重要的图表,分别为:UML活动图表、顺序图表。下面我们来逐一介绍 “活动图表”描述操作者和系统之间商务水平事件的活动,并且描述了高层发生的动作以及它们的顺序。以跑步鞋案例为例以跑步鞋案例为例仓库职员库存系统收到发货通知发送收货通知授权支付收到货物补充库存 “顺序图表”从时间角度说明了发生在系统内部对象之间以及系统外部参与者之间的相互作用。操作者和对象水平排列;时间垂直表示行 动库存管理员条形码系统库存数据库收到货物扫描条形码扫描条形码解析代码解析并转换为文本查询产品目录添加库存添加库存增加数量查询ID返回确认信息返回确认信息2.商务消息和服务的设计 为了更好的描述商务活动的交互行为,我们可以利用协作图表、状态图表和类图表。 协作图表和顺序图表类似,但是它强调对象集合间是如何相互影响的,这在定义消息和服务时很有用。库存管理员条形码系统产品ID有效产品ID库存数据库更新后的库存1.扫描条形码2.生成ID3.查询产品目录4.增加产品数量5.更新库存数据库6.返回确认信息 状态图表表示一个对象由于涉及某个行动而导致的状态变化。如:当库存数据库中产品增加时,库存数据库自动返回一条确认信息。 类图表显示不同数据对象的结构和它们之间的关系。与面向对象技术中类的定义类似。强 调 细 节以旅行社案例为例旅行者姓名-头衔-姓-名+创建+更新+删除类名称类中变量操作或函数参见课本P1413.功能性服务试图(fsv) FSV使用相同的术语来描述ebxml模块和BOV的服务,但是它强调不同系统之间的关系以及需要的可操作的界面和协议。参见P145 图8.6二、注册表和知识库 说明:虽然知识库存储实际的信息内容,但是对于企业而言,他们直接接触的是注册表。因此,我们主要了解注册表的相关技术。1.注册表的功能提供定义行业信息、行业术语的大纲提供行业商务流程模型提供公司的合作协议文件(CPP)提供用人工或自动的方法搜索满足一定标准公司的功能 说明:包括以上功能但说明:包括以上功能但是不局限于此。是不局限于此。2.访问注册表的3种方式 普通网络浏览,只能读,不能对注册表进行维护和内建。 终端用户能访问注册表,并与相应知识库的内容一起工作,具有内建的注册接口。 通过代理访问注册表,即:通过一个企业预先安排好的提供特定服务的自动接口来访问注册表。3. 注册表接口(C/S模式)注册表端注册表服务对象管理对象查询管理提交、编辑、修改或删除数据对象对象管理、对象查询管理终端用户端注册表客户对象客户管理对象查询管理客户4. 提交和管理注册表中的对象一个注册对象的生命周期:一个注册对象的生命周期:提交提交核准核准拒绝拒绝删除删除 当一个对象被提交时,就成为一个RegistryEntry,并且和知识库的一个项目联系起来。 下面看看一个RegistryEntry的主要组成部分RegistryEntryAssociationAuditableEventClassification、 ClassificationNodeExternalIdntifierExternalLinkPackageOrganizationP1495. 搜索和检索注册表两种检索方式:a. 浏览分类查询获得分类树根节点获得分类树获得分类对象b. 过滤查询获取知识库中的内容6. 注册表的安全性 Ebxml注册表规范要求从客户端发出的内容必须有一个数字签名以保证在传递和登记时没有人干预内容。同时,签名也证实内容是与提交的组织相联系的。规范定义了三种访问角色:Content owner:向注册表提交内容,并且能访问处理该内容。Registry Adimi: 负责管理和操作注册的当事人,并具有访问所有注册表对象的权利。Registry guest: 非授权的注册表访问者,只被赋予只读的访问权限。三、CPP和CPA CPP以准确的对ebxml商务流程模型的参考,表示了支持商务流程的特殊能力,并且形成了建造CPA的基础。P154 CPA提供了贸易伙伴间具体的、有形的相互作用。它是贸易伙伴间相互协商的结果。 贸易伙伴在交换信息时使用CPA中定义的商务流程来设置他们的电子商务系统。1. 从CPP创建CPA的基本过程: 假设有两个已经登记注册了CPP的企业Acme和Consolidated,他们希望建立商务往来关系。 行业流程规范 报价、定购、 收到发货、 发票、汇款行业注册表Acmeconsolidated报价、订购、收到发货、发票订购、收到发货、发票、汇款CPA支持的流程订购、收到发货、发票 说明:注册表中列出了CPP,但是CPA仅仅是一两个公司感兴趣的文档,因此,不大可能在公共开放的行业注册表中被编入索引。2. CPP和CPA CPP和CPA都是一个XML文档。在ebxml规范中给出了构成CPP和CPA的根元素、基本元素、子元素及其属性。 由于时间的原因,在此我们不作详细讨论,大家可以参考课本或ebxml技术文档。四、消息服务 通过MIME封装,SOAP能发送非XML二进制的数据,例如数字图形文件,使得这种格式更有利于商业目的。1. 消息包消息标题跟踪标题列表签名其他元素清单其他元素负载(非XML二进制数据)标题(header)主体(body)SOAP信封 MIME主体 部分MIME信封通信协议2. 消息处理服务两种消息处理服务:a.消息状态请求b.消息服务处理程序ping参见课本p1673. 可靠通信在消息寿命期中,用一个持续存在的存储器来保存消息。同一消息向接收者传递一次且只有一次。发送者1. 生成一个具有识别发送者和接收Internet地址的消息2. 在不间断存储器中保存消息3. 向接收者消息服务处理程序发送消息4. 等待来自接收者的回执,如果没有回音,就采取适当的行为接收者回执 在存储器中查找和RefToMessageId元素中相同标识符,如果有,标记为已传递信息。YN副本N 在存储器中保存消息的标识符或全部消息,把消息标记成已传递,并发送回执。Y 与存储器中已接收的消息核对第一次的响应,并重新发送最初的响应。4. 安全性 商务通信固有风险: 非法访问 数据完整性攻击 保密性攻击 拒绝服务 哄骗攻击 轰炸攻击五、核心组件参见课本P170页图8.10六、企业运行ebxml的基本步骤实施阶段 启动ebxml建造或获取处理ebxml规范的应用程序。 下载行业商务流程规范。 如果没有行业规范,企业可能需要开发自己的流程和信息。 发现和检索阶段 运行阶段 登记企业的合作协议文件(CPP)。 下载潜在贸易伙伴的CPP。 建立企业间的CPA。 交换适应ebxml的商务信息。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号