第07章_电子商务实用开发技术_第1页
第07章_电子商务实用开发技术_第2页
第07章_电子商务实用开发技术_第3页
第07章_电子商务实用开发技术_第4页
第07章_电子商务实用开发技术_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第07章_电子商务实用开发技术电子商务概论07国贸营销专业主讲:陈 婷*第七章 电子商务实用开发技术 前台(客户端)开发技术 后台(服务器端)技术 Web Service技术 *第一节 前台(客户端)开发技术 一、用户界面体系结构动态内容表现有三种用户界面体系结构,一是服务器端提供动态逻辑,二是使用脚本语言来表现动态内容,三是通过运行在客户端的应用程序来实现动态内容。*一、用户界面体系结构:服务器端逻辑体系结构(1)客户机服务器浏览器用户动作内容和控制的产生控制逻辑业务逻辑内容构建请求响应图7-1 服务器端逻辑体系结构 *一、用户界面体系结构:服务器端逻辑体系结构(2) 由于在Web服务器上,

2、最简单和最常用的体系结构是完全依靠服务器来提供用户界面内容。客户端包括一个浏览器,主要用来显示从服务器上得到的页面。每一个用户动作,例如按下一个按钮,都产生一个对服务器的请求指令,服务器处理这个请求并计算结果,生成一个新的页面再次发送到客户端。服务器端的操作可以分成三个步骤:控制逻辑 业务逻辑 内容构建 *一、用户界面体系结构:客户端脚本体系结构(1)向客户端提供动态内容的另一种途径是将脚本作为HTML页面的一部分,从服务器传送到客户端,脚本通常包括一些不需要与服务器应用程序通信就能在客户端执行的应用逻辑,如图7-2所示。复杂的逻辑仍然由服务器端执行,这就需要客户端给服务器端发出新的请求,服务

3、器端处理后,将处理结果返回给客户端,最终还是由脚本作进一步处理。这种体系结构的优点是服务器与用户的通信较少,需要的服务器资源也比较少(由于在客户端执行一些业务逻辑),可以对用户动作给出更多的响应(如鼠标的移动)。支持该体系结构的技术,代表性的有ECMAScript/JavaScript/Jscript、VBScript和 DHTML(Dynamic HTML)。*一、用户界面体系结构:客户端脚本体系结构(2)浏览器用户请求页面切换产生页面/简单控制逻辑内容修改切换/复杂控制逻辑商务逻辑内容构建+逻辑嵌入客户机服务器响应 图7-2 客户端脚本体系结构 *一、用户界面体系结构:客户端应用体系结构(

4、1)在客户端加入逻辑的另一个体系结构是在客户端运行一个功能完全的应用程序。用户可以下载这个程序(每次站点访问的下载或者将这个应用程序放在用户的高速缓存中)。此后它将控制用户的交互和内容构造。当服务器上执行的业务逻辑必须初始化时,通信才成为必要。这种通信是通过内嵌在http中的协议来完成的,并且它只传输必要的网络数据(并不需要传输HTML数据内容)。因此,在客户端和服务器端均需要附加的通信逻辑。该体系结构的优点是消除了用户界面和业务逻辑的区别;与服务器的通信量很少;Web页面可离线浏览;不需要很多服务器资源。*一、用户界面体系结构:客户端应用体系结构(2)浏览器用户开始应用程序 下载+版本控制通

5、信逻辑商业逻辑客户机服务器下载applet应用控制逻辑通信逻辑内容构建逻辑请求*一、用户界面体系结构:客户端应用体系结构(93)支持客户端应用体系结构的技术有:Java applets是可以作为Web文档中的附件来分发的Java程序。Applets的代码可以被支持Java的浏览器解释和执行。Java应用程序是运行在客户端系统上的独立的应用程序,这种客户端系统与浏览器无关。Active X为一组综合技术,这些技术使得用任何语言写的软件构件在网络环境中能相互操作。/exporter1.alibaba3/expleads/formyyckt.html?srctrace=y&src=googl

6、e&tracelog=cgs_g_yczhuce&activity=ppcok*二、体系结构选型与跨平台技术 :瘦客户机和胖客户机(1)有关用户界面体系结构的讨论总是与瘦客户和胖客户的讨论有关。在客户/服务器的应用中,瘦客户是指客户机被设计得很小,大多数的数据操作都在服务器端进行;而胖客户是指在本地客户端执行大多数的数据处理,只有数据本身是存储在服务器上。对Web应用而言,服务器端逻辑体系结构是典型的瘦客户,而客户端应用体系结构和大部分的需要特定插件的多媒体技术,可以被看作是一种胖客户,虽然在大多数情况下服务器还要处理数据存取的其他任务。胖客户与瘦客户有其各自的特点 *二、体系

7、结构选型与跨平台技术 :瘦客户机和胖客户机(2) 胖客户与瘦客户的性能比较 胖客户 瘦客户 客户端功能强大,客户自主性强 客户端功能少,缺少灵活性 部署和管理比较困难,每次系统更新升级,所有客户端都必须重新安装部署和管理比较容易,系统更新升级只需重新安装服务器端 对客户要求较高,可能需要专门培训对客户要求较低,只要会用浏览器就可以操作 胖客户体系结构的总费用高,但服务提供商的费用较低,用户要配置较高性能的计算机而承担较高的费用瘦客户体系结构的总费用低,但服务提供商的费用较高 *二、体系结构选型与跨平台技术 :易用性(1)在易用性是选择用户界面体系结构的一个主要参考标准。易用性是指用户不需要特殊

8、培训就可使用这些程序,它是应用程序能否被用户接受的重要指标。在互联网环境下,易用性有着特殊的含义。MEHolzschlag提出了构成一个良好界面设计的特征:隐语的使用、清晰、统一、定位、导航功能。不同的界面体系结构所表现出来的易用性是不一样的。 *二、体系结构选型与跨平台技术 :易用性(2)服务器端逻辑体系结构。该体系结构只能容纳很简单的用户界面(超链接或表单),这就限制了向用户提供高水平的导航与定位帮助。客户端脚本体系结构。脚本能比纯粹的静态方法提供更加复杂的导航和定位帮助,但脚本语言缺少像Java的AWT或Swing那样的图形用户界面脚本库支持,且运行的脚本在每一次访问时都要下载,因此脚本

9、语言不适合实现非常复杂的行为。 客户端应用体系结构。复杂的语言元素和标准库使得客户端应用比脚本支持更复杂的逻辑行为,但要充分利用程序语言和标准库的功能来设计一个优良的、友好的用户界面需要在界面设计方面有相当丰富的经验。 *二、体系结构选型与跨平台技术 :时间性能(1)时间性能是另一个用以选择适当的体系结构的关键因素。处理Web用户界面时可能出现的时间瓶颈:初始化时间,直到第一个用户交互完成的时间(下载时间)客户端处理一个用户交互所需的时间(客户装入)需要与服务器交互的次数(服务器依赖度)从客户端向服务器传输消息及反馈结果所需的时间(网络传输时间)服务器处理用户交互所需的时间(服务器装入)*二、

10、体系结构选型与跨平台技术:时间性能(2)不同的界面体系结构,其时间性能也不同服务器端逻辑体系结构。对于服务器端逻辑体系结构而言,服务器 的响应信息不仅包括事件需要的数据,还包括这些数据所需的设计 定义,这就导致客户同服务器之间存在频繁的、大量的信息传输, 因此响应时间较长。 客户端脚本体系结构。由于脚本提供了在客户端上运行一些控制逻 辑的功能,提高了系统的响应速度。客户端应用体系结构。客户端应用程序的主要缺点是初始化时需要 较长的下载时间。目前解决该问题的技术有: 延迟模块装载应用程序分割 客户端安装 Applet缓存 *二、体系结构选型与跨平台技术 :安全性(1)在前面的章节里我们已经知道了

11、安全性包括服务器端的安全(包括CGI/Servlet安全和防火墙)、客户端的安全以及通信信道的安全(如何保证在服务器与用户间消息传递的真实性、完整性和保密性)。这里讨论的是针对客户端的安全,因为当客户端访问某个Web站点时,其完整性可能因恶意的ActiveX控件或其他代码而遭到破坏。 服务器端逻辑体系结构。单纯的静态内容在客户端既不执行也不解释任何代码,仅仅是呈现出来,因此它对客户端的威胁最小,到目前为止,几乎没有发现什么安全漏洞。*二、体系结构选型与跨平台技术:安全性(2)客户端脚本体系结构。 DHTML依靠于JavaScript,所以客户端的安全问题主要是JavaScript(JScrip

12、t)的安全性问题。JavaScript没有内置的安全模式阻止恶意脚本损害客户系统。它的安全性完全靠功能约束实现。客户端的JavaScript并没有删除和改写文件的功能,也没有任何类型的网络元语。但语言本身也存在一些漏洞,给系统带来了安全隐患。 客户端应用体系结构。从安全的角度分析,客户端应用技术划分为两个范畴 : 当有关HTML文件被请求时,浏览器立即自动下载并启动动态内容应用程序分割 需要用户进行安装的应用程序 Applet缓存 *二、体系结构选型与跨平台技术:平台兼容性 服务器端逻辑体系结构。由于该体系结构的代码均在服务器端运行,而HTML几乎被所有浏览器支持,因此无需从客户端考虑平台问题

13、。客户端脚本体系结构。使用客户端脚本体系结构,将有许多不兼容问题出现。虽然很多平台都支持JavaScript,但在不同产品中存在明显的差异。 客户端应用体系结构。由于从一开始就采取了很多措施来标准化Java语言和APIs,因此Java的兼容性做得比较好。但是在开发applet时,由于采用Java版本不同,也引起了一些平台兼容性问题。JDK的低版本被广泛支持,JDK高版本的某些特性则不被所有的浏览器和操作系统支持。 *三、脚本语言及CSS样式表应用:脚本语言(1)脚本语言是介于 HTML 和 Java、C+ 和 Visual Basic 之类的编程语言之间的语言。HTML 通常用于格式化文本和链

14、接网页。编程语言通常用于向计算机发送一系列复杂指令。脚本语言也可用来向计算机发送指令,但它们的语法和规则没有可编译的编程语言那样严格和复杂。脚本语言主要用于格式化文本和调用以编程语言编写的已编译好的组件。ECMAScript。ECMAScript是由ECMA(欧洲计算机制造商协会)标准化后,并以 ECMA-262语言规范的形式对外公开发布。它是从 JavaScript1.1和Jscript1.0等技术上发展起来的。ECMAScript仅仅是一种规范描述,定义了脚本语言的所有属性、方法和对象,其他的语言可以实现以ECMAScript为基准的功能。ECMAScript目前发布的最高版本是3.0。

15、*三、脚本语言及CSS样式表应用:脚本语言(2)JavaScript。JavaScript是网景公司开发的脚本语言,它的1.3版完全符合了ECMAScript脚本语言规范第一版。该语言包括一些核心对象和核心语言元素构成的核心集。JScript。JScript是微软公司开发的脚本语言,它的3.0版基本符合了ECMAScript脚本语言规范第一版,目前微软声称J(Jscript 8.0)几乎支持ECMAScript3.0所有功能。JScript只有在 Microsoft IE或 Microsoft IIS的解释器下才能运行。VBScript。VBScript是Microsoft

16、 Visual Basic家族的新成员。VBScript为IE带来了“动态脚本”,同样也被 Windows脚本主机和Microsoft IIS所支持。 *三、脚本语言及CSS样式表应用:脚本语言(3)DHTML。DHTML是将HTML 、CSS和脚本语言有机结合来制作动感的、交互性网页的技术 。其中HTML用来定义网页元素,如段落、表格等。 CSS用来描述元素属性,如大小、颜色、位置等。 脚本语言用来操纵网页元素和浏览器。 DHTML并不是什么新的技术,它只不过是一些现有网页技术与标准的整合。DHTML技术主要包括: 样式表(Microsoft和 Netscape) 内容的定位(Microso

17、ft和 Netscape) 动态内容(仅限于Microsoft) 数据绑定(仅限于Microsoft)可下载的字体(仅限于Netscape) *三、脚本语言及CSS样式表应用:CSS样式表(1)层叠样式表(Cascading Style Sheets,CSS)是一组样式,样式中的属性在HTML文档中依次出现,并显示在浏览器中。通常可用4种方法将定义的样式与HTML文档结合 内联样式。可以使用STYLE属性内联样式。<HTML><HEAD><TITLE>CSS Sample:内联样式</TITLE></HEAD><BODY>

18、<P STYLE=;color: red; font-family: 华文琥珀; font-style: Italic; serif;>红色的“华文琥珀”斜体字,如果字体可用的话(一)。</P><P STYLE=;color: red; font-family: 华文琥珀; font-style: Italic;serif;>红色的“华文琥珀”斜体字,如果字体可用的话(二)。</P></BODY></HTML>*三、脚本语言及CSS样式表应用:CSS样式表(2)嵌入样式。一个样式表可以使用STYLE元素嵌入在文档中,STY

19、LE元素放在文档的HEAD部分。<HTML><HEAD><TITLE>CSS Sample:嵌入样式</TITLE><style TYPE=;text/css; MEDIA=screen><!-Pfont-family: 华文琥珀; font-style: Italic;color: red;-></style></HEAD><BODY><P> 红色的;华文琥珀;斜体字,如果字体可用的话(一)。</P><P> 红色的;华文琥珀;斜体字,如果字体可用的话

20、(二)。</P></BODY></HTML> *三、脚本语言及CSS样式表应用:CSS样式表(3)输入样式: 一个样式表可以使用CSS的import 声明被输入。<HTML><HEAD><TITLE>CSS Sample:输入样式</TITLE><style TYPE=;text/css; MEDIA=screen><!- import url(style.css); -></style></HEAD><BODY><P> 红色的;华文琥珀;

21、斜体字,如果字体可用的话(一)。</P><P> 红色的;华文琥珀;斜体字,如果字体可用的话(二)。</P></BODY></HTML> ? 如果STYLE中包含了其它的CSS规则,要注意所有的import 声明必须放在样式表的开始部分。*三、脚本语言及CSS样式表应用:CSS样式表(4)链接外部样式。一个外部样式表可以通过HTML的LINK元素连接到HTML文档中,<LINK>标记放置在文档的HEAD部分。<HTML><HEAD><TITLE>CSS Sample:链接外部样式</

22、TITLE><LINK REL=StyleSheet HREF=;style.css; TYPE=;text/css; MEDIA=screen></HEAD><BODY> <P> 红色的“华文琥珀”斜体字,如果字体可用的话(一)。 </P><P> 红色的“华文琥珀”斜体字,如果字体可用的话(二)。</P></BODY></HTML>*第七章 电子商务实用开发技术 前台(客户端)开发技术 后台(服务器端)技术 Web Service技术 *第二节 后台(服务器端)技术一、服务器端技

23、术概述 动态页面是由Web服务器根据客户的请求(包括可能的参数)在运行时刻产生的Web页面。而静态页面并不是在客户发出请求之后产生的,通常事先存放在Web服务器的文件系统中。与提供静态页面相比,动态页面的生成需要服务器做更多的事情。支持动态页面生成的技术主要包括公共网关接口、服务器端脚本技术、插件技术、Servlet技术和JSP技术。*一、服务器端技术概述:公共网关接口 公共网关接口(Common Gateway Interface,CGI)是Web服务器生成动态页面的原始方法,它是应用程序和Web服务器之间的接口标准。通常HTML表单和CGI一起使用,CGI程序允许用户通过网页把数据输入数据

24、库,也允许数据从数据库流向用户。CGI程序通常可以使用C/C+、PERL、TCL(Tool Command Language)、VB等语言来写。但是,在CGI模型中,对每一个访问CGI程序的HTTP请求,服务器端都会产生一个新的进程来处理这个请求。这种模式限制了服务器同时处理多个请求的能力,另外,CGI程序无法与Web服务器交互,因为两者运行在不同的进程中。*一、服务器端技术概述:服务器端脚本技术和插件技术 服务器端脚本技术。服务器端脚本技术是指Web应用开发者在Web页面中直接嵌入脚本生成动态页面,当这些页面被请求时,页面中的脚本由服务器解释产生动态内容。该技术的代表是Microsoft的A

25、SP(Active Server Pages)和Allaire的ColdFusion。该技术没有跨平台性,仅局限于某种类型的产品或操作系统,开发者必须学习某种特定的脚本语言。插件技术。各种Web服务器支持若干种典型的插件技术。包括Netscape NSAPI和Microsoft ISAPI。该技术能提供比较好的性能,但由于与Web服务器的耦合度太强,编程难度也较大。 *一、服务器端技术概述:Servlet 技术和JSP Servlet是产生动态内容的一种服务器端Java技术。具有以下特性:可移植性持久性和高性能 基于Java JSP是一种基于Java的脚本技术,具有下列特性:内容表达与数据生成

26、的分离 更好的MVC分层体系结构基于Java易用性 可移植性 基于Java 支持协作开发 *二、基于ASP的服务器端开发:ASP简介 ASP是Active Server Pages(动态服务器网页)的缩写,它是Microsoft公司开发的一个服务器端的脚本环境,在站点的Web服务器上解释脚本,可产生并执行动态、交互式且高效的站点服务器应用程序。ASP可以胜任基于Microsoft Web服务器的各种动态数据发布。以下是ASP所具有的一些特点: 使用VBScript、Jscript等简单易懂的脚本语言 无需编译,可在服务器端直接执行 与浏览器无关 ASP能与任何ActiveX scripting

27、语言相容 ASP的源程序不会被传到客户浏览器 面向对象 *二、基于ASP的服务器端开发:基于ASP技术的Web服务 器运行环境(1) ASP是微软公司提供的,目前可在微软公司的下列平台上使用,其他的服务器在安装了ASP组件后也能实现这个功能。一般站点都是用IIS作为服务器,PWS是为一般的PC用户开发的。IIS是一种Web服务,主要包括服务器、FTP服务器等,它使得在Internet或Intranet上发布信息成了一件很容易的事。下面以WindowsXP为例,介绍Web服务器环境设置 Windows2003+IIS(Internet Information Service,Internet信息

28、服务) WindowsXP + IIS Windows2000 Advance Server + IIS Windows2000 Server + IIS*二、基于ASP的服务器端开发:基于ASP技术的Web服务 器运行环境(2) Windows2000 Pro + IIS Win98+PWS(Personnel Web Service) ? 下面以WindowsXP为例,介绍Web服务器环境设置。 (1)在安装Windows系统时,IIS默认为不安装,因此在配置Web之前需先安装IIS。 (2)进入控制面板的“管理工具”里面,点击“Internet服务管理器”,就进入了IIS服务器的管理界面

29、,如图7-4所示。 *二、基于ASP的服务器端开发:基于ASP技术的Web服务 器运行环境(3) 图7-4 目录设置 图7-5 属性设置之一 *二、基于ASP的服务器端开发:基于ASP技术的Web服务 器运行环境(4)图7-6 属性设置之二 图7-3 属性设置之三 *二、基于ASP的服务器端开发:ASP同脚本语言的关系 ASP是一套服务器端的对象模型。 下面的例子用来说明ASP与脚本语言的关系:<%IF Session(“Name”)= “Zhangsan” THEN Result=“He is a boy” Get=TrueELSE Result=“He is not a boy”Ge

30、t=False END IF%> ? 此例中,IF语句和赋值语句都是脚本语言VBScript的标准语法,而Session(“Name”)则是ASP中Session对象的一个引用。VBscript(或JavaScript)是一种解释型语言,由Web服务器或浏览器解释执行。*三、基于JSP的服务器端开发:应用体系结构(1) 基于Servlet、JSP和JavaBeans的Web应用体系结构应用服务器CommandBeansDataBeans5ViewBeansResultJSPs含表格的HTML页面CICSDB2CICS其他HTTP Server169527384*三、基于JSP的服务器端开

31、发:应用体系结构(2)HTML页面。输入的数据可以在浏览器通过HTML页面中的JavaScript进行验证,或者发给服务器后由Servlet来验证。Servlet。Servlet从应用服务器取得控制权,来执行基本的流程控制。 Command Beans。控制业务逻辑的处理。Data Beans。保存由Command Beans或者后台系统计算的结果。 View Beans。为JSPs和Data Beans架构了桥梁。 JSPs。为浏览器生成有关输出。 *三、基于JSP的服务器端开发:MVC设计模式JSP设计遵循了MVC设计模式,该设计模式包含3个部件: 模型是针对有关数据以及与之关联的事务处理

32、,它是业务逻辑 视图是针对数据的显示,它是页面的构建 控制器是针对模型与外部世界的交互,它是交互的控制 MVC示图MVC处理过程:首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理然后模型用业务逻辑来处理用户的请求并返回数据最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。为什么使用MVC:MVC从根本上强制性的将数据层代码和表示层代码分开多个视图能共享一个模型 ,由于模型返回的数据没有进行格式化,同样的构件能被不同界面使用。即模型取得的数据是原始数据,所以你可以采用视图view进行自己的格式化数据,生成不同的展现视图 MVC的应用程序的三个部件相互对立,可以使用控制

33、器来联接不同的模型和视图去完成用户的需求 *四、基于.NET的开发技术:.NET基本概念 .NET是Microsoft面向XML Web服务的平台,它使用一种统一的、个性化的方式将客户的信息、设备和人员紧密联系在一起。Microsoft 认为向分布式计算的转变正在悄悄地进行着,.NET 的目的正是要加速产生下一代分布式计算的过程,是微软用来实现XML,Web Services, SOA和敏捷性的技术。 .NET代表着联通性、敏捷性和成功: 联通性。.NET的远景是让所有的事物都连接起来敏捷性。它体现在商务敏捷性和IT敏捷性两方面成功。 .NET创建敏捷的系统,带来商务上的成功 *四、基于.NE

34、T的开发技术:.NET的三层架构 所谓三层体系结构是在客户端与数据库之间加入了一个组件层。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了组件层进行处理。 .NET三层架构 *四、基于.NET的开发技术:.NET的开发语言C#语言。C#(读作“Csharp”)是一种简单、现代、面向对象且类型安全的编程语言,C#同时具备“应用程序快速开发”语言的高效率和C+固有的强大能力。C#吸收了Java的许多优点。C+.NET。从VisualC+.NET开始,标准C+语言已扩展成为托管编程提供支持。J#。VisualJ#提供独立开发的类库集以提供大多数JDK1.1.4级类库的功能JScript

35、.NET。Microsoft实现ECMA?a name=baidusnap62262语言的新一代版本。通过将先前版本的JScript功能集与基于类的语言的最佳功能相结合,JScript.NET包含了这两个领域的精华部分。*四、基于.NET的开发技术:一个简单的.NET应用举例该示例为用户注册的简单例子。数据库中只有一个表,表结构如下。 以三层架构搭建框架。共三层4个项目:表现层直接与用户进行交互,显示和获取数据,并对用户输入进行检验。Web:B/S结构模型Windows:C/S结构模型。 BLL业务逻辑层:实现业务逻辑OleDbDAL数据访问层:负责与数据库通信,存取数据编号字段名名称类型1I

36、d编号Integer2Name姓名Varchar(10)*第七章 电子商务实用开发技术 前台(客户端)开发技术 后台(服务器端)技术 Web Service技术 *第三节 Web Service技术 一、Web Service的定义及特征 Web Service是一种新型的Web应用程序。它是自适应、自我描述、模块化的应用程序,可以使用标准的互连网协议,将功能体现在互联网和内联网上。这些应用程序可以跨越Web进行发布、定位和调用,可将Web Service视作Web上的组件编程。 Web Service具备如下的特征:封装完好。Web Service是一种组件,它自然具备组件的一些基本特征。对

37、于用户而言,只能看到Web Service提供的网络编程接口。 *一、Web Service的定义及特征 松散耦合。对象组件技术的一个基本特点就是透明性,即当一个组件的实现内容发生变化之后,调用它的用户不会发现其中的变化,即组件的内容对用户是透明的。高度的可集成能力。这种特性是由Web Service所采用的规范决定的。由于Web Service采取简单的、易理解的标准Web协议作为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,实现了高度的可集成性。使用标准的协议和规范。Web Service要实现上述的优良特性,必须遵循定义良好的、开放的标准协议,如WSDL、XML、SOAP等。

38、 *二、Web Service架构与模型:Web Service架构无论Web Service使用哪种工具和语言开发,只要它是通过SOAP协议被调用,其架构都可用图7-10描述。Web ClientWindows ClientWindows ClientSOAP RequestSOAP ResponseRequest HandlerWeb ServerWeb ServiceWeb ServiceWeb Service图7-10 典型Web Service结构图 *二、Web Service架构与模型:Web Service模型(1) Web Service体系结构基于三个角色之间的相互作用,这

39、三个角色是:服务提供者(Service Provider)服务注册处(Service Registry)服务请求者(Service Requestor) 它们之间的相互作用关系如图7-11所示。 *二、Web Service架构与模型:Web Service模型(2)服务注册处服务描述发布WSDL UDDI发现WSDL UDDI服务请求者服务提供者服务服务描述图7-11 Web Service体系结构中的角色关系 一个典型的服务是:服务提供者有一个从网络可以访问的软件模块(由Web Service实现),服务提供者还提供了这个服务的描述,并将它发布到服务请求者或者服务注册处。 *二、Web S

40、ervice架构与模型:Web Service模型(2)Web Service模型中的角色 服务提供者。从企业的角度来看它是服务的所有者,从整个体系的角度看它是容纳服务的平台。 服务请求者。从企业的角度看它是一个寻求一定服务功能的请求者,从整个体系的角度来看它也是一个寻找和调用服务的应用程序。 服务注册处。它是服务提供者发布其服务描述的地方。 Web Service模型中的操作 发布(Publication) 发现(Discovery)绑定(Binding) *三、Web Service技术基础 :XML(1) XML(可扩展标记语言)是一种构造数据的技术,是W3C(World Wide We

41、b Consortium)的一个推荐标准。XML不仅允许用户 定义自己的一套标记,而且允许用户根据各种不同的规则来指定标记。 DTD(Document Type Definition)即文档类型定义,指用不同于XML的独立语法来规定XML文档中各种元素集合的内容模式,语言直接沿袭了定义SGML语言的方法,具有以下特点:DTD使得XML文档保持一致 DTD可以共享绑定(Binding) DTD提供了对XML语汇的形式化和完整的定义每个XML文档由单个的DTD来限制 *三、Web Service技术基础 :XML(2) XSL。XML文档决定了文档的内容,样式表XSL(Extensible Sty

42、lesheet Language)则规定着文档的显示。XSL是通过XML进行定义的,遵守XML的语法规则,是XML的一种具体应用。 XSL由两大部分组成:第一部分描述了如何将一个XML文档进行转换,转换为可浏览或可输出的格式;第二部分则定义了格式对象FO(Formatted Object)。 XSLT。XSLT(Extensible Stylesheet Language Transformations)标准用来描述如何识别、选择、匹配XML文档中的各个构成元件,包括元素、属性、文字内容等。XSLT主要的功能就是转换,它将一个没有形式表现的XML内容文档作为一个源树,将其转换为一个有样式信息的

43、结果树。 *三、Web Service技术基础 :SOAP(1) SOAP(Simple Object Access Protocol,简单对象访问协议)是基于XML的,在分布式的环境中交换信息的简单的协议。SOAP协议规范描述了有关SOAP的消息处理过程,并涉及到性能和安全性的问题。SOAP的消息路径机制和可扩充的Header和Body机制又为分布式计算提供了很好的支持。它包括四个部分: SOAP信封。封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架。 SOAP编码规则。用于表示应用程序需要使用的数据类型的实例,SOAP的一个设计目标就是要利用XML

44、的可扩展性和可伸缩性来包装和交换RPC调用。 SOAP RPC表示。表示远程过程调用和应答的协定。 SOAP 绑定。使用底层协议交换信息。 *三、Web Service技术基础 :SOAP(2)消息交换机制。从根本上来看,SOAP消息是从发送方到接受方的一种传输方法,但是SOAP消息一般会和实现模式结合。无论SOAP与哪种协议绑定,消息都可以通过消息路径来指定路线发送,消息路径机制使消息在到达最终目的地之前可以在一个或多个中间服务上处理。 SOAP模型。SOAP可理解成协议SOAP=RPC+HTTP+XML。XML提供了一个跨平台的数据编码格式化方法;SOAP则在XML之上,定义了一种跨系统平

45、台的交换信息的简单包装方法;绑定于HTTP之上的SOAP协议,则是在包装的协议之上,定义了在系统之间进行与编程语言、操作系统无关的远程调用方法。使用XML和SOAP这样的跨语言、跨平台的解决方案简化了多个应用之间的一致性问题。 *三、Web Service技术基础 :WSDL(1)WSDL(Web Service Description Language,服务描述语言)提供了一个基于XML的简单语汇表,用来描述通过网络提 供的基于XML的Web Service,描述Web Service做什么,它在哪里及如何调用它。WSDL本身不规定如何发布或公布这种服务描述,而是将这项任务留给其他规范。WS

46、DL将Web Service描述定义为一组服务访问点,客户端可以通过这些服务访问点,对包含面向文档信息或面向过程调用的服务进行访问(类似远程过程调用)。WSDL首先对访问的操作和访问时使用的请求/响应消息进行抽象描述,然后将其绑定到具体的传输协议和消息格式上以最终定义具体部署的服务访问点。相关的具体部署的服务访问点通过组合就成为抽象的Web Service。 *三、Web Service技术基础 :WSDL(2)WSDL(Web Service Description Language,服务描述语言)提供了一个基于XML的简单语汇表,图7-13描述了WSDL文档在Web Service交互中的

47、作用。 3调用Web ServiceXML注册表或WSDL储存库客户机1Web服务管理员在XML注册表或其他WSDL储存库中发布WSDL文档2取得WSDL文档图 7-13 WSDL文档在Web Service交互中的作用 *三、Web Service技术基础 :WSDL(3)WSDL元素。在WSDL规范中,定义了如何使用SOAP消息格式、HTTP GET/POST消息格式以及MIME格式来完成Web Service交互的规范。WSDL文档在Web Service的定义中使用下列元素: Types。数据类型定义的容器。 Message。通信消息的数据结构的抽象类型化定义。Operation。对服

48、务中所支持的操作的抽象描述。PortType。某个访问入口点类型支持的操作的抽象集合。Port。定义为协议/数据格式绑定与具体Web访问地址组合的单个服务访问点。 Binding。特定端口类型的具体协议和数据格式规范的绑定。Service。相关服务访问点的集合。 *三、Web Service技术基础 :UDDI(1)UDDI概述。UDDI(Universal Description,Discovery and Integration,统一描述、发现和集成协议),定义了Web Service的发布和发现的方法。UDDI规范在XML和SOAP的基础上定义了新的一层,在这一层次,UDDI提供了一种基

49、于分布式的商业注册中心的方法,该商业注册中心维护了一个Web Service的全球目录,而且其中的信息描述格式基于通用的XML格式。 UDDI技术发现层。UDDI标准描述了一个由Web Service所构成的一个概念上的云状结构,和一个定义Web应用服务框架的编程接口。UDDI标准和计划用来在互联网上建立起“发现”服务。这些“发现”服务提供了一致的发布接口,使得企业能编程进行“发现”操作。*三、Web Service技术基础 :UDDI(2)UDDI标准包括了一个SOAP消息的XML Schema描述,一个UDDI标准API。UDDI的XML Schema定义了四种类型的信息: UDDI信息模

50、型图 PublisherAssertion双方间的关系由双方确定BusinessEntity商业实体信息Business Service商业服务信息Binding Template绑定信息tModel技术模型信息Binding Template数据包含tModel的引用*三、Web Service技术基础 :UDDI(3)商业实体信息(Business Entity)。商业实体信息包括公司的一般信息,如名称、地址和联系信息。商业服务信息(Business Service)。描述商业实体提供的服务。 绑定信息(Binding Template)。指服务访问入口和使用的协议。 技术模型信息(tMo

51、del)。提供了Web Service的WSDL的入口及相关信息。 *四、Web Service的应用领域 面向商业的Web Service。指面向企业应用的服务,包括企业内部的ERP系统、企业间的SCM、CRM等系统。 面向消费者的Web Service。此类服务是对已有B2C网站的改造,为面向浏览器的Web应用增加Web Service的应用界面,使得第三方的桌面工具或其自身提供的增值桌面工具能够利用更优秀的用户界面提供跨越多个B2C服务的桌面服务。 面向设备的Web Service。此类服务的使用终端一般是手持设备或家电。面向系统的Web Service。指一些传统意义上的系统服务, 如果将其移植到Internet/Intranet上,其作用范围将从单个系统或局域网拓展到整个Internet或Intranet。 *本章小结本章首先介绍了前后台的常用开发技术及所采用的应用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论