求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
  
 
 
 
SOA参考架构的应用示例
 

2010-05-28 作者:zhulvwei 来源:zhulvwei的blog

 

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

进入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所示,其技术思路如下:

  • 利用TongIntegrator3提供的适配器服务,连通海事现有应用系统,屏蔽不同应用系统复杂的技术接口和通讯协议;
  • 将复杂的数据格式转换、业务逻辑等,封装成服务,通过服务总线提供服务消费功能;
  • 利用强大的Java服务功能,对流程进行梳理和编排组合,构成更大粒度的合成服务和流程服务;
  • 采用消息中间件TongLINK/Q,保证分布式的异步可靠消息传输;
  • 将创建的服务和可复用资源,使用资源中心进行集中存储,以方便管理及团队协作开发;
  • 使用内部集成的服务总线,对服务消费进行寻址路由、通讯协议转换及服务质量保障等,降低了服务消费者和提供者之间的耦合性。

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

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

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



专家视角看IT与架构
软件架构设计
面向服务体系架构和业务组件
人人网移动开发架构
架构腐化之谜
谈平台即服务PaaS


面向应用的架构设计实践
单元测试+重构+设计模式
软件架构师—高级实践
软件架构设计方法、案例与实践
嵌入式软件架构设计—高级实践
SOA体系结构实践


锐安科技 软件架构设计方法
成都 嵌入式软件架构设计
上海汽车 嵌入式软件架构设计
北京 软件架构设计
上海 软件架构设计案例与实践
北京 架构设计方法案例与实践
深圳 架构设计方法案例与实践
嵌入式软件架构设计—高级实践
更多...