SOA ,即 Service Oriented Architecture 的缩写,面向服务的架构,它提供了一种构建 IT 组织的标准和方法,并通过建立可组合、可重用的服务体系来减少 IT 业务冗余并加快 项目开发 的进程。 SOA 允许一个企业高效地平衡现有的资源和财产,这种体系能够使得 IT 部门效率更高、开发周期更短、项目 分发 更快,在帮助 IT 技术和业务整合方面有着深远的意义。它可以缩小业务和技术的鸿沟,促进软件资源的共享与重用,使得用户的业务及应用能够随需应变,提高业务敏捷性及企业的竞争力。 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

进入 21 世纪,随着 SOA 相关概念、标准和技术的发展,加上国内外众多厂商的宣传和推进,国内越来越多的企业和单位,开始采用 SOA 相关技术和产品,来构建企业及电子政务方面的应用, SOA 逐渐从概念走向了普及和实用。

国内众多软件开发企业,在 SOA 相关技术和产品方面,也投入了大量的人力和物力进行跟踪和研究,并且开发出了相应的 SOA 产品。如长风开放标准平台软件联盟,自 2005 年成立以来,将基础平台软件厂商、应用平台软件厂商、科研院所和第三方中介机构联合起来,进行资源整合,优势互补,协同合作,在 SOA 相关概念、标准规范、技术、及 SOA 技术解决方案方面,做了大量的研究工作。其中,长风联盟的 SOA-RA-TF SOA 参考架构工作组)参照相关的国际标准,充分考虑国内的实际业务需求,提出了一个 SOA 参考架构,如图 1 所示。长风联盟 SOA 参考架构本身,体现了松散耦合特性,它结合了传统技术和 Web 服务技术,考虑了各种应用场景,可灵活地分拆组合使用。

 

1.SOA参考架构

SOA 体系架构及相关技术,主要应用在企业应用集成领域,它能够以服务的方式共享和复用企业现有应用资产,保护用户 IT 投资,并能够以服务的方式构建新的业务流程,对企业流程进行灵活重构和优化,增强业务的敏捷性。鉴于 SOA 体系架构的诸多优点和对用户带来的利益,国内越来越多的用户开始采用 SOA 相关技术和产品,来构建自己的业务应用系统,下面以海事应急辅助指挥系统为例,介绍一下 SOA 参考架构的实际应用。

海上船舶出现险情或其他灾害性事件时,如果尽可能地控制紧急事件的发展,并消除险情和事故,能将海上事故对人命、财产和环境的危害降低到最低限度。为了提高我国海事应急指挥综合水平,保护海上人民生命和财产的安全,把“中国海上搜救中心办公室建成具有现代化、数字化、信息化管理水平,集水上安全监控、海上搜救决策、信息分析处理等为一体的组织、协调、指挥中心”,努力提高搜救现代化、数字化、信息化水平,交通部海事局启动了海事应急辅助指挥系统试点工程的建设。

海事应急辅助指挥系统是一个系统工程,范围上覆盖中国 MRCC MRSC ,技术上涉及到网络、数据库、船舶交通管理系统(简称 VTS )、船舶自动识别系统(简称 AIS )、电子海图、搜救模型等众多专业,非常复杂。此系统的建设目标,是通过对海事系统现有信息资源和通信资源的整合,在应急指挥数据库和电子海图平台的支持下,利用海上落水人员漂移等数学模型,初步建立以实现人命救助的辅助指挥、应急预案的应用管理为重点的海事应急辅助指挥系统。要实现应急指挥系统,需要将不同部门和应用系统进行资源整合,形成统一的指挥平台系统。在海事应急辅助指挥系统的建设中,需要整合的应用系统很多,如 VTS 系统、 AIS 系统、船舶动态系统、船舶报告查询系统、应急指挥系统等,这些系统涉及不同的提供厂家(如国内外应用系统厂商)、多种通讯接口(如 FTP TCP/IP HTTP 等)、多种实现技术(如 CORBA J2EE .NET 等)、多种数据格式等,业务复杂,技术难度大。以 AIS 系统为例,它由岸基(基站)设施和船载设备以及 AIS 数据链路共同组成,它包括诸如雷达等硬件通讯设备,又包括信号采集和处理的软件系统,技术相当复杂。图 2 为本系统信息整合拓扑图,是需要将海事应急指挥所需要的分布在不同地方的海事直属局的应用系统和数据,同步到部局对应的系统中,而部局的相关数据,也要分发到下面相关直属局对应系统中。通过数据交换平台,整合现有信息资源,形成统一的数据信息,为应急指挥系统提供信息服务,实现海事应急信息综合查询。

 
2.海事应急辅助指挥系统信息整合拓扑图

按照传统的应用集成解决方案,开发工作量大,系统难于扩展和维护,而且它对系统集成商的技术储备和开发团队有很高的要求。在这种场景下,采用 SOA 相关解决方案,无疑是最佳选择。基于 SOA 的解决方案,将现有应用系统和业务进行梳理,以服务的方式将现有应用系统接入服务总线,把复杂的业务逻辑、通讯协议转换、复杂数据格式转换等封装成服务,对封装的服务进行自由组合与编排,能够快速进行不同应用系统之间的互联互通和数据交换。这样不但屏蔽了不同应用系统的业务和技术复杂性,还保护了现有应用系统的投资,提高了开发效率。

在数据交换平台产品的选型上,经多方比较和权衡,海事局采用了东方通科技基于 SOA 架构的企业应用集成产品 TongIntegrator3 及其他中间件产品,作为信息整合的产品解决方案。 TongIntegrator3 是东方通科技公司新一代的符合 SOA 架构的企业应用集成产品,主要功能是在两个或更多的异构系统(如不同的数据库、消息中间件、 ERP CRM 等)之间进行资源整合、互联互通,实现数据集成、应用集成、业务流程集成等需求功能,以构建灵活可扩展的分布式企业应用。 TongIntegrator3 产品结构由集成开发工具 TI Studio 、监控管理中心、资源中心、运行环境逻辑节点、便于应用集成开发的组件和套件(如适配器、 Java 服务、合成服务等)以及企业服务总线 TI ESB 组成,其结构与 SOA 参考架构类似,具体组成如图 3 所示。

 

3. TongIntegrator3 产品组成结构

以东方通科技符合 SOA 架构的 TongIntegrator3 和其他中间件如消息中间件 TongLINK/Q 的产品解决方案,如图 4 所示,其技术思路如下:

l        利用 TongIntegrator3 提供的适配器服务,连通海事现有应用系统,屏蔽不同应用系统复杂的技术接口和通讯协议;

l        将复杂的数据格式转换、业务逻辑等,封装成服务,通过服务总线提供服务消费功能;

l        利用强大的 Java 服务功能,对流程进行梳理和编排组合,构成更大粒度的合成服务和流程服务;

l        采用消息中间件 TongLINK/Q ,保证分布式的异步可靠消息传输;

l        将创建的服务和可复用资源,使用资源中心进行集中存储,以方便管理及团队协作开发;

l        使用内部集成的服务总线,对服务消费进行寻址路由、通讯协议转换及服务质量保障等,降低了服务消费者和提供者之间的耦合性。

在海事应急辅助指挥系统中, SOA 参考架构的各个组成部分,从方案的设计、编码开发、打包部署,到业务应用的运行、监控和管理,大部分得到了实际的应用。如使用集成开发工具 TI Studio 进行基于 SOA 的业务分析、设计开发及打包部署;利用资源中心集中存储服务资源,并进行团队协作开发和资源编辑版本控制等;使用监控管理中心能够对 SOA 运行环境及部署其上运行的 SOA 应用进行监控和管理;使用 Java 服务和服务总线 TI ESB ,完成服务的编排、接入、通讯协议转换、数据格式转换等功能。

4. 基于东方通 SOA 中间件产品解决方案

从海事应急辅助指挥系统项目的开发和实施效果来看,基于 SOA 参考架构的技术、产品及实施方法论,能够方便地复用企业现有应用系统,保护用户 IT 投资,加快开发进度。并且基于 SOA 构建的新应用业务系统,架构灵活,便于维护和重构,提高用户的业务敏捷性。因此,通过 SOA 参考架构的实践,相信 SOA 理论和技术的应用,会逐渐走向普及和深入,同时,也会促进国内越来越多的软件厂商,加大资源和力量投入到 SOA 技术和产品的开发上面,从而进一步加快提高我国软件的开发水平。