SOA架构设计案例分析

1、SOA是什么?

  面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。

2、应用实例

  海上船舶出现险情或其他灾害性事件时,如果尽可能地控制紧急事件的发展,并消除险情和事故,能将海上事故对人命、财产和环境的危害降低到最低限度。为了提高我国海事应急指挥综合水平,保护海上人民生命和财产的安全,把“中国海上搜救中心办公室建成具有现代化、数字化、信息化管理水平,集水上安全监控、海上搜救决策、信息分析处理等为一体的组织、协调、指挥中心”,努力提高搜救现代化、数字化、信息化水平,交通部海事局启动了海事应急辅助指挥系统试点工程的建设。
海事应急辅助指挥系统是一个系统工程,范围上覆盖中国MRCC、MRSC,技术上涉及到网络、数据库、船舶交通管理系统(简称VTS)、船舶自动识别系统(简称AIS)、电子海图、搜救模型等众多专业,非常复杂。此系统的建设目标,是通过对海事系统现有信息资源和通信资源的整合,在应急指挥数据库和电子海图平台的支持下,利用海上落水人员漂移等数学模型,初步建立以实现人命救助的辅助指挥、应急预案的应用管理为重点的海事应急辅助指挥系统。要实现应急指挥系统,需要将不同部门和应用系统进行资源整合,形成统一的指挥平台系统。在海事应急辅助指挥系统的建设中,需要整合的应用系统很多,如VTS系统、AIS系统、船舶动态系统、船舶报告查询系统、应急指挥系统等,这些系统涉及不同的提供厂家(如国内外应用系统厂商)、多种通讯接口(如FTP、TCP/IP、HTTP等)、多种实现技术(如CORBA、J2EE、.NET等)、多种数据格式等,业务复杂,技术难度大。以AIS系统为例,它由岸基(基站)设施和船载设备以及AIS数据链路共同组成,它包括诸如雷达等硬件通讯设备,又包括信号采集和处理的软件系统,技术相当复杂。图2为本系统信息整合拓扑图,是需要将海事应急指挥所需要的分布在不同地方的海事直属局的应用系统和数据,同步到部局对应的系统中,而部局的相关数据,也要分发到下面相关直属局对应系统中。通过数据交换平台,整合现有信息资源,形成统一的数据信息,为应急指挥系统提供信息服务,实现海事应急信息综合查询。
  按照传统的应用集成解决方案,开发工作量大,系统难于扩展和维护,而且它对系统集成商的技术储备和开发团队有很高的要求。在这种场景下,采用SOA相关解决方案,无疑是最佳选择。基于SOA的解决方案,将现有应用系统和业务进行梳理,以服务的方式将现有应用系统接入服务总线,把复杂的业务逻辑、通讯协议转换、复杂数据格式转换等封装成服务,对封装的服务进行自由组合与编排,能够快速进行不同应用系统之间的互联互通和数据交换。这样不但屏蔽了不同应用系统的业务和技术复杂性,还保护了现有应用系统的投资,提高了开发效率。
在数据交换平台产品的选型上,经多方比较和权衡,海事局采用了东方通科技基于SOA架构的企业应用集成产品TongIntegrator3及其他中间件产品,作为信息整合的产品解决方案。TongIntegrator3是东方通科技公司新一代的符合SOA架构的企业应用集成产品,主要功能是在两个或更多的异构系统(如不同的数据库、消息中间件、ERP或CRM等)之间进行资源整合、互联互通,实现数据集成、应用集成、业务流程集成等需求功能,以构建灵活可扩展的分布式企业应用。TongIntegrator3产品结构由集成开发工具TI Studio、监控管理中心、资源中心、运行环境逻辑节点、便于应用集成开发的组件和套件(如适配器、Java服务、合成服务等)以及企业服务总线TI ESB组成,其结构与SOA参考架构类似。
  以东方通科技符合SOA架构的TongIntegrator3和其他中间件如消息中间件TongLINK/Q的产品解决方案,其技术思路如下:
l        利用TongIntegrator3提供的适配器服务,连通海事现有应用系统,屏蔽不同应用系统复杂的技术接口和通讯协议;
l        将复杂的数据格式转换、业务逻辑等,封装成服务,通过服务总线提供服务消费功能;
l        利用强大的Java服务功能,对流程进行梳理和编排组合,构成更大粒度的合成服务和流程服务;
l        采用消息中间件TongLINK/Q,保证分布式的异步可靠消息传输;
l        将创建的服务和可复用资源,使用资源中心进行集中存储,以方便管理及团队协作开发;
l        使用内部集成的服务总线,对服务消费进行寻址路由、通讯协议转换及服务质量保障等,降低了服务消费者和提供者之间的耦合性。
  在海事应急辅助指挥系统中,SOA参考架构的各个组成部分,从方案的设计、编码开发、打包部署,到业务应用的运行、监控和管理,大部分得到了实际的应用。如使用集成开发工具TI Studio进行基于SOA的业务分析、设计开发及打包部署;利用资源中心集中存储服务资源,并进行团队协作开发和资源编辑版本控制等;使用监控管理中心能够对SOA运行环境及部署其上运行的SOA应用进行监控和管理;使用Java服务和服务总线TI ESB,完成服务的编排、接入、通讯协议转换、数据格式转换等功
从海事应急辅助指挥系统项目的开发和实施效果来看,基于SOA参考架构的技术、产品及实施方法论,能够方便地复用企业现有应用系统,保护用户IT投资,加快开发进度。并且基于SOA构建的新应用业务系统,架构灵活,便于维护和重构,提高用户的业务敏捷性。因此,通过SOA参考架构的实践,相信SOA理论和技术的应用,会逐渐走向普及和深入,同时,也会促进国内越来越多的软件厂商,加大资源和力量投入到SOA技术和产品的开发上面,从而进一步加快提高我国软件的开发水平。
原文地址:https://www.cnblogs.com/iCheny/p/10916345.html