电子商务中的远程报表打印系统设计

  • 格式:pdf
  • 大小:88.05 KB
  • 文档页数:2

144《商场现代化》2006年2月(下旬刊)总第459期一、前言随着网络技术的发展,电子商务已经成为我国经济发展的重要组成部分。

在电子商务系统的开发过程中,报表统计子系统的开发往往占了开发工作量的很大部分,实际应用的大多数与报表有关,报表功能的强弱往往是衡量系统好坏的重要标志。

在B/S模式的系统中,由于使用统一的浏览器作为用户交互界面,客户端分布在较广的范围内,数据库服务器通常不在本地,这使得远程读取数据库的数据成为B/S模式系统报表开发的一个难点。

同时,一般员工需要应用报表来进行日常事务处理,领导需要根据报表反映企业经营状况来调整企业经营决策,因此系统要能提供信息完整、格式灵活的报表,即能精确定制报表。

对于客户端要精确定制报表的需求,采用C/S模式系统成熟的报表开发技术,把报表打印系统开发成桌面应用系统,它和远程数据库通过Web服务技术相互通信。

同时,使用Web服务技术,相对于C/S模式系统,软件升级或系统重装时无需进行数据库的连接设置,方便了系统升级及维护。

二、系统设计与实现1.系统总体设计根据上一节提出的系统解决方案,提出系统设计框图如1所示。

其中数据库服务器可采用Sybase、Oracle、SQL Server等,主要完成数据库本身的功能,如数据的存储、检索和索引。

客户端有Web客户端和Windows客户端之分,Web客户端就是在IE浏览器下工作的用户,他们通过浏览器进入系统,交互信息通过界面逻辑模块提交到系统数据库中。

Windows客户端是普通的桌面报表打印程序。

Windows客户端和服务器端Web服务的交互通过Web服务相关协议和标准(SOAP/XML/WSDL等)来实现。

其中XML是Web服务中数据描述与交换的标准,它最大的优电子商务中的远程报表打印系统设计田 原 荆门职业技术学院计算机系[摘 要] 在电子商务系统的开发过程中,报表统计子系统的开发往往占了开发工作量的很大部分,报表功能的强弱往往是衡量系统好坏的重要标志。

本文针对目前B/S模式系统中报表开发的难点,提出一种B/S模式系统下基于Web服务的远程报表解决方案。

[关键词] 电子商务 信息系统 报表两个信息的摘要再连接产生一个双重签名,并用持卡人的签名私钥进行加密后发送给商家。

(4)商家对持卡人证书进行验证,再用持卡人的公钥对OI双重签名进行解密验证,准确无误后商家产生认可请求,然后对认可请求进行数字签名,并用一个随机的对称密钥进行加密,再用支付网关的密钥交换公钥加密,最后把加密后的认可请求和持卡人购买请求传送给支付网关,持卡人的签名证书,商家密钥交换证书,商家签名证书也一同传递。

(5)支付网关对商家的证书和签名、持卡人的证书和签名进行验证,在确认商家的认可请求和持卡人的PI完全一致后,通过金融网络将认可请求发送到持卡人的发卡机构。

随后网关产生授权响应报文,并对其作数字签名后再用网关的私钥加密,产生收单标记(付款标志)并加密,将加密后的认可回应传送给商家。

(6)商家验证网关证书和网关签名之后存储付款标志与授权响应,执行订单,然后产生付款请求,其中包括交易的最后总数、标识等。

付款请求与收单标记加密后传给支付网关。

(7)支付网关在验证商家获得的请求与收单记号一致后,将付款请求通过金融网络传递给持卡人的金融机构,该机构验证之后向商家所在的收单银行付款并扣除持卡人账面上的相同款项。

(8)支付网关产生付款响应报文,加密后传送商家,商家据此向持卡人发送货物,交易完成。

SET协议最重要的特点是商家看不到持卡人的信用卡号和密码,虽然这些信息要经由商家转交给银行处理,但信用卡号和密码是用持卡人的签名私钥加密的,只有发卡银行才有解密的公钥,因此商家无法查看,从而防止了犯罪分子利用电子商务平台进行诈骗,另外,银行方面也无法查看顾客的订货清单,因为它是用商家的公钥加密的,这些安全措施都有利于电子商务的推广。

据统计,完成一次SET交易,需要在参与各方之间验证数字签名6次,传递证书7次,进行5次签名、4次对称加密和4次非对称加密。

故SET交易是一个非常耗时的过程,对网络基础设施很高的要求。

三、结束语当前,电子商务的安全问题正受到越来越多的关注,SSL与SET协议正在不断发展,由于SSL简便易用,因此基于SSL的电子交易方式仍占据了一定市场,但从长远来看SSL并不能满足电子商务未来发展的需要。

而SET提供了全套的用于电子商务的支付系统,它完整而准确地定义了多个参与方之间的安全传输、信任关系和互操作接口,有效地保障了参与方的利益。

预计在将来,由于SET的高安全性、信用卡组织的支持以及广大用户的参与,SET将在电子商务的支付系统中占主导地位。

另外,由于SET实现起来非常复杂,商家和银行都需要改造系统以实现互操作,用户也需要一段时间来适应,因此SET的普遍应用还需要假以时日。

相信伴随着网络安全与网上支付方式的完善,电子商务将会随之在全球范围内获得迅猛发展,也促使世界经济迈上一个新台阶。

145《商场现代化》2006年2月(下旬刊)总第459期点就是独立于平台和软件供应商。

简单对象访问协议SOAP是Web服务标准的通信协议,它为在一个松散的、分布的环境中使用XML对等交换结构化和类型化的信息提供了一个简单且轻量级的机制。

Web服务描述语言WSDL是描述Web服务的XML格式的语言,使用WSDL,用户可以调用Web服务所提供的服务。

为减少程序的开发和维护量,上级单位的报表开发采用同样的方式来实现。

Web服务放在Web服务器(如IIS)后面。

在Windows客户端的开发中,首先在客户端形成报表查询SQL语句,然后根据Web服务的WSDL描述文档生成一个SOAP请求消息,该SOAP请求被嵌入在一个HTTP POST请求中发送到Web服务器,Web服务器再把这些请求转发给Web服务请求处理器。

Web服务请求处理器解析收到的SOAP请求,调用Web服务,Web服务调用数据库服务器数据并返回后再生成相应的SOAP应答并返回给Web服务器。

Web服务器得到SOAP应答后,再通过HTTP应答方式把它送回到客户端。

在报表输出时,考虑到Excel在报表制作方面提供了强大的功能且绝大多数用户都能操作Excel,使用Excel OLE(对象的连接与嵌入)自动化技术,把Web服务返回结果导入Excel,方便用户对格式进行调整。

对于固定报表,由于其格式相对固定,可以在Excel下定制若干报表模块,每次形成报表时,把返回结果往模板里填送。

由于模板是事先定制好的,其格式比较完整,字体大小、对齐方式、页面设置等可以设置到最佳显示效果。

使用系统提供的模板的功能,用户在形成报表时可以不做任何调整,直接打印输出报表。

对于灵活格式的报表,由于报表结构需要程序自动生成,系统提供其导入Excel的功能,用户在Excel下调整其格式,然后打印输出。

从安全性方面来看,Web服务使用SOAP进行通信,而SOAP使用HTTP作为底层通信协议,由于HTTP采用80端口进行通信,可以使用现在比较成熟的数据加密技术保证数据传输的可靠性和安全性。

由于所开发的系统是基于Intranet的管理信息系统,相对于基本Internet的系统,保证客户端与服务器的连接安全要简单得多,可以使用防火墙、安全套接字SSL等手段防止外部的非法访问。

2.开发平台及工具原则上Web服务客户端报表打印程序可以使用多种开发语言开发,如VC++、PB等语言,但考虑到采用Delphi开发报表既有现成的控件,还可利用第三方控件。

更为重要的是,Delphi 7提供了对Web服务技术的支持。

服务器端Web服务也可以采用多种开发工具和开发平台,典型的有.NET及Java开发平台。

这里采用.NET平台,因为:1).NET平台内建了对Web服务的支持,包括Web服务的构建和使用,而且整个系统在Windows平台下运行,使用.NET平台的兼容性会更好;2)使用.NET平台开发Web服务简单方便。

因此系统采用.NET平台作为Web服务服务器端开发平台,具体是在.NET集成开发环境下采用Visual Basic语言开发的ASP.NET Web服务。

3.Web服务实现服务器端Web服务开发的主要内容是根据用户发来的查询SQL语句,从数据库中提取符合查询条件的记录,然后返回给客户端。

使用ASP.NET开发Web服务主要的开发内容包括申明Web服务提供的类及开发该类可供调用的方法。

在本系统中,首先把类名定义为DataService,它的声明为:Public Class DataService Inherits System.Web.Services.WebService。

接着定义服务可访问的方法GetData。

GetData方法的功能是根据用户查询请求,从数据库服务器中提取满足查询要求的数据,返回给客户端所查询的报表字段名和这些字段名所对应的所有记录。

它的定义为:<WebMethod()>Public Function GetData(ByVal strSQLAs String) As DataRecord()。

开发完毕后,在IE地址栏中输入http://localhost/WebService/DataService.asmx运行Web服务程序,就可以测试该Web服务并形成描述这个Web服务的WSDL文档。

4.客户端报表打印程序实现在Delphi 7环境下,为了将Web服务引入客户端应用程序,首先要引入THTTPRIO控件。

其次需要为可调用对象创建一个输入单元,在Delphi对象库中激活Web Services页,选择WSDL impoter,然后在location of WSDL File or URL编辑框中输入WSDL文档的路径,最后单击Generate产生Web服务的接囗单元并在主程序中引入单元DataService。

其次,THTTPRIO控件有3个属性必须设置,即WSDLLocation、Service以及Port属性。

其中Port属性表示Service中应设置的端囗号,即WSDL文档定义的端囗名。

Service属性用来指示在做远程方法调用时所使用的Service,即WSDL文档定义的Service的名字。

WSDLLocation属性用于指定目标接囗的WSDL文档的地址。

具体设置时首先在WSDLLocation属性中再次写入WSDL文档的路径。

然后,分别从Service属性和Port属性的下拉式菜单中选择唯一可用的选项DataService和DataServerSoap。

在调用Web服务时,实际上是调用Web服务所提供的方法。

为实现Web服务的返回结果导入Excel,使用Delphi控件方法,主要涉及到Excel Application,Excel Workbook以及Excel Worksheet3个控件。