电子商务概论合肥工业大学管理学院电子商务研究所1第七章电子商务实用开发技术前台(客户端)开发技术后台(服务器端)技术WebService技术电子商务概论合肥工业大学管理学院电子商务研究所2第一节前台(客户端)开发技术一、用户界面体系结构动态内容表现有三种用户界面体系结构,一是服务器端提供动态逻辑,二是使用脚本语言来表现动态内容,三是通过运行在客户端的应用程序来实现动态内容。电子商务概论合肥工业大学管理学院电子商务研究所3一、用户界面体系结构:服务器端逻辑体系结构(1)客户机服务器浏览器用户动作内容和控制的产生控制逻辑业务逻辑内容构建请求响应图7-1服务器端逻辑体系结构电子商务概论合肥工业大学管理学院电子商务研究所4一、用户界面体系结构:服务器端逻辑体系结构(2)由于在Web服务器上,最简单和最常用的体系结构是完全依靠服务器来提供用户界面内容。客户端包括一个浏览器,主要用来显示从服务器上得到的页面。每一个用户动作,例如按下一个按钮,都产生一个对服务器的请求指令,服务器处理这个请求并计算结果,生成一个新的页面再次发送到客户端。服务器端的操作可以分成三个步骤:控制逻辑业务逻辑内容构建电子商务概论合肥工业大学管理学院电子商务研究所5一、用户界面体系结构:客户端脚本体系结构(1)向客户端提供动态内容的另一种途径是将脚本作为HTML页面的一部分,从服务器传送到客户端,脚本通常包括一些不需要与服务器应用程序通信就能在客户端执行的应用逻辑,如图7-2所示。复杂的逻辑仍然由服务器端执行,这就需要客户端给服务器端发出新的请求,服务器端处理后,将处理结果返回给客户端,最终还是由脚本作进一步处理。这种体系结构的优点是服务器与用户的通信较少,需要的服务器资源也比较少(由于在客户端执行一些业务逻辑),可以对用户动作给出更多的响应(如鼠标的移动)。支持该体系结构的技术,代表性的有ECMAScript/JavaScript/Jscript、VBScript和DHTML(DynamicHTML)。电子商务概论合肥工业大学管理学院电子商务研究所6一、用户界面体系结构:客户端脚本体系结构(2)浏览器用户请求页面切换产生页面/简单控制逻辑内容修改切换/复杂控制逻辑商务逻辑内容构建+逻辑嵌入客户机服务器响应图7-2客户端脚本体系结构电子商务概论合肥工业大学管理学院电子商务研究所7一、用户界面体系结构:客户端应用体系结构(1)在客户端加入逻辑的另一个体系结构是在客户端运行一个功能完全的应用程序。用户可以下载这个程序(每次站点访问的下载或者将这个应用程序放在用户的高速缓存中)。此后它将控制用户的交互和内容构造。当服务器上执行的业务逻辑必须初始化时,通信才成为必要。这种通信是通过内嵌在http中的协议来完成的,并且它只传输必要的网络数据(并不需要传输HTML数据内容)。因此,在客户端和服务器端均需要附加的通信逻辑。该体系结构的优点是消除了用户界面和业务逻辑的区别;与服务器的通信量很少;Web页面可离线浏览;不需要很多服务器资源。电子商务概论合肥工业大学管理学院电子商务研究所8一、用户界面体系结构:客户端应用体系结构(2)浏览器用户开始应用程序下载+版本控制通信逻辑商业逻辑客户机服务器下载applet应用控制逻辑通信逻辑内容构建逻辑请求电子商务概论合肥工业大学管理学院电子商务研究所9一、用户界面体系结构:客户端应用体系结构(3)支持客户端应用体系结构的技术有:Javaapplets是可以作为Web文档中的附件来分发的Java程序。Applets的代码可以被支持Java的浏览器解释和执行。Java应用程序是运行在客户端系统上的独立的应用程序,这种客户端系统与浏览器无关。ActiveX为一组综合技术,这些技术使得用任何语言写的软件构件在网络环境中能相互操作。电子商务概论合肥工业大学管理学院电子商务研究所10一、用户界面体系结构:多媒体技术(1)Web站点内部署多媒体内容采用的方法:图像与动画。在Web上最简单也是最重要的多媒体内容就是图像。在各种图像格式中,GIF和JPEG是Web设计中应用最广泛的两种格式。为了强化多媒体效果,动画技术得到进一步发展,GIF动画便是一例。MacroMedia。Shockwave或Macromedia在Web上用来使媒体播放更加具有吸引力。它们可以让用户从浏览器中体会到交互的Web内容电子商务概论合肥工业大学管理学院电子商务研究所11一、用户界面体系结构:多媒体技术(2)HotMedia。HotMedia是适合于那些具有创造性的专业人员的工具,它用丰富的媒体增强电子商务应用系统。HotMedia可以动态地确定所需的最少代码和数据内容,并逐步下载它。它包括:音频流图像间的变换效果,如擦除和褪色特殊内容的用户界面360度全景和部分全景通过360度IPIX图像显示的360度全景到HotMedia或HTML文件的热点链接横幅打印电子商务概论合肥工业大学管理学院电子商务研究所12一、用户界面体系结构:多媒体技术(3)VRML。VRML(VirtualRealityModelingLanguage)是互联网上用来描述交互3D多媒体的国际标准文件格式(ISO/IEC14772)。该标准语言适合于动画和几何图形的3D建模,使3D情景在互联网交互环境中能够被浏览和操纵。Video。视频应用范围很广,从基于网络的培训到视频会议。最常用的视频格式有:适合于Windows的AVI适合所有平台(包括UNIX)的MPEG适合于Mac(以及适合于Windows)的QuickTimeMOV流媒体格式:real格式和wmv等电子商务概论合肥工业大学管理学院电子商务研究所13二、体系结构选型与跨平台技术:瘦客户机和胖客户机(1)有关用户界面体系结构的讨论总是与瘦客户和胖客户的讨论有关。在客户/服务器的应用中,瘦客户是指客户机被设计得很小,大多数的数据操作都在服务器端进行;而胖客户是指在本地客户端执行大多数的数据处理,只有数据本身是存储在服务器上。对Web应用而言,服务器端逻辑体系结构是典型的瘦客户,而客户端应用体系结构和大部分的需要特定插件的多媒体技术,可以被看作是一种胖客户,虽然在大多数情况下服务器还要处理数据存取的其他任务。胖客户与瘦客户有其各自的特点电子商务概论合肥工业大学管理学院电子商务研究所14二、体系结构选型与跨平台技术:瘦客户机和胖客户机(2)胖客户与瘦客户的性能比较胖客户瘦客户客户端功能强大,客户自主性强客户端功能少,缺少灵活性部署和管理比较困难,每次系统更新升级,所有客户端都必须重新安装部署和管理比较容易,系统更新升级只需重新安装服务器端对客户要求较高,可能需要专门培训对客户要求较低,只要会用浏览器就可以操作胖客户体系结构的总费用高,但服务提供商的费用较低,用户要配置较高性能的计算机而承担较高的费用瘦客户体系结构的总费用低,但服务提供商的费用较高电子商务概论合肥工业大学管理学院电子商务研究所15二、体系结构选型与跨平台技术:易用性(1)在易用性是选择用户界面体系结构的一个主要参考标准。易用性是指用户不需要特殊培训就可使用这些程序,它是应用程序能否被用户接受的重要指标。在互联网环境下,易用性有着特殊的含义。M.E.Holzschlag提出了构成一个良好界面设计的特征:隐语的使用、清晰、统一、定位、导航功能。不同的界面体系结构所表现出来的易用性是不一样的。电子商务概论合肥工业大学管理学院电子商务研究所16二、体系结构选型与跨平台技术:易用性(2)服务器端逻辑体系结构。该体系结构只能容纳很简单的用户界面(超链接或表单),这就限制了向用户提供高水平的导航与定位帮助。客户端脚本体系结构。脚本能比纯粹的静态方法提供更加复杂的导航和定位帮助,但脚本语言缺少像Java的AWT或Swing那样的图形用户界面脚本库支持,且运行的脚本在每一次访问时都要下载,因此脚本语言不适合实现非常复杂的行为。客户端应用体系结构。复杂的语言元素和标准库使得客户端应用比脚本支持更复杂的逻辑行为,但要充分利用程序语言和标准库的功能来设计一个优良的、友好的用户界面需要在界面设计方面有相当丰富的经验。电子商务概论合肥工业大学管理学院电子商务研究所17二、体系结构选型与跨平台技术:时间性能(1)时间性能是另一个用以选择适当的体系结构的关键因素。处理Web用户界面时可能出现的时间瓶颈:初始化时间,直到第一个用户交互完成的时间(下载时间)客户端处理一个用户交互所需的时间(客户装入)需要与服务器交互的次数(服务器依赖度)从客户端向服务器传输消息及反馈结果所需的时间(网络传输时间)服务器处理用户交互所需的时间(服务器装入)电子商务概论合肥工业大学管理学院电子商务研究所18二、体系结构选型与跨平台技术:时间性能(2)不同的界面体系结构,其时间性能也不同服务器端逻辑体系结构。对于服务器端逻辑体系结构而言,服务器的响应信息不仅包括事件需要的数据,还包括这些数据所需的设计定义,这就导致客户同服务器之间存在频繁的、大量的信息传输,因此响应时间较长。客户端脚本体系结构。由于脚本提供了在客户端上运行一些控制逻辑的功能,提高了系统的响应速度。客户端应用体系结构。客户端应用程序的主要缺点是初始化时需要较长的下载时间。目前解决该问题的技术有:延迟模块装载应用程序分割客户端安装Applet缓存电子商务概论合肥工业大学管理学院电子商务研究所19二、体系结构选型与跨平台技术:安全性(1)在前面的章节里我们已经知道了安全性包括服务器端的安全(包括CGI/Servlet安全和防火墙)、客户端的安全以及通信信道的安全(如何保证在服务器与用户间消息传递的真实性、完整性和保密性)。这里讨论的是针对客户端的安全,因为当客户端访问某个Web站点时,其完整性可能因恶意的ActiveX控件或其他代码而遭到破坏。服务器端逻辑体系结构。单纯的静态内容在客户端既不执行也不解释任何代码,仅仅是呈现出来,因此它对客户端的威胁最小,到目前为止,几乎没有发现什么安全漏洞。电子商务概论合肥工业大学管理学院电子商务研究所20二、体系结构选型与跨平台技术:安全性(2)客户端脚本体系结构。DHTML依靠于JavaScript,所以客户端的安全问题主要是JavaScript(JScript)的安全性问题。JavaScript没有内置的安全模式阻止恶意脚本损害客户系统。它的安全性完全靠功能约束实现。客户端的JavaScript并没有删除和改写文件的功能,也没有任何类型的网络元语。但语言本身也存在一些漏洞,给系统带来了安全隐患。客户端应用体系结构。从安全的角度分析,客户端应用技术划分为两个范畴:当有关HTML文件被请求时,浏览器立即自动下载并启动动态内容应用程序分割需要用户进行安装的应用程序Applet缓存电子商务概论合肥工业大学管理学院电子商务研究所21二、体系结构选型与跨平台技术:平台兼容性服务器端逻辑体系结构。由于该体系结构的代码均在服务器端运行,而HTML几乎被所有浏览器支持,因此无需从客户端考虑平台问题。客户端脚本体系结构。使用客户端脚本体系结构,将有许多不兼容问题出现。虽然很多平台都支持JavaScript,但在不同产品中存在明显的差异。客户端应用体系结构。由于从一开始就采取了很多措施来标准化Java语言和APIs,因此Java的兼容性做得比较好。但是在开发applet时,由于采用Java版本不同,也引起了一些平台兼容性问题。JDK的低版本被广泛支持,JDK高版本的某些特性则不被所有的浏览器和操作系统支持。电子商务概论合肥工业大学管理学院电子商务研究所22三、脚本语言及CSS样式表应用:脚本语言(1)脚本语言是介于HTML和Java、C++和VisualBasic之类的编程语言之间的语言。HTML通常用于格式化文本和链接网页。编程语言通常用于向计算机发送一系列复杂指令。脚本语言也可用来向计算机发送指令,但它们的语法和规则没有可编译的编程语