周一至周五 | 9:00—22:00

基于soap异构系统跨平台数据交换的设计与实现

作者:未知

  摘要:本文旨在解决不同数据库管理系统数据共享与交换问题,描述了通过采用soap协议以及Web Service技术,通过XML进行数据交换,并跨平台、跨不同数据库之间实现实时交易的设计过程。该项研究运用广泛,特别是对现有已经成熟运行多年以上的某刷卡交易系统进行Webservice植入,从而使得在不改变现有数据逻辑和程序流程的基础上,成功打通新用户平台的入口,实现用户在新老平台系统安全有效地进行数据交换,达到无缝连接降低开发成本,延长已有平台的使用时限。 中国论文网 https://www.xzbu.com/8/view-14013543.htm  关键词: soap;数据库;一卡通;Web service
  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)27-0272-02
  1 问题提出
  随着互联网+技术的快速发展,特别是网购电商平台大量采用新一代移动支付技术,大多数的支付交易系统逐步升级,这样新出的或已升级的电商系统平台能方便地进行各种支付。但还是有许许多多的老支付系统仍然在运行,但又面临和新系统平台数据对接和交换的问题。业界在这方面比较常规的做法是对以往的系统进行推倒重来,实际上这种做法增加了企业的开发和运营成本,同时也造成了极大的浪费。下面以某集团公司为例,介绍下该公司在一卡通交易系统和新集团消费平台之间的一个数据对接的实际需求。
  该集团公司紧跟当前互联网+形势,新建了一个基于PC端、移动端的内部员工电子商城网站,供集团下属各分公司员工使用,而各分公司内部都有各自独立的一卡通消费系统,而且都稳定运营了若干年,故如何让新平台在交易过程中使用到老一卡通消费系统的金额并进行实时交易,建立一个通用的标准实现异构系统数据交换,就成为该项课题的研究核心。
  2 具体架构与解决方案
  2.1 新老系统数据交换架构图
  2.2 开发平台
  一卡通平台:采用传统的C/S模式开发,服务端程序运行在windows 2003上,后台数据库采用MsSQLServer2000,前台刷卡程序交易机通过RS485与刷卡终端相连。服务器程序和刷卡程序采用Delphi7.0开发。下文统称为老平台。
  新互联网交易平台:采用B/S模式开发,服务端程序运行在Linux resin上,后台数据库采用Oracle 11g,采用J2ee架构开发。下文统称为新平台。
  2.3 数据交换和调用的流程描述
  首先,在新平台中导入老平台用户的职工编号,并开通账号。
  其次,老平台用户在新平台进行交易时,新平台服务端根据用户来源,发送交易请求到相应老平台的接口端。针对不同分公司的老平台。
  最后.老平台接口端根据数据请求发送相关程序到老平台数据库服务器端,获得相应的结果代码反馈给新平台。
  2.4 关键技术
  本文采用Soap简单对象访问协议,来实现应用层数据交换。soap是目前互联网上应用最为广泛的数据交换的协议规范,它通过http协议在WEB上交换面向对象的数据。
  Soap首先是基于http协议的,它采用XML定义了一个信封(Envelope),通过WSDL来描述具体的访问接口函数,而UDDI用来管理和分发以及查询相关的web服务。它不仅支持http调用,而且支持远程过程调用(RPC)。
  SOAP的消息基本结构:
  它工作原理就是把相关的XML结构化数据放到一个XML的信封套里,通过http协议传送相关的请求数据和结果数据,现今手机上APP程序的通过移动互联网和云服务器进行网络数据交换,采用soap协议的占绝大多数,是一种简单、便捷、安全的基于XML的协议。基于soap的简单性和实用性,一些大型互联网公司如百度,也在云端开发了大量的web service供开发者调用,譬如语音识别、食物识别、花卉识别等Web service,减少了许多重复劳动,催生了各种APP百花齐放。
  2.5 解决方案
  根据新老系统数据交换架构和数据交换的调用描述,笔者负责老平台Web Services的编写,实现两个过程方法,余额查询和交易支付。为了不增加和改变老平台的运行环境,降低影响,决定另外增加一台服务器,专门运行该Web Services,直接和老平台后台数据库进行数据交换。Web Services 采用C# 开发,生成.asmx文件,运行环境采用IIS7.0,.net4.6.5,操作系统采用Windows 2008 Server R2 Sp1。
  我们可以通过C#编写在web services 服�粘绦颍�来处理soap的XML请求,通过oleDB调用后台MSSql数据库中相应的存储过程,然后根据存储过程返回结果,进行判断生成相关的响应报文即可完成一次查询余额操作。
  3 开发总结
  在开发和调试过程中,发现最难的就是测试。由于web服务是被调用的,没有相关的程序界面来查看,开发和测试人员往往要编写测试程序来调试web service,这就大量增加了开发时间周期和开发成本。
  笔者通过SoapUI5.2.1这一开源工具来进行web service的测试,可以节省大量的自己编写测试程序的时间。该工具能进行Webservice的功能、负载、结果性调试等常规测试。它也可以作为一个单独的测试工具来使用,也可利用插件集成到一些编程环境中去使用。
  如图2所示,笔者通过SoapUI 5.2.1建了一个项目,对项目先命名,然后在Initial WSDL中要测试的web service的wsdl地址,就可以自动生成相关的测试项目。
  参考文献:
  [1] Luo Z. WEB SERVICE TESTING TOOL SOAPUI AND ITS ANALYSIS[J]. Computer Applications & Software, 2010.
  [2] 柴晟, 罗传军, 卓毕生. 基于SOAP的Web Services开发的关键技术[J].计算机与现代化, 2007(8):100-102.
  [3] 施明辉.基于B/S+SOAP的系统开发方法研究[D].江南大学, 2002.
  [4] 唐良招,何险峰,余华彬,等.基于WebService的农业经济信息交换共享系统[J].计算机应用与软件,2010, 27(11):188-190.
  [5] 余枝强,薛云皎,王春森.网络服务与简单对象访问协议[J].计算机工程与设计, 2002, 23(3):30-34.
  [通联编辑:唐一东] 转载注明来源:https://www.xzbu.com/8/view-14013543.htm


常见问题解答