● 摘要
面向服务的架构(SOA)作为一种网络化的软件应用模式,目前已经被工业界和学术界广泛的认可和接受。然而在如舰船指挥系统等一些特殊领域,SOA的应用还不够普及。采用面向服务的思想构造新型舰船指挥系统目前已经是相关领域的研究热点。如何有效地复用舰船系统上的软件是构建基于SOA的新型系统不可忽视的问题,同时目前的通用服务中间件平台尚无法满足构建新型系统的需要。本文针对在构建新型指挥系统时服务开发与服务运行两方面的需求,设计并实现了一套数据服务系统,包含服务自动开发工具和服务运行环境两个部分。本文首先阐述了面向舰船指挥系统的服务开发的相关技术,并对当前国内外与舰船指挥系统需求最相近的主流通用服务中间件平台进行了分析比较和总结,在此基础上明确了整个数据服务系统的机制和设计目标。随后,本文设计了一套基于编程模型的服务开发工具进行服务的构建。该工具能够自动完成文件解析、代码生成、服务封装、服务部署等关键步骤。此外,本文还设计了一套可扩展的无连接通信协议以及数据定时分发的交互模式,并基于此实现了服务的运行环境。接下来,本文通过示例展示了利用服务开发工具将舰船指挥系统上的应用程序开发为服务的过程,并对开发的服务进行了性能测试和结果分析。在本论文的结尾,对研究工作进行了总结与展望。本论文工作的主要特点表现在以下方面:(1)设计了一套基于编程模型的服务开发工具,使得舰船服务的构建能够自动化并且保留原有应用程序的接口和功能;(2)使用头文件作为服务生成的输入,不需要对文件进行修改,不需要提供原有程序实现部分的源码,提高了工具的可用范围;(3)设计了可扩展的UDP协议,并给出了该协议在服务运行时中的实现;(4)以服务的方法名为订阅数据的主题,实现了数据的定时分发。