基于Web服务的在线商务网站原型系统的设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于Web服务的在线商务网站原型系统的设计与实现2010-02-26 13:08:27来源: 作者:俞扬信【大中小】浏览:22次评论:0条
1 引言
大家都知道,基于传统技术构建的B2B电子商务环境,存在着两个比较突出的问题:
(1)由于电子商务的参与者没有使用统一的技术标准或体系构架作为彼此服务联系的方法,使得相互间的信息交换和合作变得非常困难;
(2)由于缺乏一种统一的商业发布和发现机制,使得商家之间无法互相发现并进一步展开有效合作。
这两大弊端极大地限制了电子商务的进一步发展。而基于XML技术的Web服务和UDDI正是解决这些问题的最佳手段。但是由于目前Web服务技术尚处于不断的发展阶段,它在安全性、服务质量、长时间多方事务处理、过程流等方面还有比较大的缺陷(在这些方面或者没有标准,或者有了标准但仍没有被业界所广泛接受)。因此,当前用Web服务仍无法在真实的世界里真正的实现商业交易。在这里我将介绍一个自己开发的案例原型:用Web服务技术来设计和实现在线商务网站,从而实现新一代的电子商务模型——动态电子商务。
2 在线商务网站原型系统的设计与实现
2. 1需求描述
电子商务网站(简称CardOnline)想要在线销售IP电话卡,这些IP卡分别来自多个IP卡电话公司(简称IP电话公司),为了减少交易成本,CardOnline不设营运库存,客户购买的IP卡将在交易发生时即时从IP电话公司那里获得,CardOnline的收益为卖出价(卖给客户)与买入价(从IP电话公司买入)之间的差价。所有的交易款项均通过网上银行转账。交易过程如下:
(1)客户选择某一类型的IP卡,并输入其银行支付卡卡号和密码。
(2)CardOnlin向IP电话公司申请该类型的IP卡号和密码。
(3)IP电话公司向网上银行请求从CardOnline的银行支付账户上扣除IP卡金额(买入价)。
(4)网上银行将IP卡金额从CardOnline的账户上转到IP电话公司的账户上,并返回成功信息。
(5)IP电话公司从数据库中取出IP卡(卡号、密码)交付给CardOnline。
(6)Card Online向网上银行请求从客户的银行支付账户上扣除IP卡金额(卖出价)。
(7)银行将IP卡金额从客户支付账户转入到CardOnline账户上并返回成功信息。
(8)CardOnline返回给客户IP卡(卡号、密码)。
2. 2在线商务网站原型系统分析
(1)角色
根据上面的需求描述,此系统有4个角色:
①在线IP卡交易商务网站:收集、发布来自多个IP电话公司提供的IP卡类
型目录;接受客户的购买请求并可靠地传送给IP电话公司完成购买事务;采集来自客户的消费反馈,并传送给IP电话公司。
②网上银行:接受IP电话公司的请求,将IP卡金额(买入价)从CardOnline 的银行支付账户上转入到IP电话公司;并且将IP金额(CardOnline卖出价)从客户的银行账户上转入到CardOnline的银行账户上。
③IP电话公司:IP卡提供商,它能够通过自己的Web发布IP卡类型目录,并把目录传送给CardOnline。
④IP卡购买客户:能够访问IP卡类型目录,能够利用在线的订购服务进行购买。
(2)概要层次上的对象
①IP卡类型目录:由IP电话公司产生,由CardOnline汇总归类,由客户浏览使用。
②反馈信息:由客户生成,由CardOnline汇总归类,由IP电话公司和客户使用。
③用户:用户分3类,一类是客户用户,一类是IP电话公司用户,最后是网上银行用户,分别用于处理两类事务。
2. 3在线商务网站原型系统的设计与实现
通过上面分析,IP卡在线交易系统的架构如图1所示:
整个IP卡在线交易系统主要有3个在线服务组件:实现和注册网上银行Web 服务、实现和注册IP电话公司Web服务、实现和注册Cad Online电子商务网站。
(1)实现和注册网上银行Web服务
网上银行将负责完成客户和CardOnline以及CardOnline和IP电话公司之
间的转账服务,由于这两项业务之间没有本质的区别,所以可用同一个Web服务来实现。
接下来,网上银行可以到UDDI注册中心注册该Web服务,以便为广大商家所发现。
(2)实现和注册IP电话公司Web服务
IP电话公司需要用到银行的转账服务,需要到UDDI注册中心去发现哪些银行可以提供此功能的Web服务,并将其集成到自己的Web服务中去。由于UDDI实现了“一次注册,到处发布”的功能,因此用户可以选择在任意一家UDDI注册中心网站发现所需的Web服务。
IP电话公司的Web服务接受CardOnline的申请,并调用网上银行Account Transfer Service中的Transfer转账过程,完成从Card Online到IP电话公司之间的金额转账,然后从数据库中检索出一张IP卡,返回给CardOnline。
IP电话公司的Web服务提供了一个远程过程Supply, srcAcct(源账号)、pwd(密码)、CardType(IP卡类型)3个输入参数,以及CardNo(卡号)、CardPwd(卡密码)等2个输出参数,该过程返回一个short类型的返回值,以表示交易是否成功。
接着,IP电话公司也需要到UDDI注册中心注册该Web服务,以便让更多的IP 经销商发现它提供的服务。
(3)实现和注册Card Online电子商务网站的Web服务
Card Online作为提供B2C服务的电子商务网站,一方面,它需要向客户销售IP卡,另一方面,它需要从不同的IP电话公司在线购买IP卡和使用各家网上银行提供的在线转账服务,所以,它需要到UDDI注册中心发现可以提供这些功能的Web服务。然后将它们集成到自己的服务中。在这里,Card Online首先接受客户的购卡请求,然后分别调用IP电话公司的IP Card Supply Service服务和网上银行的Account Transfer Service服务,前者完成提取IP卡和转账(Card Online 到IP电话公司),后者完成客户的金额转账(客户到Card Online),最后,Card Online将IP卡(卡号和密码)转交给客户,通过E-mail将卡号和密码发送到客户的电子邮箱。
3 在线商务网站开发平台的设置以及新技术的引入
3. 1开发平台的设置
由于目前用Web服务实现真正的商务交易还不能真正实现跨平台、跨语言,因此,IP卡在线交易系统完全是基于J2EE平台并通过Java技术来实现的。此系统以Windows 2000 Server作为系统平台,以Tomcat l.4作为应用服务器,采用Jbuilder 9作为开发环境,用WSAD 5来发布一个Web服务,同时利用J2EE中的EJB, JAX-RPC, JAXP以及JAXR技术实现了上面讨论的3个Web服务组件。
3. 2新技术WSIF的引入
(1)新技术的介绍
在开发时,我们使用了一个新的技术——Web服务调用框架(Web Service Invocation Framework,WSIF)。它是由IBM提出的,它提供了一组简单的API来允许编程者通过WSDL描述的内容和Web服务调用的抽象层打交道,而不是直接使用SOAP来调用Web服务。这样,调用Web服务就不需要了解该Web服务的实现方式和绑定方式,是一种通用化的Web服务调用方法。
WSIF允许通过运行时分析Web服务描述的元数据来实现无stub或者动态地调用一个Web服务。它允许在运行时将更新的绑定实现插入到WSIF中,它允许调用的服务在运行时之前选择自己的绑定实现。
实际上,WSIF就是一种提供了使用Web服务的方法,而无需考虑Web服务底层服务传输协议及其实体位置。通过此方法能直接使用WSDL去描述Web服务,并隐藏许多类似SOAP这类复杂的协议,以建立和存取Web服务,且不需依赖位于下层的传输机制。
WSIF同SOAP相比应用范围更广泛。WSIF提供了许多不同的协议、传输和分布式计算技术,比现在的SOAP提供的功能要多很多——尤其在管理、事务、安全和
其他服务质量(Quality of Service,QoS)特性方面上比SOAP要优越得多。
(2)WSIF在IP卡在线交易系统中的实现
在IP卡在线交易系统中,通过编写会话无状态的EJB来实现上面将要实现的业务逻辑处理。然后用WSAD 5发布工具将开发的会话无状态EJB发布成Web服务组件。同时,对每一个Web服务来说都生成4个WSDL文件。以网上银行Web服务为例,生成的WSDL为: Account Transfer. wsdl、Account Transfer Binding. wsdl 、Account Transfer Service. wsdl和Account Transferjava. wsdl。
我们对生成的WSDL文件进行处理,得到我们需要的WSDL文件。处理过程如下:
①将Account Transfer.wsdl复制另存为Soap Wsdl.wsdl。
②将Account Transfer Binding.wsdl的bingding子元素拷贝到Soap Wsdl.wsdl文件中成为definitions元素的子元素。
③将Account Transfer Service.wsdl文件中的service子元素拷贝到Soap Wsdl.wsdl文件中成为definitions元素的子元素。
④在Soap Wsdl.wsdl增加Account Transfer Binding.wsdl中关于SOAP命名空间的定义。
⑤在Soap Wsdl.wsdl增加Account Transfer Binding.wsdl中关于interface命名空间的定义。
⑥将Soap Wsdl.wsdl中port的binding属性由binding:Account TransferBinding改为 interface: Account Transfer Bindinge,这样,就生成了调用网上银行Web服务的WSDL文件,我们就可以通过这个Soap Wsdl文件来访问这个网上银行Web服务了。
接着,可以在客户端即IP电话公司Web服务利用WSIF技术调用网上银行Web 服务,实现银行账款的转账业务,从而最终实现基于Web服务的在线商务网站原型系统。
4 结束语
随着电子商务的不断发展和语义Web研究的深入,基于Web使用知识发现和智能化服务将成为未来一段时间内Web领域的一个新的研究热点。本文提出的基于Web服务的在线商务网站原型系统的设计与实现进行了一次有益的尝试。在系统实现时,采用了WSIF新技术,使用Query 控件进行查询。系统界面友好,功能齐全,使用方便。本系统在Card 网站得到应用,效果良好。。

相关文档
最新文档