《Spring Cloud微服务架构进阶》——1.1.2 SOA架构
1.1.2 SOA架构
面向服务的架构(SOA)是Gartner于20世纪90年代中期提出的。2002年12月,Gartner提出“面向服务的架构”是现代应用开发领域最重要的课题之一。
SOA的核心主体是服务,其目标是通过服务的流程化来实现业务的灵活性。服务就像一堆“元器件”,这些元器件通过封装形成标准服务,它们有相同的接口和语义表达规则。但服务要组装成一个流程和应用,还需要有效的“管理”,包括如何注册服务、如何发现服务、如何包装服务的安全性和可靠性,这些就是SOA治理。SOA治理是将SOA的一堆元器件进行有效组装。这是形成一个“产品”的关键,否则那些永远是一堆元器件,而无法形成一个有机整体。
完整的SOA架构由五大部分组成:基础设施服务、企业服务总线、关键服务组件、开发工具、管理工具等。
基础设施:为整个SOA组件和框架提供一个可靠的运行环境,以及服务组件容器,它的核心组件是应用服务器等基础软件支撑设施,提供运行期完整、可靠的软件支撑。
企业服务总线:提供可靠消息传输、服务接入、协议转换、数据格式转换、基于内容的路由等功能,屏蔽了服务的物理位置、协议和数据格式。
关键服务组件:SOA在各种业务服务组件的分类。
开发工具和管理工具:提供完善的、可视化的服务开发和流程编排工具,包括服务的设计、开发、配置、部署、监控、重构等完整的SOA项目开发生命周期。
具体来说,就是在分布式的环境中,将各种功能都以服务的形式提供给最终用户或者其他服务。企业级应用的开发多采用面向服务的体系架构来满足灵活多变、可重用性的需求。它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口采用中立的方式进行定义,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。
SOA是在企业计算领域中提出的,目的是要将紧耦合的系统,划分为面向业务的、粗粒度、松耦合、无状态的服务。服务发布出来供其他服务调用,一组互相依赖的服务就构成了SOA架构的系统。基于这些基础的服务,可以将业务过程用类似BPEL(业务流程执行语言)流程的方式编排起来,BPEL反映的是业务处理的过程,这些过程对于业务人员更为直观。企业还需要一些服务治理的工具,比如服务注册库、监控管理等。在企业计算领域,如果不是交易系统的话,并发量都不是很大,所以大多数情况下,一台服务器就可以容纳许多的服务,这些服务采用统一的基础设施,可能都运行在一个应用服务器的进程中。虽然说是SOA架构,但还可能是单一的系统。
- 点赞
- 收藏
- 关注作者
评论(0)