647电子商务教学模拟系统的设计与实现DesignandrealizationoftheE-Commerceteachingsimulationsystem毛黎莉*张成姝***上海师范大学数理信息学院教育技术系E-mail:aegeans@21cn.com**上海应用技术学院计算机系E-mail:chengshu73@hotmail.com随着网络的兴起,电子商务课程教学正在各大院校如火如荼地开展。苦于没有一个针对性,实用性强的教学系统使电子商务教学偏向原理性和理论性,从而失去了教学的实践性。本文通过结合实际教学需要设计与实现了目前教学领域缺乏的电子商务教学模拟系统,从开发背景,系统结构,系统构成,系统设计以及系统实现五方面加以分析。探讨了利用ASP、VB、COM+以及SQLServer2000来开发该系统的关键技术。关键词:电子商务ASPVBCOM1引言目前国内的电子商务教学正方兴未艾,许多大学也开出了各种各样的培训班甚至远程教学课程,但是在这些培训中往往只讲解关于电子商务的原理性、理论性知识,缺少一个比较有针对性的、实用的教学应用系统,学生很难在课堂上完全了解电子商务的操作流程,导致缺乏对电子商务的深刻掌握。由于这一原因,许多学校只能让学生上网“参观”一下各大知名电子商务网站,却难有机会真正实践购物、支付的流程。特别对于学生来说,如果想亲自体会网上购物的乐趣,就必须要有经济上的支出;如果想了解银行的网上业务,至少要有该行发行的信用卡。即使每位同学都有信用卡和足够的金费,也不一定能透彻地了解电子商务的具体工作流程。在这种情况下,特别是作为教学工作的一部分,就需要有一个在实验室环境下运行的电子商务模拟系统。有鉴于此,并结合实际教学需要,设计和开发出可以在局域网范围内正常运行的,小型的电子商务教学模拟系统。该教学系统主要满足已具备相关基础知识的高等职业学校、普通高等学校本科生在电子商务方向上的实习和实验环境。为在高职和普通本科层次上设立电子商务专业提供教学条件。同时,对包括电子商务专业在内的相关专业进行课程设置、课程建设提供技术手段和新的思路。从而为广大师生,特别是为在信息经济、技术领域有一定发展潜力的学生、教师提供必要的研究开发环境。2电子商务教学模拟系统结构Internet/Intranet的出现是本世纪内计算机通信领域最重要的一次革命,利用这种媒体,人们可以建立一个虚拟的电子世界,全球的商家们拥有了一个比传统方式更为灵活和快速的媒体,通过它商家可以与它们自己的员工、潜在的客户乃至世界上任何一个人沟通。借助于WWW通过动态的交互式信息发布,诸如网上购物、网上银行、网上书店等一系列在线电子商务服务系统得于盛行。这些系统都离不开分布式的数据库、与用户及后台数据库交互的动态Web应用程序、安全认证等技术。因此,本教学系统采用了在Internet/Intranet环境下的分布式动态Web技术来构建系统。本系统中采用三层Browser/Server结构(如图1所示)。在三层结构中,数据计算与数据处理集中在中间层,即WebServer+TransactionServer层。648采用分布式Web应用模式后,一项关键的技术是动态数据发布。本系统的设计中采用了组件模型访问数据库(如图2所示)。系统中使用更新的微软于去年发布的COM+技术,COM+模型中使用的对象可以用任何一种语言编写,可以以DLL或可执行文件的方式实现,使用COM+对象的客户端不必知道该对象是用什么语言写成的,也不必知道它是以DLL的形式或独立的过程进行运行,对于客户端来说这都是一样的。本系统需要在Web环境下访问数据库,系统中使用微软在OLEDB标准的基础上定义的一种面向对象、与语言无关的数据库应用编程接口,即ADO(ActiveXDataObjects)。3电子商务教学模拟系统构成本系统主要用于教学,可能有几十个甚至上百个学生同时使用,因此选择采用分布式动态Web应用系统,从而减轻服务器端的负担,有利于系统调试和维护。系统软件构成如下:a)WebServer——WebServer用来管理控制整个网站及服务器端组件,主要承担运行应用系统的任务。系统使用IIS5.0,它具有分布式事务处理能力,构建分布式Web系统较为适合。b)服务器端组件——微软公司推出的COM+组件技术,可用于为Web应用开发很多可重用的服务器端组件,用以增强Web服务器端应用程序的功能,基于组件的应用已成为一种必然的趋势。c)数据库服务器——系统的数据库端采用MicrosoftSQLServer2000数据库软件,并编写了存储过程,提高了系统数据库的并发工作效率,加强了数据的安全性。d)浏览器——浏览器采用是用广泛的MicrosoftIE5.0。此外,内部局域网采用星形拓扑结构,超五类布线标准。应用服务器由DELLPowerEdge2300承担,并安装WindowsNT网络操作系统。应用服务器连接到主机房10/100M交换机上,局域网上的所有工作站,均可通过分布在各个教室的100M交换机连接起来。每个教室配2台24口10/100M交换机,可提供46个工作站端口,考虑了满足今后扩展的需要。数据获取页面请求页面应答数据请求BrowserWebServer+TransactionServerDBServer图1三层Browser/Server结构Web浏览器HTTP请求IISASP文件VBScriptHTTP响应ADODatabase调用COM+组件Transaction中间件图2组件模型数据库访问图6494电子商务教学模拟系统设计4.1功能模块设计4.1.1网上学堂模块根据具体教学课程的需要,介绍电子商务的基础知识,来引导学生进入实验阶段。该模块主要采用静态网页,起文字介绍功能。4.1.2网上购物模块提供用户注册、商品浏览、在线购物、电子支付以及订单查询等功能模块(如图3所示)。本系统为教学实验使用而设计,每位同学有自己的用户名和密码进行登录,新用户如要购买商品,需要先进行注册。用户能以多种方式浏览商品,挑选要购买的物品,放进购物车中。在本教学系统中为了让学生能充分体验电子商务,只提供网上支付卡的付款方式。结帐时,学生可以看到用安全方式访问网上商店和银行的接口页面,要求输入支付卡号和密码,以供银行转帐。如果尚无支付卡,可转去网上银行申请;如果支付卡内余额不足,则需要去信用卡理财中转出货币到支付卡内。一旦划帐成功,则返回到网上商店的页面,通知学生订单已生成。在网上商店中设有类似于定单管理中心的功能模块,能够让用户按照定单号、日期、用户名等等信息来查询定单。4.1.3网上银行模块提供用户注册、信用卡理财、支付卡申请以及支付卡理财等功能模块(如图4所示)。每位同学可以在网上银行中注册申请信用卡。在申请得到信用卡的同时,卡中已经发放了一定数量的虚拟货币。成功拥有信用卡后,可以在网上银行里申请支付卡。获得支付卡号和密码后可方便地进行网上信用卡、支付卡理财、两卡间的转帐以及网上购物中心的购物权利。网上购物新用户注册商品查询商品浏览在线购物全部商品分类查看今日特价商品最新上架商品加入购物车重新计算金额帐台结账填写订单信息订单查询订单确认网上银行付款图3网上购物功能模块图网上银行新用户注册申请支付卡信用卡理财支付卡理财查询余额修改密码查询支付卡转帐查询历史记录查询余额修改密码转帐查询历史记录图4网上银行功能模块图650信用卡理财功能模块中,实现以下功能:查询信用卡余额、修改信用卡密码、查询历史帐务、查询支付卡卡号、转帐、重登录、退出等。支付卡理财功能模块中,实现以下功能:查询支付卡余额、修改支付卡密码、转帐、退出等。4.1.4网上商店和网上银行间的数据交流模块网上商店和网上银行是两个相对独立的模块,客户访问网上商店时的浏览及选购操作不需要加密保护。但当用户需要使用网上支付卡支付购物费用时,与银行之间的一切操作都必须要经过安全认证来完成。关键就在于商店和银行之间的数据接口。本系统设计了网上商店和网上银行间的数据交流模块,采用较为简单的SSL(SecureSocketLayer)方式来对其中的信息流和资金流进行保护,使用HTTPS协议访问,以确保金融信息的安全性。定单中的必要信息将会传递到银行数据库中,银行从顾客的支付卡帐号里划出所需金额,转帐进商店的帐户中去。完成这一工作后,回复顾客,告之定单有效,转帐成功。如果顾客的卡上余额不足,还将提示顾客未能完成的原因。4.2数据库设计系统数据库选用MicrosoftSQLServer2000。4.2.1网上商店的数据库设计共5个数据表(1)用户表User——保存商店用户基本信息。(2)商品表Products——保存商品信息,其中包括商品代号、商品描述、商品类别、正常价格、打折价格、上架时间等。(3)商品类别表ProductType——保存商品类别信息。(4)定单信息表OrderDetail——保存订单中商品信息,包括商品带好、选购数量、价格等。(5)定单表Order——保存订单信息,包括用户地址、送货方式、包装方式、订单金额等。4.2.2网上银行的数据库设计共7个数据表(1)用户信用卡UserKey——保存信用卡号,信用卡密码及用户号。(2)用户信息表Consumer——保存银行用户基本信息。(3)信用卡信息Accounts——保存信用卡信息,主要为信用卡余额。(4)支付卡信息NetAccounts——保存支付卡信息,主要为支付卡余额。(5)信用卡与支付卡的对应表ConsumerToNet——保存信用卡与支付卡对应信息。(6)帐务操作表Active——保存帐务操作类型。(7)历史记录表History——保存用户对信用卡或支付卡的历史操作信息,以便用户查询历史操作纪录。该网上银行数据库,允许一个用户持有多张信用卡,也允许一张信用卡对应多张支付卡,是一对多的关系。5电子商务教学模拟系统实现本教学系统主要采用VB、ASP、COM+、安全证书,以及SQLServer2000相结合来实现,在系统的开发实现过程中页面制作,程序、组件编写,以及后台数据库的存储过程编写工作量比较大,此处将不一一做分析,主要分析系统中的难点如何实现。6515.1加密算法在网上商店购买物品并确认定单后,就必须将商店的帐号,定单号,金额等数据加密传至网上银行,该些数据都牵涉到商业机密,如被人恶意截取或篡改,后果将不堪设想。由于本系统是一个电子商务教学模拟,目的是让学生了解电子商务的流程及其中的重要环节,因此,在加密算法上采用XOR异或加密算法,该算法比较简单,但在教学中对此算法的作用和重要性做了详细讲解。XOR异或加密算法,是ASP可以使用的简单字符加密算法。XOR异或加密算法的基本原理是,一个等待加密的明文和一个随机生成的密钥,然后将两者异或,即明文XOR密钥=密文。其中密钥为随机生成的512个ASCII码。根据异或操作的特点,解码的操作亦十分简单方便,即密文XOR密钥=明文。利用该简单加密算法可在教学模拟系统中保证数据的安全性。5.2使用COM+组件虽不用定制COM+组件,仅使用ASP脚本也能实现绝大部分的服务器端事务处理,但相对组件而言,仅凭ASP脚本来构建应用系统,明显地存在着解释运行速度慢,功能难以分离,事务逻辑划分不明晰,重用性差,关键代码保密性差等众多局限性。因此在本系统中使用COM+组件来弥补ASP带来的缺点。在三层体系结构中,事务逻辑单元是以COM+组件的形式在中间层执行,大大减少了服务器端运行的ASP脚本。并利用ASP将各个COM+组件粘合在一起,并负责应用系统和COM+组件间参数的传递。本系统中用VB来开发服务器端COM+组件,创建了包含7个对象的NetBank.dll文件。(1)Accounts对象——查询用户信用卡及支付卡余额(2)Consumer对象——查询用户信息及添加用户(3)History对象——查询用户对信用卡及支付卡的历史操作(4)Login对象——用户登陆及密码修改(5)Net对象——集合了用户对支付卡的查询,增加等各种操作(6)OnlineStore对象——用于