SOA案例分析浅谈

       SOA是英文 Service-Oriented Architecture 三个首字母单词的缩写,中文译为: 面向服务架构 ( SOA), SOA架构与 B/S 、 C/S 架构是目前最流行三种 Web服务的基础架构。
       SOA架构的特点为:系统集成:站在系统的角度,解决企业系统间的通信问题,把原先散乱、无规划的系统间的网状结构,梳理成规整、可治理的系统间星形结构,这一步往往需要引入 一些产品,比如 ESB、以及技术规范、服务管理规范,解决的核心问题是【有序】;系统的服务化:站在功能的角度,把业务逻辑抽象成可复用、可组装的服务,通过服务的编排实现业务的快速再生,目的:把原先固有的业务功能转变为通用的业务服务,实现业务逻辑的快速复用,解决的核心问题是【复用】;业务的服务化:站在企业的角度,把企业职能抽象成 可复用、可组装的服务;把原先职能化的企业架构转变为服务化的企业架构,进一步提升企业的对外服务能力;“前面两步都是从技术层面来解决系统调用、系统功能复用的问题”。第三步,则是以业务驱动把一个业务单元封装成一项服务,解决的核心问题是【高效】。

(SOA架构是面向服务的体现)

  如果把SOA的架构简单的理解为是多个子系统之间的整合其实有点太过于简单,也没有真正搞清楚SOA的架构模型。按照SOA的正确方法论及目标模型,其实SOA在实现架构落地上,需要考虑到对服务的组合,不断的重用现有的服务,让企业应用可以逐步集成,快速实现业务的迭代。其实这就是本节要讲的服务的分层,通过分层将服务按照使用类型进行分配,上层服务对下层服务的包装,下层服务负责原子性的操作,上层服务对下层服务进行业务性的组合。

  至于SOA架构,在网上看到这样一个例子:

  一个公司里有基层员工 有管理层 有老板,最初大家都听老板指挥,谁干什么谁干什么,根据需要,你可能今天干A事情,明天干B事情,后来人越来越多了,事情也越来越多了,做事情的效率越来越多,管理也很混乱,就开始做部门划分(服务化),专门部门做专门事情的,IT部门只做研发,人事部门只做招聘; 这个时候就无法避免的发生跨部门协作(服务器调用), 但是你怎么知道有这样一个部门可以做这个事情呢,就要依赖行政部门(注册中心),新成立的部门要在行政哪里做一个备案(服务注册),然后公布一下,让其他部门知道了(服务发布),大家就可以在新的工作秩序里面嗨皮的上班了,这个时候依然是在公司的组织架构中运转。
  说法没错,可以对SOA的有一个大概的理解了。
       参照网上介绍一下 SOA参考架构 的实际应用:海事应急辅助指挥系统是一个系统工程,范围上覆盖中国 MRCC 、MRSC ,技术上涉及到网络、数 据库、船舶交通管理系统(简称 VTS)、船舶自动识别系统(简称 AIS)、电子海图、搜救模型等众多专业, 非常复杂。此系统的建设目标, 是通过对海事系统 现有信息资源和通信资源的整合,在应急指挥数据库和电子海图平台的支持下,利用海上落水人员漂移等数学模型, 初步建立以实现人命救助的辅助指挥、 应急预案 的应用管理为重点的海事应急辅助指挥系统。要实现应急指挥系统,需要将不同部门和应用系统进行资源整合,形成统一的指挥平台系统。在海事应急辅助指挥系统 的建设中,需要整合的应用系统很多, 如 VTS系统、AIS 系统、船舶动态系统、 船舶报告查询系统、应急指挥系统等,这些系统涉及不同的提供厂家(如国内外 应用系统厂商)、多种通讯接口(如 FTP、TCP/IP、HTTP等)、多种实现技术(如 CORBA 、J2EE、.NET等)、多种数据格式等,业务复 杂,技术难度大。以 AIS 系统为例,它由岸基(基站)设施和船载设备以及 AIS 数据链路共同组成,它包括诸如雷达等硬件通讯设备,又包括信号采集和处理的 软件系统,技术相当复杂。图 2 为本系统信息整合拓扑图,是需要将海事应急指挥所需要的分布在不同地方的海事直属局的应用系统和数据,同步到部局对应的系统 中,而部局的相关数据,也要分发到下面相关直属局对应系统中。通过数据交换平台,整合现有信息资源,形成统一的数据信息,为应急指挥系统提供信息服务,实 现海事应急信息综合查询。在数据交换平台产品的选型上, 经多方比较和权衡, 海事局采用了东方通科技基于 SOA架构的企业应 用集成产品 TongIntegrator3 及其他中间件产品, 作为信息整合的产品解决方案。 TongIntegrator3 是东方通科技公司新一代的符合 SOA架构的企业应用集成产品,主要功能是在两个或更多的异构系统(如不同的数据库、消息中间件、 ERP或 CRM等)之间进行资源整合、互联互通,实现数 据集成、应用集成、业务流程集成等需求功能,以构建灵可扩展的分布式企业应用。 TongIntegrator3 产品结构由集成开发工具 TI Studio 、监控管理中心、资源中心、运行环境逻辑节点、便于应用集成开发的组件和套件 (如适配器、 Java 服务、合成服务等) 以及企业服务总线 TI ESB组成,其结构与 SOA参考架构类似,具体组成如图:


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

  总体来说:面向服务的架构SOA更加贴近业务客户,也更适合业务伙伴之间流程整合。从海事应急辅助指挥系统项目的开发和实施效果来看,基于 SOA参考架构的技术、产品及实施方法 论,能够方便地复用企业现有应用系统,保护用户 IT 投资,加快开发进度。并且基于 SOA构建的新应用业务系统,架构灵活,便于维护和重构,提高用户的业务 敏捷性。

 
原文地址:https://www.cnblogs.com/mm20/p/10928404.html