动态电子商务应用论文

2022-07-03

【摘要】在构建基于Web服务的分布式业务过程管理系统首先要解决两个关键问题:首先,必须搜索(发现)包含期望功能及操作需求的Web服务以实现给定目标任务;其次,在发现相关Web服务后,需要一定的机制来简化结构和语义的不同问题。在实现这两个任务的时候,面临着许多问题亟待解决。以下是小编精心整理的《动态电子商务应用论文(精选3篇)》,供大家参考借鉴,希望可以帮助到有需要的朋友。

动态电子商务应用论文 篇1:

基于Web Service的动态电子商务的研究

[摘要]动态电子商务是电子商务发展的新趋势,Web Service技术是实现动态电子商务的关键技术,被称为动态电子商务的核心。介绍Web Service的体系结构及其关键技术,阐述动态电子商务的概念和特点,并在此基础上给出基于Web Service的动态电子商务系统框架。

[关键词]Web Service 动态电子商务 XML SOAP WSDL UDDI

一、引言

随着Internet技术的发展,基于web的电子商务软件平台技术也在发生着变化。当今的电子商务,即第一代电子商务是基于Internet的业务活动,主要致力于将现存的业务逻辑、业务流程和商业应用移植到Internet上供客户访问,属于用户驱动模式。目前,第一代的电子商务正向动态电子商务演变,演变的基础和核心就是Web Service。作为下一代Web的主流技术,Web Service为动态电子商务的发展提供了坚实的技术基础。

二、Web Service的体系结构及其关键技术

Web Service的体系结构是基于服务提供者、服务请求者和服务代理三种角色以及发布、查找和绑定三个动作构建的,其面向服务(Service-Oriented Architecture,SOA)的架构如图1所示。

服务提供者向服务代理发布服务,服务请求者通过服务代理查找所申请的服务,并绑定到这些服务上。在Web Service体系结构中,使用WSDL来描述服务,使用UDDI来发布、查找服务,SOAP则用来执行服务调用。Web Service体系结构的各个模块之间以及模块内部,消息以XML格式传递。

(一)XML

可扩充的标记语言。XML是W3C制定的一组规范,描述了一类称为XML文件的数据对象,同时也部分地描述了处理这些数据对象的计算机程序的动作。XML语言可自定义标记、属性名、描述法等,主要包含三类元素:Schema,XSL和XLL。XML 适合在Internet的多点数据交换环境下使用,作为一种非常优秀的商务信息交换技术,XML使得各种B2B应用在数据层上具有了开放集成的能力。Web Service完全基于XML技术。

(二)SOAP

简单对象访问协议。是一种基于XML 的不依赖传输协议的网络表示层协议,用来在应用程序之间以对象的形式对等地、方便地交换数据。SOAP 规范主要由以下四部分组成:

1.SOAP信封(Envelop):它构造定义了一个整体的表示框架,可用于表示消息的内容、发送者和接收者。

2.SOAP编码规则(Encoding rules):是一个定义传输数据类型的通用数据类型系统,这个简单类型系统包括了程序语言、数据库和半结构数据中不同类型系统的公共特性。

3.SOAP RPC表示(RPC Representation):定义了一个用于表示远程调用和响应的约定。

4.SOAP绑定(Binding):定义了一个使用底层传输协议来完成在节点间交换SOAP信封的约定。

(三)WSDL

服务描述语言。WSDL是一种XML格式,用于将网络服务描述为一组端点,这些端点对包含面向文档或面向过程信息的消息进行操作。WSDL描述的服务信息可以是发布的内容、查找的返回结果以及绑定的信息,为服务提供者提供了一个简单的方法用以描述申请的形式并响应远程方法调用信息。WSDL是可扩展的,使得无论通信时使用何种消息格式或网络协议,都可以对端点及其消息进行描述。

(四)UDDI

统一描述、发现和集成协议。是一套基于Web的、分布式的、为Web服务提供的信息注册中心的实现标准和规范,同时也包含一组使企业能将自身提供的Web服务注册以使得别的企业能够发现的访问协议的实现标准。UDDI的核心组件是UDDI注册中心,它使用一个XML文档来描述企业及其提供的Web Service。UDDI商业注册中心提供的信息包含白页(White Page)提供商业名称、商业描述和商业联系等信息;黄页(Yellow Page)提供基于标准分类法的行业类别信息;绿页(Green Page)提供关于商业实体所提供的Web Service的技术信息。

三、基于Web Service的动态电子商务系统框架

IBM为动态电子商务下了一个简单定义:“着重于B2B的综合性和基础设施组成上的下一代电子商务,通过调节Internet标准和通用基础设施为内部和外部企业计算创造最佳效益。”动态电子商务着重程序间的交互作用,改变了早期B2C电子商务阶段客户对程序交互作用的主导作用,更有利于新合作伙伴的发现,实现商务实体间的集成。相对于传统的电子商务而言,动态电子商务具有明显的特点和优势。

动态电子商务是企业业务流程重组的产物,从一开始就与Internet密不可分,因此具有与生俱来的动态特性。商业实体能在其自身的域内以及在贸易合伙人之间有步骤地管理交互作用,从发现新的合伙人到与另一商务实体的集成,动态电子商务着重程序对程序的交互作用。基于Web Service的动态电子商务系统框架如图2所示。

基于Web Service技术的动态电子商务应用框架具有下列特点:

1.软件资源之间的集成必须松散地连接。

2.软件资源的服务接口必须完全公开并且可访问。

3.程序与程序间的消息传递必须遵守开放因特网标准。

4.可通过将核心商业进程和外包软件组件/资源缝合起来,以构建应用程序。

5.颗粒软件资源可用性的增强将使商业进程更灵活和更个人化。

6.可重用的外包软件资源将为服务消费者降低成本和提高生产效率。

7.软件能作为服务被出售。

四、结束语

动态电子商务是电子商务发展的新趋势,在这一阶段中,需要处理供应链后端的交互作用,将企业和市场乃至和整个行业联系起来的交易,包括重要的内部事务处理:定单处理、履行、后勤、生产以及雇佣手续。这些后端交互作用大部分将介于计算机系统、商务应用程序和软件组件之间。Web Service技术是动态电子商务的核心,是实现动态电子商务的关键技术,但Web Service的安全性、服务质量和管理等多方面还有待改进。

参考文献:

[1]IBM Web Services Architecture Team. Web Services architecture overview. http://www.ibm.

Com/developerworks/webservices/library/w-ovr/.

[2]覃征、闫焱、王立,基于Web Service 的动态电子商务.计算机应用研究, 2003, (9).

[3]江红、余青松、顾君忠,基于Web Service的动态电子商务的研究.计算机工程, 2003, 29(2).

[4] Dan Gisolfi. Web Services Architect, Part 1: An Introduction to dynamic E-business. Solutions Architect, IBM jStart Emerging Technologies, 2001.

[5]吴应良,基于Web Service s 的动态电子商务体系结构.计算机应用研究,2003,(7).

作者简介:

孔婷,女,汉族,浙江,广东工贸职业技术学院助教,硕士,主要研究方向:计算机网络及应用。

作者:孔 婷

动态电子商务应用论文 篇2:

动态电子商务系统构建中的服务发现和组合问题研究综述

【摘要】在构建基于Web服务的分布式业务过程管理系统首先要解决两个关键问题:首先,必须搜索(发现)包含期望功能及操作需求的Web服务以实现给定目标任务;其次,在发现相关Web服务后,需要一定的机制来简化结构和语义的不同问题。在实现这两个任务的时候,面临着许多问题亟待解决。文章对动态电子商务系统构建中的服务发现和组合问题进行了文献综述,指出当前研究中存在的问题和有待研究的方向。

【关键词】Web服务;Web服务发现;Web服务组合

1.引言

动态电子商务系统是电子商务与计算机科学的交叉研究领域,从国内外目前的研究情况看,这项研究还处在发展阶段,有些问题才刚刚提出,研究的深度还不够深入,计算的手段还很落后,更多的问题还有待归纳总结。

动态电子商务是“着重于B2B的综合性和基础设施组成的下一代电子商务,通过调用Internet标准和通用基础设施,为内部与外部企业创造最佳效益”的电子化解决方案,它为企业提供了内部的商务流程动态重组,以及与外部客户信息系统间的动态延伸和连接功能[1]。作为实现动态电子商务的主要支撑技术,Web服务是在分布式计算、网格和XML等技术相互融合的基础上,采用HTTP、SOAP等Internet标准协议与分布式Web组件,进行交互的自包含、自适应和自描述的软件组件。但是web服务的支撑技术UDDI和WSDL在解决服务的发现和组合问题方面还存在着一定的局限性[2]:首先,在注册中心UDDI的原始服务描述只能提供有限的关于其服务能力和动态行为的静态信息;其次,有关Web服务的描述对于原始服务的动态行为信息是不透明的,这样限制了在服务平台对其进行预推理;再次,由于WSDL是一种状态无关的协议,因此需要对执行的每个原子服务进行状态管理。

近年,学术及工业界对基于web服务的业务过程自动化展开了研究。BPEL4WS就是一种基于XML的工作流定义语言,它使企业能够描述基于Web服务的业务过程,同时作为补充,还出现了WS-coordination和WS-transaction等规范,共同构成了业务过程自动化框架。然而,BPEL4WS仅限于流程模型的规范化定义及Web服务的协同调用问题,没有直接解决Web服务的发现和组合问题。此外,它还假设包含在业务过程中的任务是独立执行的,创建BPEL4WS文档的企业管理人员掌握了有关的Web服务信息,同时BPEL4WS在定义企业需求方面也存在着一定的局限性,而这一点对实现分布式的业务过程管理至关重要。

所以,为了构建成功的电子商务系统,还需要大量的相关研究工作。在构建基于Web服务的分布式业务过程管理系统首先要解决两个关键问题:首先,必须搜索(发现)包含期望功能及操作需求的Web服务以实现给定目标任务;其次,在发现相关Web服务后,需要一定的机制来简化结构和语义的不同问题。在实现这两个任务的时候,面临着许多问题亟待解决:用于构造完整系统的候选Web服务数量巨大;Web服务的自治性使用户不能在设计时确定其操作特性,这对整个系统的质量是不可或缺的一部分;由于不同的Web服务采用不同的数据结构和类层次定义接口参数,因此Web服务之间存在着结构和语义的异构性,需要解决不同Web服务或内部业务活动之间的语义集成,及输入、输出的互操作性。

下面主要从服务发现和组合两个研究方面进行分析评论,这也是系统构建过程中最关键的难点与热点问题。

2.服务的发现问题

基于语义的服务发现:UDDI的一个主要缺陷在于其服务发现系统,没有附加任何语义信息的单纯关键词搜索会产生多个不需要的结果,而且在该框架内不能实现近似性。因此缺乏语义信息常常会导致不确定性问题,不能自动获得结果或服务组合方案。语义Web服务模式能够实现基于语义的web服务描述,在此基础上实现服务的自动发现和组合[3]。METEOR-S[4]是美国Georgia大学的LSDIS实验室主持的关于语义网、工作流和Web服务技术的研究项目,MWSDI(METEOR-S Web Service Discovery Infrastructure)在处理服务实例与用户查询请求的匹配时,使用一种简单的基于服务模板的匹配算法。该算法需要事先定义一系列的服务模板,服务描述文档和用户查询请求都遵循某个特定模板的格式书写,模板中的各项都要进行相应的本体标注。如果用户查询与服务实例使用了相同的服务模板,则进一步对服务模板中的各项作基于本体的匹配推理。MWSDI存在的最大缺点在于,整个P2P网络共享相同的注册本体,维护注册本体的一致性变得十分困难,从很大程度上限制了P2P网络的自组织能力。OWL提供了功能和外延视图来表达Web服务的功能,其发现过程基于表达和匹配能力,并提出了一系列的匹配算法[5]。

杨圣文,史美林(2005年)[6]提出了一种基于过程本体论(process ontol-ogies)的Web服务发现技术,通过描述服务过程的匹配来提高服务匹配的查准率和查全率,服务的查找和发现过程就是过程模型中的过程本体论与查询中所用到的过程本体论相匹配的过程。Orri?ns,B,et al(2003年)[7]提出以RDF和DAML描述服务,用本体上下文关系进行服务发现。TANG Q.C,CHENG H.K(2005年)[8]用DAML+OIL描述Web服务,并给出相应相似度计算方法,该方法未定义输入输出和服务质量等参数,在服务发现时存在明显缺陷。Klein,M.and A(2001年)[9]使用LARKS语言定义Web服务,并用自定义的权重网络计算Web服务之间的相似度,该算法中自定义的权重网络需要人工干预,面对海量的Web服务,构造权重网络的工作量将会成为Web服务发现的瓶颈。此外,蔡月茹等人提出了一种基于P2P技术和语义网技术的服务发现机制,将服务的部署与服务的发布无缝地绑定在一起[10],张荣、申德荣、吴朝晖等人也都从本体论的角度探讨了服务的发现问题[11,12]。

基于QoS的服务发现:服务质量(QoS)描述了一个产品或服务满足消费者需求的能力。提供有保证的QoS是Web服务在商业应用中获得成功的关键。如何动态地选择出最适合用户需求的Web服务正在引起研究领域的关注。文献[5]提出了一种新的服务发现模型,在服务查找过程中考虑了服务的QoS属性。该模型对UDDI进行了扩展,增加了一种新的数据结构,用于描述Web服务的QoS属性。另外,定义了一种QoS证明者角色,用于对服务提供者所宣称的服务质量进行验证。Chen H.G.,Yu T,Lin K.J(2003年)[13]提出了一种Web服务QoS架构(QCWS),在Web服务消费者和提供者之间增加了QoS代理。QoS代理根据收集到的Web服务的QoS信息作为服务发现过程中选择决策的依据。同时,为了确保服务提供者所宣称的服务质量,QoS代理在服务调用之前需要与提供者进行协商,通过接纳控制机制来避免因为服务器过载而导致的服务质量下降,并防止贪婪的用户消耗过多的系统资源。Maximilien E.M,Singh M.P(2004年)[14]提出了一种Web服务代理框架(WSAF)和QoS本体来解决服务的动态选择问题。在WSAF中,服务提供者和服务消费者使用一种XML策略语言来描述服务质量通告和需求。服务代理首先从UDDI查询满足功能性需求的服务,然后借助QoS本体和XML质量策略语言进行服务选择。WSAF能够在QoS本体的基础上进行语义分析,提供更加精确的服务匹配。杨圣文,史美林(2005年)[6]提出了一种支持QoS约束的Web服务发现模型(WSDM2Q),定义了一组描述Web服务QoS属性和信誉度的分类tModel,引入了QoS量化的概念,采用了QoS协商和反馈机制,支持携带QoS描述信息的服务发布以及基于QoS约束的服务发现。

3.服务组合问题

Web服务组合的复杂性主要来源于几个方面:首先,Web上可得的服务数量剧增,用户需要对大型服务注册中心进行搜索;其次,Web可以进行实时创建和更改,因此组合系统要求能够在运行时发现变化并根据最新信息进行决策;此外,Web服务可以由不同的组织开发,可能会采用不同的概念模型描述同一服务,但是并不存在一种中间语言可以用来以相同的方式定义和评估Web服务。所以,采用自动或半自动工具构建组合Web服务非常关键,对此工业界与学术界提出了一定的解决方法。

工业界的相关标准有Web服务的业务流程执行语言BPEL4WS[15],它描述了如何利用基本的Web服务组织成能完成复杂任务的组合服务,从而完成特定的商业目标。

在学术界,围绕着服务发现、服务描述、服务的QoS、服务安全、服务组合等方面,也开展了一系列的研究工作[16]。有关服务组合的研究工作主要从工作流和人工智能AI规划两个方面开展的。

基于工作流的服务组合:在很多方面,组合服务与工作流非常相似。组合服务的定义包括一系列原子服务及其间的控制与数据流,类似地,工作流需要指定工作项目的流动。因此当前有关柔性工作流、自动过程变更、跨企业集成等方面的研究成果都可以为自动Web服务组合提供方法支持。此外,动态工作流方法提供了根据具体资源或服务绑定抽象节点的方式。

eFlow是由HP公司提出的有关组合服务规范、制定和管理平台,它采用了静态工作流产生方法。组合服务采用图形化的方式进行描述,表示过程中服务执行顺序,并没有涉及复杂的服务接口信息的处理问题[17]。CrossFlow[18]与WISE[19]项目主要是提供组织间工作流管理平台,需要解决电子商务中业务过程的互连问题,它们考虑了B2B中的关键需求,如可靠性与外部可管理性等,但是没有考虑动态环境中多属性提供的选择问题。Liangzhao Zeng(2001)[20]提出了一种基于Agent的跨企业工作流管理系统(WFMS),它能够根据用户需求集成业务过程。集成Agent根据用户的需求与服务发现Agent进行沟通,定位合适的服务agent并就服务执行问题与之协商。Liangzhao Zeng(2002)[21]提出了一种了基于业务规则推理引擎的能够实现运行中工作流进行动态组合和修改的动态工作流系统。不过这两种方法都主要集中考虑动态过程的执行和管理问题。PPM(Polymorphic Process Model)采用了动态(由基于服务的过程环境支持)、静态(由基于参考过程的环境支持)相结合的服务组合方式[22]。

基于AI的服务组合:DAML-S(亦称OWL-S)是唯一一个直接声明与AI规划方法直接管理的服务语言。由服务执行产生的状态变更通过DAML-S中ServiceProfile的前提和效果属性进行指定。

情景演算:Mcllraith等人对Golog语言进行了扩展和改进以处理服务的自动构造问题,这一问题主要是通过提供一种高层次的通用过程程序和客户化约束来完成[23]。

PDDL(Planning Domain Definition Language)[24]:为了表示基于PDDL的服务组合方法,McDermott引入了一种新的知识类型(操作价值)。DAML-S的研究主要启发来自PDDL,二者具有很大的相似性。

基于规则的规划:Medjahed提出了一种根据高层声明性描述产生组合服务的技术[25]。该方法利用组合性规则确定两个服务的可组合性,包括四个阶段,即规范化阶段、匹配阶段、选择阶段和产生阶段。SWORD[26]是美国斯坦福大学研制的Web服务组合的系统,能够重用已有的服务,实现新的组合服务。SWORD中的规则引擎可以产生服务组合顺序的计划,通过规则的触发,进行相关服务的调度,实现复杂的Web服务组合。

其它AI规划方法:SHOP2是用于服务自动组合的HTN规划器[27],它采用DAML-S规范描述服务,他们认为HTN中的任务分解概念与DAML-S过程本体中的过程分解非常相似,并且认为HTN规划器比Golog等其它规划语言更加有效。

还有学者采用理论验证研究者技术实现服务组合,其方法是基于自动演绎和程序综合,采用了一阶语言描述最初可获得的用户需求。

此外,不少学者从其它角度研究了服务的组合问题。Boualem等设计了SELF-SERV[28],通过利用P2P计算架构,提出了服务组合中的服务的协调机制、包装机制和路由机制进行服务的注册、发布和消息的交互。ActiveXML[29]是另一个在Web服务集成方面做得很出色的工作,由法国Inria的Abiteboul等提出,通过利用XQuery[30]实现Web服务调用和XML文档的结合,实现了P2P环境下数据和Web服务的集成,ActiveXML关注的是在文档中嵌入XQuery以及如何执行这些查询,从而保证负载平衡等问题。Orri?ns等分析了业务过程模型的基本元素,提出了一种业务规则驱动的Web服务组合方法[7]。Zeng等人依据服务执行费用、执行时间、可靠性、声誉、及服务可获得性等规则,对服务运行时质量进行优化,讨论了多个独立Web服务的组合选择问题[31]。Tang和Cheng从服务中间提供商的角度研究了Web服务的定位及最优定价问题[8]。然而这些研究都没有考虑现有网络的资源有限、生命力脆弱、QOS等级较差的特性,忽略了web服务最基本的瓶颈问题。王晓玲等(2005年)[16]描述了服务间的接口信息处理问题,并且把服务组合中的接口信息处理问题转换为XML数据的处理问题,然后引入基于文法的处理方法来解决接口数据之间的处理问题。SALIMA BENBERNOU,MOHAND-SAID HACID(2005年)[32],采用规范化术语和约束从句描述服务,提出了基于知识的Web服务发现方法。

4.结束语

综上所述,从国内外已有研究成果来看,对构成动态电子商务的服务组件的发现及组合方面的研究已经取得了大量的实质性成果,但是对于构建一个完整的动态电子商务系统来说,还存在着以下几点不足:

(1)但大多数工作都不能处理服务的语义不一致性问题,不能动态实现有效构建动态电子商务系统的目标。在构成动态系统的服务选择、匹配及组合方面,现有研究没有充分考虑服务的语法、语义及操作特性等不同方面,需要很多的人工干预,不能实现系统的动态组合,同时导致了系统构建中组合服务评价指标的不当选择,使得构建的系统在可操作性、有效性、经济性等方面不能很好地满足需求。因此,为了有效指导动态电子商务系统的构建,还存在一些关键难点问题亟待解决。

(2)目前有关组件服务的发现以及组合等研究主要集中在某一个特定的方面,从构造完整电子商务系统的角度来看,缺少一种系统化的方法和工具支持,不能有效指导系统的全生命周期构建过程。

(3)当前的研究主要集中在服务的发现、满足特定需求的服务组合以构成基于web服务的分布式业务过程方面,而没有考虑组合服务在服务平台执行过程中的动态变化性和开放性,也就是说没有考虑在不同的领域或执行状态下服务组合阶段和服务执行阶段的内在联系,而这一点对于部署可靠、满足期望性能的动态、分布式业务过程管理系统(电子商务)至关重要。

参考文献

[1]饶元,冯博琴.面向Web服务的动态电子商务集成框架[J].计算机集成制造系统,2004,10(11):1454-1458.

[2]Hongbing Wang,Web services:problems and future directions,Web Semantics:Science,Services and Agents on the World Wide Web 1(2004):309-320.

[3]S.McIlraith,T.C.Son,and H.Zeng,“Semantic web services,”IEEE Intelligent Systems.Special Issue on Semantic Web,vol.16,no.2,pp.46-53,2001.

[4]S.Oundhakar,K.Verma.K.Sivashanugam,A.Sheth and J.Miller,Discovery of Web Services in a Multi-Ontology and Federated Registry Environment,International Journal of Web Services Research,1(3),2005.

[5]B.Benatallah,M.-S.Hacid,C.Rey,and F.Toumani,“Towards semantic reasoning for web services discovery,”in Proceedings of the International Semantic Web Conference(ISWC’03).

[6]杨圣文,史美林.一种支持QoS约束的Web服务发现模型[J].计算机学报,2005,28(4):589-594.

[7]Orri?ns,B.,et al,A Framework for Business Rule Driven Web Service Composition[J].Lecture Notes in Computer Science,2003,2814:52-64.

[8]TANG Q.C.,CHENG H.K.,Optimal location and pricing of Web services intermediary[J].Decision Support System,2005,40(1):129-141.

[9]Klein,M.and A.Bernstein.Searching for Services on the Semantic Web using Process Ontologies.in The First Semantic Web Working Symposium(SWWS-1).2001.Stanford,CA USA.

[10]陈德伟,许斌,蔡月茹,李涓子.服务部署与发布绑定的基于P2P网络的Web服务发现机制[J].计算机学报,2005,28(4):615-626.

[11]张蓉,申德荣,于戈等.基于本体的Web服务查找和合成技术研究[J].计算机集成制造系统—CIMS,2003,9(10):921-925.

[12]吴健,吴朝晖等.基于本体论和词汇语义相似度的Web服务发现[J].计算机学报,2005,28(4):595-602.

[13]Chen H.G,Yu T.,Lin K.J,QCWS:An implementation of QoS-capable multimedia Web services,Proceedings of t he 5t h International Symposium on Multimedia Software Engineering,Taichung,Taiwan,2003:38-45.

[14]Maximilien E.M.,Singh M.P.A framework and ontology for dynamic Web services selection.Internet Computing,2004,8(5):84-93.

[15]Curbera F,et al,Business process execution language for Web services,IBM/BEA/Microsoft Specifications,2002.

[16]王晓玲,郭志懋,周傲英.Web服务组合的基于文法的消息处理[J].计算机学报,2005,28(4):478-485.

[17]Casati F.,Ilnicki S.,Jin L.,Krishnamoort hy V.,Shan M.,Adaptive and dynamic service composition in eflow.Lecture Notes in Computer Science,2000,Vol.1789:13-31.

[18]P.Grefen,K.Aberer,H.Ludwig,andY.Hoffner,“CrossFlow:

Cross-organizationalworkflowmanagement for service outsourcing in dynamic virtual enterprises,” Special Issue on Infrastructure for Advanced E-Services,Bulletin of the Technical Committee on Data Engineering,vol.24,no.1,2001.

[19]A.Lazcano,G.Alonso,H.Schuldt,and C.Schuler,“The WISE approach to electronic commerce,”Journal of Computer Systems Science and Engineering,vol.15,no.5,2000.

[20]Liangzhao Zeng,Boualem Benatallah,and Anne H.H.Ngu,On Demand Businessto-Business Integration”,CooPIS01,Trento,2001.

[21]Liangzhao Zeng,David Flaxer,Henry Chang,Jun-Jang Jeng,”PLMflow-Dynamic Business Process Composition and Execution by Rule Inference”,TES2002,Hong Kong,2002.

[22]H.Schuster,D.Georgakopoulos,A.Cichocki,and D.Baker.Modeling and composing service-based and reference process-based multi-enterprise processes.In Proceeding of 12th International Conference on Advanced Information Systems Engineering(CAiSE),Stockholm,Sweden,June 2000.Springer Verlag.

[23]S.McIlraith and T.C.Son.Adapting Golog for composition of Semantic Web services.In Proceedings of the 8th International Conference on Knowledge Repre-sentation and Reasoning(KR2002),Toulouse,France,April 2002.

[24]D.McDermott.Estimated-regression planning for interactions with Web services,In Proceedings of the 6th International Conference on AI Planning and Scheduling,Toulouse,France,2002.AAAI Press.

[25]B.Medjahed,A.Bouguettaya,and A.K.Elmagarmid.Composing Web services on the Semantic Web.The VLDB Journal,12(4),November 2003.

[26]Ponnekanti S.R.,Fox A.SWORD:A developer toolkit for web service composition.,Proceedings of the 11th International World Wide Web Conference(WWW2002).

[27]Z.Manna and R.J.Waldinger.A deductive approach to program synthesis.ACM Transactions on Programming Languages and Systems,2(1):90-121,1980.

[28]Benetallah B.,Dumas M.et al.,Declarative composition and Peer2to2Peer provisioning of dynamic services,Proceedings of t he ICDE,San Jose,CA,2002:297-308.

[29]Abiteboul S.,Benjelloun O.et al.Active XML:Peer-to-Peer data and Web services integration,Proceedings of t he VLDB,Hong Kong,2002,1087-1090,

[30]Boag S.,Chamberlin D,Fernandez M.et al.,Xquery 1.0:An XML query language,W3C Working Draft,2002.Http://www.w3.org/TR/xquery.

[31]ZENG L.,BENATALLAH B.,et al,QoS-aware Middleware for Web Services Composition[J].IEEE Transactions on Software Engineering,2004,30(5):311-327.

[32]SALIMA BENBERNOU,MOHAND-SAID HACID,Resolution and Constraint Propagation for Semantic Web Services Discovery,Distributed and Parallel Databases,2005,18,pp:65-81.

项目基金:广西自然科学基金项目:动态电子商务系统构建中的服务发现及组合问题研究(编号:桂科青0991097)。

作者简介:

王东红(1976—),女,河南叶县人,副教授,现供职于广西财经学院管理科学与工程学院,主要从事信息管理和供应链管理的研究。

冯国奇(1976—),女,河南叶县人,副教授,现供职于东北大学工商管理学院,主要从事系统集成与知识管理。

作者:王东红

动态电子商务应用论文 篇3:

网上购物系统的实现及性能优化

摘要 采用Apache+PHP+MySQL技术开发了一个动态电子商务网站,分析了系统的整体框架和功能组成,并在MySQL的优化和Memcache的使用万面提出了系统优化的思路。

关键词 电子商务,PHP,MySQL;Memcache,性能优化

0 引言

随着全球信息化的发展,基于Intemet的电子商务显示出了巨大的商业价值。电子商务(Electromc Commerce)是在互联网Internet环境下,实现消费者的网上购物、商户之间的网上交易和在线电子支付的一种商业运营模式,即通过计算机网络进行交易或服务。电子商务包括B2B(busmess to business)、B2C(busmess to customer)和C2C(customer to customer)三种模式。其中B2C模式是商家与顾客之间进行网上交易的一种模式,商家就像一个在网络上经营的零售商,所有商品通过网络直接销售,从消费者上网挑选商品,到购物支付、物流配送,整个过程方便快捷。现在流行的团购、商城都属于这种模式。

1 开发工具及总体概述

网上购物系统运行平台为Windows 2003操作系统,Web服务器软件为Apache。系统开发工具前端使用PHP,后台数据库使用MySQL,网页设计工具为Dreamweaver MX。

APACHE是目前应用最广的Web服务器之一。当前市场上较流行的Web服务器有Mmmsoft IIS、NetscapeEnterprise、IBM Domino Server+WebSphere等。微软的IIS是使用多线程方式,IIS基本上还是值得信赖的,但是对于负荷较大的网站,HS在实际使用中经常出现500错误,而且有的时候还会出现莫名其妙的假死现象,用户需要不定期的重新启动Ⅱs服务才能保证网站正常,同时IIS只能用于Wmdows环境。Apache在配置上比IIS复杂,不过一经设置完毕就可以长期的工作了。APACHE的所有配置都保存在配置文件中,使用时完全按照配置文件中记录的信息执行。一般不会发生莫名其妙的假死情况。Apache充分考虑到进程带来的稳定性特征,以及线程带来高效率的特点。它会预生成多个进程,而每个进程中使用多个线程提供Web服务。由于存在多个进程,即使一个进程死了也不会影响整个Web服务。对于不支持进程的操作系统,也可以使用多个线程提供服务,反之也是一样。然而,只有同时支持线程和进程的操作系统,才能充分利用Apache带来的稳定性和高负载能力。

PHP是一种用来制作动态网页的服务器端脚本语言,它大量借用了c、Java和Perl语言的语法并形成了PHP自己的特性,可以比CGI或者Perl更快地执行动态网页。通过PHP和HTML创建页面,当访问者打开网页时,服务器端便会处理PHP指令,然后把其处理结果送到访问者的浏览器上面,与ASP或ColdFumon类似。然而,PHP跟AsP或ColdFuslon不一样的地方在于,它是跨平台的开放源代码。PHP可以在WindowsNT以及很多不同的Umx版本中执行。更为重要的是PHP对数据库的操作能力,强大的兼容性使其几乎可以操作所有的数据库。

MySQL是一个真正的多用户、多线程的SQL数据库服务器,它是—个客户机服务器结构的实现。MySQL是现在流行的关系数据库中的一种,相比其他的数据库管理系统(DBMS)来说,MySQL具有小巧、功能齐全、查询迅捷等优点。MySQL主要目标是快速、健壮和易用。关键它是免费的,可以在Interact上免费下载到,可免费使用。MySQL对于一般中小型,甚至大型应用都能够胜任。

由于这三个软件均为自由软件,同时,APACHE、PHP和MySQL的组合还可以跨平台运行,可以在Windows上开发,然后在Unix平台上运行。因此,这三个软件是架构数据库驱动的动态网站的绝佳组合。

2 具体功能描述及需求

2.1 系统总体框架

系统采用标准B/S三层结构开发。三层结构分别为用户界面(UI)层、业务逻辑层和数据层,如图1所示。

(1)客户层

客户层提供了用户浏览界面,使得用户可以通过Web浏览器与服务器交互,提交输入并将服务器端返回的数据呈现给客户。为了提高用户体验,可以在客尸层使用AJAX技术。

(2)逻辑层

逻辑层负责接收Web浏览器传来的请求并将请求传给数据层,同时将请求处理结果发给Web 浏览器。它由Web表单和组件服务组成。其中Web表单是向客户呈现数据和信息的基础,也是响应和处理客户信息和数据及显示Web表单交互生成的信息和数据的基础。

(3)数据层

通过PHP的mysql扩展库或mysql扩展库操纵数据,为业务逻辑层提供数据服务,如存储数据操作结果、返回数据检索结果等。

2.2 功能设计

本文开发的网上购物系统主要包括顾客账户管理、购物车、在线咨询等功能模块,如图2所示,具体如下。

(1)顾客账户管理。新用户可以进行注册,已注册用户登录后,可以查看和修改个人信息、下单购买、查询订单、修改未付款订单、对购买的商品发表评论。

(2)购物车。顾客选购商品后会显示购物车界面,顾客可以继续购物,或者更改购物数量、删除购物记录、清空购物车等。当顾客购物结束后,选择在线结算,系统会显示登录界面,如果是新用户,需要先注册再登录,如果是老用户,直接登录。顾客登录后,选择提交订单,订单会被存入数据厍,然后选择付款方式,可以通过邮局汇款或者通过网上银行支付,商家收到付款后就可以向顾客发货了。

(3)在线咨询。用于解答顾客的各种常见问题。

(4)顾客浏览统计。顾客点击商品后,该记录会保存在数据库中。后台可显示顾客测览过的商品列表,从而发现顾客比较感兴趣的商品。

(5)后台商品管理。包括添加商品、修改商品和删除商品。要注意的是,已经有订单的商品不能破删除,从而防止订单数据出错。

(6)后台订单管理。包括订单的审核、无效订单的删除、将汀单记录导出后进行发货及销售统计表。

(7)后台销售统计。统计每天、每周、每月、每季度、全年各类商品的销售额和总销售额。

3 性能优化

目前本系统已经运行了半年多,数据厍中的记录已接近10万条,最多时同时在线人数达200人左右。随着在线访问量和数据库中记录的增加,服务器的压力也越来越大,经常出现无响应的状态,经过以下两方面的优化,速度和稳定性均有改善。

3.1 mysql的优化

对于mysql的优化,非常重要的是缓存的使用,其中主要有两种缓存索引缓冲区和查询缓冲。

(1)索引缓冲区

索引缓冲区只对MyISAM表起作用,key_buffer_size指定索

引缓冲区的大小,它决定索引处理的速度,尢其是索引读的速度。一般为16M,对于稍微大一点的站点,这个数字是远远不够的,通过检查状态值Key_read_requests和Key_reads,可以知道key_buffer_size设置是否合理。比例key_reads/key_read_requests应该尽可能的低,至少是1100。根据服务器配置的内存容量(2G)和mysql运行状态中key_reads/key_read_requests的比值,经过多次测试,我们将key buffer_size设置为128M。

(2)查询缓冲

从401开始,MySQL提供了查询缓冲机制。使用查询缓冲,MySQL将SELECT语句和查询结果存放在缓冲区中,今后对于同样的SELECT语句,将直接从缓冲区中读取结果。根据MySQL用户手册,使用查询缓冲最多可以达到238%的效率。query_cache_size用于设置查询缓冲的大小,通过查看以下几个参数可以知道query cache_stze设置的是否合理

Qcachemts、Qcache hrts、Qcache_lowmem runes、Qcache_fiee_blocks、Qcache_toral_blocks。

如果Qcache_lowmem_prunes的值非常大,则表明经常出现缓冲不够的情况。若Qcache_hrts的值非常大,则表明查询缓冲使用非常频繁,此时需要增加缓冲,Qcache hrts的值不大,则表明查询重复率很低,这种情况,使用查询缓冲反而会影响效率,那么可以考虑不用查询缓冲。

query_cache_size默认值为0,我们根据服务器配置和系统特点将该值设置为64,M,缓存的命中率达到了98.7%,从而大大提高了检索效率。

3.2 Memcache的使用

Memcache是高效、快速的分布式内存对象缓存系统,主要用于加速WEB动态应用程序。Memcached是以守护程序方式运行于一个或多个服务器中,随时接受客户端的连接操作。客户端可以由各种语言编写,目前已知的客户端API包括Perl/PHP/Python/Ruby/Java/C#/C等等。PHP等客尸端在与Memcache服务建立连接之后,接下来的事情就是存取对象了。每个被存取的对象都有一个惟一的标识符key,存取操作均通过这个key进行。保存到Memcaehe中的对象实际上是放置内存中的,并不是保存在cache文件中的。使用memcache技术后,系统性能也得到了提升。

Memcache的优势主要体现在

(1)分布式。可以由10台拥有4G内存的机器,构成一个40G的内存池,如果觉得还不够大,可以增加机器。这样大的一个内存池,完全可以把大部分热点业务数据保存进去,由内存来满足大部分对数据库读取的请求,从而减轻数据库的压力。

(2)单点。如果Web服务器或应用服务器做负载均衡的话,在各自内存中保存的缓存可能各不相同,如果数据需要同步,则比较麻烦,即使数据不需要同步,用户也可能因为数据的不一致而产生用户体验上的不友好。

(3)性能强。由于内存的读写和磁盘读写效率上相差几个数量级,因此,采用Memcache会比直接从数据库读取速度快很多。

4 结束语

本文对Apache、PHP和MySQL技术进行了简单的介绍,采用这三种技术开发了一个动态电子商务网站,分析了系统的整体框架和功能组成,在系统运行过程中根据实际访问人数和服务器配置对MySQL进行了优化,同时采用Memcache技术对数据进行缓存,从而提升了系统性能,也增加了可同时访问人数。

作者:徐跃伟

上一篇:高职院校会计英语论文下一篇:国际物流国际贸易论文