王惠媛
(中国电建集团北京勘测设计研究院有限公司,北京 100024)
WebService平台是一套标准,它定义了应用程序如何在Web上实现互操作性。WebService是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得WebService能与其他兼容的组件进行互操作[1]。它可以使用标准的互联网协议,像超文本传输协议HTTP和XML,将功能体现在互联网和企业内部网上。
在实际工作中,各类系统间的数据交互、高效部署的需求日益突出,本文采用WebService平台,通过接口调用的方式,很好地解决了本单位与外部订票系统间的订票、数据交互应用需求。
本次应用基于WebService技术,采用SOAP标准,双方约定统一JSON数据格式。外部订票系统作为服务器端将订票人身份信息、票证信息组织成约定数据格式,本单位管理系统作为客户端通过SOAP进行远程过程调用(RPC),实现了本单位人员账号与外部订票系统的单点登录集成、订票信息进入本单位管理系统数据库,完成了基于不同技术平台的数据对接交互。
员工通过本单位管理系统账号,登录本单位管理系统,并通过管理系统集成的订票链接进行订票。员工进入订票系统链接过程中,客户端发出一条SOAP消息,此消息包括加密的员工账号信息,服务器接收此SOAP消息,根据规则解析此SOAP消息,并进行身份信息认证,认证通过后,进入外部订票系统,实现员工凭本单位系统账号即可单点登录外部订票系统。
本单位管理系统,通过Java定时服务的方式,定时向外部订票系统发送请求,外部订票系统响应请求,验证请求通过后,返回订票结果消息,本单位根据约定规则解析执行结果,将解析出的订票数据进行数据对比,依据对比结果完成订票数据的入库。
本单位报销、差旅审批流程启动时,管理系统根据报销、差旅人员身份信息匹配数据库中订票数据,将数据自动加载至报销、差旅审批单中,实现了本单位内部审批流程与外部订票系统的数据对接、与数据再利用,免去了订票信息的重复填报,大大提升了本单位报销、差旅数据的及时、准确性,缩短了流程审批时间,提升了工作效率。
本单位管理系统作为订票入口,员工通过单点登录方式进入外部订票系统。由于本单位管理系统底层系采用.NET框架,为满足性能稳定的需求,故单点登录功能采用C#语言进行开发。
员工点击本单位管理系统的订票链接,即向外部订票系统发送SOAP请求。员工的姓名、公司ID、员工编号、登录名等信息被封装为JSON数据对象,此数据对象通过HTTP进行传输。外部订票系统接收请求,即根据双方约定格式对接收的JSON数据对象内容进行解析。外部订票系统根据解析出内容,进行身份认证,身份认证通过后,返回JSON格式数据对象。本单位管理系统依据双方约定格式再次进行解析,解析出外部订票系统的目标地址,从而实现本单位管理系统与外部订票系统的单点登录功能。
核心源代码如下:
外部订票系统作为服务器端,采用的是Java框架,而本单位管理系统作为客户请求端,为了更好的稳定性、兼容性,数据读取入库采用了Java语言编程,并将编写好程序部署于Tomcat,采用定时运行的方式,向外部订票系统发送数据读取请求,对返回的请求消息按约定规则进行解析,并将解析出的订票数据进行入库。
Tomcat定时运行,解析包含认证信息的配置文件,向外部订票系统发送请求。请求成功后,将包含:目标地址、公司ID、员工姓名、员工编号等身份认证信息的数据流,推送至外部订票系统。外部订票系统,接收所推送数据流,按双方约定格式解析数据流,并进行身份认证,认证成功后,按约定JSON格式返回数据对象。本单位管理系统按双方约定格式解析此数据对象,并按照本单位管理系统数据存储规范进行数据入库,从而完成了本单位员工订票信息自动入本单位管理系统功能。
核心源代码如下:
通过与外部订票系统的数据集成,实现了本单位票务数据定时入本单位管理系统数据库的功能。目前,在此票据数据基础之上,本单位管理系统实现了本单位内部的报销、差旅审批流程流转,审批流程中的票务数据及时、准确,大大提升了工作效率。未来,基于此票务数据,本单位管理系统将开发数据报表,实现各部门的出差成本自动核算,充分发挥票务数据的作用,实现数据再加工、再利用。
本文是WebService技术在实际项目中的应用,并达到了预期效果,解决了基于不同技术框架系统的交互问题。验证了WebService技术在跨平台、跨系统之间的良好支持,为解决各类系统的交互提供了比较实用的建设思路,对各类操作系统的交互有着很强的借鉴作用。