收藏 分销(赏)

基于SOAP的跨平台异构系统数据交换应用研究_张正做.pdf

上传人:自信****多点 文档编号:292428 上传时间:2023-07-10 格式:PDF 页数:4 大小:2.17MB
下载 相关 举报
基于SOAP的跨平台异构系统数据交换应用研究_张正做.pdf_第1页
第1页 / 共4页
基于SOAP的跨平台异构系统数据交换应用研究_张正做.pdf_第2页
第2页 / 共4页
基于SOAP的跨平台异构系统数据交换应用研究_张正做.pdf_第3页
第3页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、2023.6电脑编程技巧与维护1概述随着云计算、大数据和移动计算等新技术的广泛应用,社会各行业信息化应用不断加快、加深,以“互联网+政务服务”为抓手,持续推进“四张清单一张网”和“最多跑一次”改革,形成了全省事项清单统一发布、网上服务一站汇聚、数据资源集中共享的运行机制。为了深化“最多跑一次”改革在医疗卫生领域的推进落实,与民生息息相关的食品药品监管业务也逐步纳入政务服务,着力打造“最多跑一次”升级版,实现服务“零距离”。随着“最多跑一次”改革不断推进,基于LotusDomino平台开发的药品检验管理系统面临与外部系统数据对接和交换的问题,研究跨平台异构系统间的数据交换方案成为必需。在Lotu

2、s Domino平台上,允许开发者运用SOAP调用Web Service实现不同系统间的数据交换。结合Web Service的特点,基于SOAP在Domino平台构建数据交换方案,并以药品检验管理系统费用管理子系统与统一公共支付平台的数据交互为例阐明方案的实现原理和技术。2XML 与 WebServiceXML是由万维网联盟(W3C)的XML工作组定义的结构化标记语言,是标准通用标记语言(SGML)的子集,用于标记数据、定义数据类型,比SGML更容易操作,便于在Web环境下实现。其具有适用于异构系统间的数据共享、可进行数据检索和支持多种编程语言等优点。Web Service是新一代的Web应用

3、程序,是一种跨编程语言和操作系统平台的远程调用技术,不依赖于平台和语言,可以实现不同编程语言间的相互调用,具有可互操作性、低耦合、自包含、自描述和模块化特点,服务请求者可以通过构建客户端程序来调用服务提供者开放的Web Service1。Web Service是建立可互操作的分布式应用程序的新平台,定义了一套标准的调用过程,Web服务提供者将功能通过Web服务注册中心进行发布,并进行注册,以便有需要的请求者进行请求。WebService服务端通过Web服务注册中心向外界进行功能发布,Web Service客户端通过在服务注册中心查找Web服务描述文件(WSDL),通过WSDL文件创建相应的SO

4、AP请求消息,服务注册中心收到请求后查找满足条件的服务。Web Service服务端在完成客户的请求后,将SOAP消息通过文件传输协议返回给客户端,客户端再根据Web服务描述文件对返回的SOAP消息进行解析23。3SOAP3.1概述SOAP是一种交换数据的协议规范,一种轻量的、简单的、基于XML的协议,主要应用于Web Service中4。它定义了一种消息处理框架,描述消息内容是什么,消息发送方传输到接收方的过程中如何处理的规则,该框架旨在独立于任何特定的编程语言、平台、操作系统和目标模型。一种简化的SOAP消息处理过程如图1所示,其中一个应用程序(即SOAP消息发送方)向另一个应用程序(SO

5、AP消息接收方)发送一条SOAP请求,SOAP接收方处理完成后向SOAP发送方发送应答消息。对于Web Service而言,SOAP是一种主流实现形式,主要通过SOAP传递参数信息进行Web Service调用4。具体来说,SOAP一般使用超文本传输(HTTP)基于 SOAP 的跨平台异构系统数据交换应用研究张正做(浙江省食品药品检验研究院,杭州310052)摘要:为了解决药品检验管理系统内部数据与外部数据的交换问题,描述采用简单对象访问协议(SOAP)在 Domino 平台上进行数据交换的原理,并以内部费用管理系统为例,详细阐述了采用 SOAP实现与外部数据交换的相关技术和方案。实践表明,该

6、方案在不改变原有数据逻辑和程序的基础上实现了在原有平台上安全有效地进行数据交换。关键词:Web Service 技术;Lotus Domino 平台;数据交换;简单对象访问协议;XML 语言作者简介:张正做(1977),男,硕士,高级工程师,研究方向为计算机应用技术。图1SOAP消息处理过程SOAP发送方任何传输协议请求消息SOAP接收方应答消息89DOI:10.16184/prg.2023.06.0342023.6电脑编程技巧与维护协议来发送XML格式的请求消息,然后由Web服务器来处理HTTP请求,SOAP具有和远程过程调用(RPC)协议相同的目的,RPC请求映射到HTTP请求上,而RPC

7、应答映射到HTTP应答,SOAP还可以使用其他的文件传输协议,例如,传输控制协议(TCP)和用户数据报(UDP)协议。3.2SOAP 消息结构由于XML具有独立于任何语言和体系结构、方便数据共享等优点,所以SOAP消息采用XML格式封装,即SOAP消息是一个包含Envelope元素、Header元素和Body元素的XML文档4。SOAP消息的基本格式如下。Envelope是必需的,是SOAP消息结构的主体,用于把XML文档定义为一条SOAP消息。Header是可选的,是控制信息的通用容器,包含有关SOAP消息的应用程序专用信息,例如,身份验证、支付等,必须是Envelope元素的第一个子元素。

8、Body元素是SOAP消息的必需元素,提供了接收方必须处理的信息。它是一种通用容器,可包含来自任何命名空间的任意数量的元素。Fault元素也是可选的,用于指示错误,提供有关在处理此消息时所发生的错误信息,必须是Body元素的子元素,并且只能出现一次。3.3SOAP 的工作原理SOAP的工作原理就是把相关的XML结构化数据放到一个XML的封装包中,通过HTTP传送相关的请求数据和结果数据5,也可以简单地理解为SOAP=RPC+HTTP+XML,允许Web Service服务器和Web Service客户端跨越防火墙在Internet上进行通信,使用HTTP作为底层通信协议,以XML格式进行数据传

9、送,而RPC作为一致性的调用途径4。4Domino平台数据交换的实现方案4.1应用背景Lotus Domino/Notes是IBM公司的群件软件产品,是建立在Internet/Intranet之上,面向文档的企业级通信、协同工作应用平台;是一个可编程的数据库管理系统,具有一套完整的开发工具;具有完善的工作流控制、数据库复制技术和完善可靠的安全机制6。某省院药品检验管理系统以Lotus Domino/notes R5为开发平台,采用客户/服务器(C/S)模式,由于平台版本低,对SOAP的处理没有现成可用的工具,而且系统开发语言为Lo-tusScript,数据交换方案采用LotusScript语言

10、处理SOAP与统一公共支付平台的数据交互。4.2Microsoft SOAP ToolkitMicrosoft SOAP Toolkit(MSSOAP)是微软公司开发的一个灵活的SOAP开发框架,可以很方便地使用任何一种编程语言来编写SOAP应用,为各种内部网和互联网应用解决方案构建可伸缩的Web服务,可用于向COM组件和应用程序添加XML Web Service功能。虽然所有SOAP工具包已被Microsoft.NET Framework替代,但是在非.NET Framework平台(Lotus Domino)上仍 然 可 以 使 用MSSOAP提 供 的COM对 象 来 处 理 与SOAP

11、相关的所有数据,并且支持使用任何一种编程语言编写SOAP应用。由于MSSOAP支持使用LotusScript语言在Domino中处理SOAP对象,所以选择使用该工具包可以提高开发效率。MSSOAP开发工具包有两种,即高级应用程序接口(API)和低级API。高级API允许客户端和服务器使用简单的过程调用、RPC通过SOAP进行通信;低级API使客户端和服务应用程序能够完全控制在它们之间发送SOAP消息的内容,支持一些高级API不支持的SOAP功能,并提供一些性能提升。数据交换方案采用更简单的高级API,不必像低级API关注实现细节。4.3XML 解析器所有的SOAP消息都使用XML编码,因此需要

12、对XML文档进行解析才能进行后续处理。XML解析器就是一个为应用程序读取XML文档并分析其结构的程序包,目标是把XML转换为可读的代码。目前,广泛使用 的 解 析 器 主 要 有IBM公 司 的Xerces、Sun公 司 的JAXP、Microsoft公司的MSXML等,它们都遵循SAX1.0和DOM 1.0标准。由于Microsoft MSXML可以支持Lo-tusScript语言,生成MSXML对象,所以数据交换方案使用微软公司的MSXML解析器。MSXML作为微软公司发布的XML的核心服务组件,主要用来执行或开发经由XML所设计的新应用程序。MSXML是W3C DOM模型的组件对象模型(

13、COM)的实现,根据XML文档,生成一个DOM树结构,并根据XML文档内容创建一个902023.6电脑编程技巧与维护节点的逻辑结构,能够利用MSXML所提供的接口操作XML文档中的信息7。4.4方案实现为了满足统一公共支付平台数据交换要求,药品检验管理系统费用管理子系统提供收费信息上传、缴款结果查询、缴款单冲正(退款)、作废缴款单和每日下载对账单等功能。费用管理子系统与统一公共支付平台的交互示意图,如图2所示。具体过程如下。(1)缴款人在省院业务系统上办理事项。(2)费用管理子系统根据缴款人办理事项生成缴款单。(3)费用管理子系统向统一公共支付平台发起线上缴款请求并获取缴款单信息。(4)统一公

14、共支付平台生成支付单,缴款人确认支付单后通过代收机构完成支付。(5)统一公共支付平台生成缴款凭证并返回给费用管理子系统,同时传递缴款单、支付单和缴款凭证给财政部门非税征管系统。(6)缴款人赴省院按需取票。(7)统一公共支付平台与代收机构、非税征管系统和收款银行完成对账后,费用管理子系统获取对账文件。以单笔上传缴款单为例说明实现过程。费用管理子系统通过政务网专用网络发起Web Service请求,通过统一公共支付平台向财政部门非税征管系统单笔发送需要进行网上缴款的缴款单信息。系统使用MSSOAP提供的SoapClient30组件构造SOAP消息,通过指定WSDL,调用对应的Web服务。(1)创建

15、MSSOAP的SoapClient30对象,用WSDL作为参数调用MSSoapInit2方法向服务器发起Web Ser-vice请求,SoapClient30对象根据WSDL文件传递调用的方法和参数信息。(2)调用Web Service提供的接口方法synchroPay-info发送符合Web Service要求的SOAP请求报文完成信息上传。(3)获取Web Service返回的应答报文,使用MSXML对象的loadXML函数创建XML应答文档,后继使用MSXML提供的DOM方法解析结果。部分关键代码如下。Set SoapRequest=_&_收 费 单 编 号&_100.50&_&_创建S

16、OAP请求报文Set SoapClient=CreateObject(MSSOAP.Soap-Client30)创建SoapClient30对象SoapClient.MSSoapInit2 http:/服务器IP:端口/fsServer/services/zsdwService?wsdl,zsdwService,zsdwServiceHttpPort,http:/发起WebService请求Set Response=SoapClient.synchroPayinfo(SoapRequest)发送SOAP请求报文并获取应答报文Set MSXML=CreateObject(Msxml2.DOMDo

17、c-ument.3.0)调用创建MSXML3.0对象MSXML.loadXML(Response)将应答报文转换为成XML格式Set IS_SUCCESS=MSXML.selectSingleN-ode(/IS_SUCCESS).getAttribute(CODE)获取名为IS_SUCCESS节点的属性code值If IS_SUCCESS=00 ThenMsgbox 已成功上传缴款单!End If5结语实现基于SOAP协议的数据交换方案是为了解决已建信息系统阶段性、低成本改造异构系统数据交换需求,同时利用Domino强大的通信功能和信息共享能力,方案已经在药品检验系统中得到良好的应用。但随着药

18、品检验信息化的不断深入,以及未来大数据、云计算环境中,海量数据集成和共享问题需要更加完备的数据交换方案,需要研究更多的理论和技术,不断地完善和发展它。参考文献1闵波,杨帆,颜炜,等基于SOAP报文组装的生图2平台交互示意图省政务服务网省院业务系统业务信息对账统一公共支付平台支付收款银行资金结算对账协同工作业务信息代收机构对账财政部门非税征管系统(下转第108页)912023.6电脑编程技巧与维护物信息学Web服务客户端J.医学信息学杂志,2018,39(7):41-45.2张宝玉基于Web服务的地税局人事管理系统的设计与实现D.成都:电子科技大学,2018.3尹兆冰,王加阳.Web服务及其关键

19、技术研究综述J.软件导刊,2010,9(2):121-123.4张 仙 伟,张 璟.Web Service的 核 心 技 术 之 一:SOAP协议J.电子科技,2010,23(3):30-32.5李之翔.基于SOAP异构系统跨平台数据交换的设计与实现J.电脑知识与技术,2018,14(27):272-273.6费晶.基于Lotus Domino/notes平台的办公自动化系统开发J.电子设计工程,2010,18(7):85-87.7何国辉,卿银波.基于XML的数据交换系统设计J.计算机工程与设计,2007(3):583-587.form_Master p where p.SUNSHINE_CO

20、DE=?and p.SUNSHINE_TYPE=?and p.create_date=to_date(to_char(sysdate,yyyy-mm-dd),yyyy-mm-dd);ps=conn.prepareStatement(sql);ps.setString(1,(String)temp.get(6);ps.setString(2,Converse.encode(SUN-SHINE_TYPE);ps.execute();ps.close();sql=INSERT INTO ASSET.Sunshine_Plat-form_Master(ID,item_code,item_name,it

21、em_spec,item_units,firm_id,factor,+sunshine_code,price,sunshine_name,sun-shine_brand,sunshine_units,sunshine_spec,sunshine_firm_id,sunshine_bidding_enterprise,sunshine_price,sunshine_date,create_date,sunshine_type)+VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,to_date(?,yyyy-mm-dd),to_date(to_char(sysdate,

22、yyyy-mm-dd),yyyy-mm-dd),?);ps=conn.prepareStatement(sql);ps.execute();ps.close();catch(SQLException ex)ex.printStackTrace();JOptionPane.showMessageDialog(ImportSun-shinePlatform.this,数据库错误:+ex.getMessage();return;5应用效果阳光平台自动采集信息系统建设完成后,理论上实现了阳光平台与医院系统数据交互实时校验及闭环管理,实际校验周期从原来的每月1次缩短到每周1次,校验时间从3天缩短到1 h

23、,应用效果明显,有效提高了科室工作效率及数据精确度。同时,医院通过系统反馈的异常信息,能够及时干预、分析原因、促进医院耗材管理工作的标准化和规范化5。6结语阳光平台数据自动采集信息系统的建设,有效解决了平台与医院之间数据校验难度大的问题,确保医院数据与平台数据及时统一,确保医院药品、耗材管理正规有序,确保患者利益得到充分保证。工作效率及数据精确度提高明显,相关职能科室对系统应用反映良好。参考文献1蔡芸芸,茅春宇,高海峰,等.“阳光平台”下加强医用耗材管理的探讨J 中国医疗器械杂志,2020,44(3):276-279.2杨健,陈伟.基于Python的三种网络爬虫技术研究J 软件工程,2023,26(2):25-27.3孟维成.对基于Java语言实现数据库的访问研究J.软件,2022,43(2):169-171.4秦加伟,刘辉,方木云.大数据平台下基于类型的小文件合并方法J 软件工程,2020,23(10):12-14.5王楠,钱昆,耿闳,等.公立医院阳光监管平台的实践与思考J 江苏卫生事业管理,2022,33(5):620-622.(上接第91页)108

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服