【系统架构设计师】二十一、面向服务架构设计理论与实践①

目录

一、SOA的相关概念

1.1 SOA的定义

1.2 业务流程与BPEL

二、 SOA的微服务化发展

三、 SOA 的参考架构

3.1 连接服务一企业服务总线

3.2 业务逻辑服务

3.3 控制服务

3.4.开发服务

3.5 业务创新和优化

3.6 IT 服务管理

往期推荐


一、SOA的相关概念

1.1 SOA的定义

        面向服务的体系结构 (Service-Oriented Architecture,SOA):
        从应用的角度定义,可以认为 SOA 是一种应用框架,它着眼于日常的业务应用,并将它们划分为单独的业务功能和流程,即所谓的服务。 SOA 使用户可以构建、部署和整合这些服务,且无需依赖应用程序及其运行平台,从而提高业务流程的灵活性。
        从软件的基本原理定义,可以认为SOA 是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。

1.2 业务流程与BPEL

        业务流程是指为了实现某种业务目的行为所进行的流程或一系列动作

        BPEL(Business Process Execution Language For Web Services) 翻译成中文的意思是面向Web 服务的业务流程执行语言,它是一种使用 Web 服务定义和执行业务流程的语言。使用 BPEL, 用户可以通过组合、编排和协调 Web 服务自上而下地实现面向服务的体系结构。 BPEL 目前用于整合现有的 Web Services,将现有的Web Services按照要求的业务流程整理成为一个新的Web Services,在这个基础上,形成一个从外界看来和单个 Service 一样的 Service。

二、 SOA的微服务化发展

        为适应日益增长的用户访问量和产品的快速更新迭代,导致SOA 架构向更细粒度、更通用化程度发展,就成了所谓的微服务了。 SOA 与微服务的区别在于如下几个方面:

        (1)微服务相比于SOA 更加精细,微服务更多地以独立的进程的方式存在,互相之间并无影响;
        (2)微服务提供的接口方式更加通用化,例如HTTP RESTful 方式,各种终端都可以调用,无关语言、平台限制
        (3)微服务更倾向于分布式去中心化的部署方式,在互联网业务场景下更适合。

        SOA 架构是一个面向服务的架构,可将其视为组件模型,其将系统整体拆分为多个独立的功能模块,模块之间通过调用接口进行交互,有效整合了应用系统的各项业务功能,系统各个模块之间是松耦合的。SOA 架构以企业服务总线(ESB)链接各个子系统,是集中式的技术架构,应用服务间相互依赖导致部署复杂,应用间交互使用远程通信,降低了响应速度

        微服务架构是 SOA 架构的进一步优化,去除了企业服务总线(ESB),是一个真正意义上去中心化的分布式架构。其降低了微服务之间的耦合程度,不同的微服务采用不同的数据库技术,服务独立,数据源唯一,应用极易扩展和维护,同时降低了系统复杂性。

        

         总而言之,微服务架构是 SOA 架构思想的一种扩展,更加强调服务个体的独立性、拆分粒度更小

三、 SOA 的参考架构

        IBM 的 Websphere业务集成参考架构是典型的以服务为中心的企业集成架构,采用“关注点分离 (Separation of Concern)”的方法规划企业集成中的各种架构元素,同时从服务视角规划每种架构元素提供的服务,以及服务如何被组合在一起完成某种类型的集成。从服务为中心的视角来看,企业集成的架构可划分为6大类。如下图所示:        

        (1)业务逻辑服务(Business Logic Service)。用于实现业务逻辑的服务和执行业务逻辑的能力,其中包括业务应用服务(Business Application Service)、业务伙伴服务(Partner Service)以及应用和信息资产(Application and Information Asset)。
        (2)控制服务(Control Service)。包括实现人(People)、流程(Process)和信息(Information)集成的服务,以及执行这些集成逻辑的能力。
        (3)连接服务(Connectivity Service)。通过提供企业服务总线,实现分布在各种架构元素中服务间的连接性。
        (4)业务创新和优化服务(Business Innovation and Optimization Service)。用于监控业务系统运行时服务的业务性能,并通过及时了解到的业务性能和变化,采取措施适应变化的市场。
        (5)开发服务(Development Service)。贯彻整个软件开发生命周期的开发平台,从需求分析到建模、设计、开发、测试和维护等全面的工具支持。 

3.1 连接服务一企业服务总线

        ESB 采用总线结构模式简化了应用之间的集成拓扑,通过源自实践的模式,提供了基于标准的通用连接服务,使得服务请求者和服务提供者之间可以以松散耦合、动态的方式交互,从而在不同层次上使得 SOA 解决方案是一个松散耦合、灵活的架构。

        ESB 的基本特征和能力包括:
        (1)描述服务的元数据和服务注册管理
        (2)在服务请求者和提供者之间传递数据,以及对这些数据进行转换的能力,并支持由实践中总结出来的一些模式如同步模式、异步模式等
        (3)发现、路由、匹配和选择的能力,以支持服务之间的动态交互解耦服务请求者和服务提供者
        (4)高级一些的能力,包括对安全的支持、服务质量保证、可管理性和负载平衡等

3.2 业务逻辑服务

        (1)整合已有应用一应用和信息访问服务。实现对已有应用和信息的集成,主要有两类访问服务:可接入服务、事件发现服务

        (2)整合新开发的应用一业务应用服务。实现新应用集成,主要有三类业务应用服务:组件服务(可重用)、核心服务(运行时)、接口服务

        (3)整合客户和业务伙伴(B2C/B2B)一伙伴服务。提供与企业外部的B2B 的集成能力,包括:社区服务、文档服务、协议服务

3.3 控制服务

        (1)数据整合一信息服务。提供集成数据的能力,目前主要包括如下集中信息服务:联邦服务(不同类型数据聚合)、复制服务(远程数据本地访问)、转换服务(格式转换)、搜索服务。

        (2)流程整合一流程服务。完成业务流程集成,包括:编排服务(预定义流程顺序)、事务服务2)流程整合(保证ACID)、人工服务(人工活动集成到流程中)。

        (3)用户访问整合一交互服务。实现用户访问集成,包括:交付服务(运行时交互框架)、体验服务、资源服务(运行时交互组件的管理)。

3.4.开发服务

        开发环境和工具中为不同开发者的角色提供的功能被称为开发服务。根据开发过程中开发者角色和职责的不同,有如下4类服务:建模服务、设计服务、实现服务、测试服务

3.5 业务创新和优化

        以业务性能管理(BPM)技术为核心提供业务事件发布、收集和关键业务指标监控能力。包括以下服务:

        (1)公共事件框架服务(Common Event Infrastructure Service): 通过一个公共事件框架提供IT 和业务事件的激发、存储和分类等。
        (2)采集服务(Collection Service): 通过基于策略的过滤和相关性分析检测感兴趣的服务。
        (3)监控服务(Monitoring Service): 通过事件与监控上下文间的映射,计算和管理业务流程的关键性能指标 (Key Performance Indicators,KPI)。

3.6 IT 服务管理

        为业务流程和服务提供安全、高效和健康的运行环境,也是以服务为中心的企业集成重要
的部分,它由IT 服务管理来完成。 IT 服务管理包括如下两部分。
        (1)安全和目录服务(Security and Directory Service): 企业范围的用户、认证和授权管理,如单点登录 (SSO)。
        (2)系统管理和虚拟化服务(System Management and Virtualization Service): 用于管理服务器、存储、网络和其他IT 资源。

往期推荐

【系统架构设计师】二十、云原生架构设计理论与实践①-CSDN博客文章浏览阅读700次,点赞11次,收藏10次。云原生架构是基于云原生技术的一组架构原则和设计模式的集合,旨在将云应用中的非业务代码部分进行最大化的剥离,从而让云设施接管应用中原有的大量非功能特性(如弹性、韧性、安全、可观测性、灰度等),使业务不再有非功能性业务中断困扰的同时,具备轻量、敏捷、高度自动化的特点。云原生的代码通常包括三部分:业务代码、三方软件、处理非功能特性的代码。https://shuaici.blog.csdn.net/article/details/140695519【系统架构设计师】十九、层次式架构设计理论与实践①-CSDN博客文章浏览阅读885次,点赞32次,收藏10次。层次式体系结构设计是一种常见的架构设计方法,也称为 N 层架构设计,它将系统组成为一个层次结构,每一层为上层服务,并作为下层客户。在一些层次系统中,除了一些精心挑选的输出函数外,内部的层接口只对相邻的层可见。层次式体系结构的每一层最多只影响两层,同时只要给相邻层提供相同的接口,也允许每层用不同的方法实现,这种方式也为软件重用提供了强大的支持。大部分的应用会分成表现层(或称为展示层)、中间层(或称为业务层)、访问层(或称为持久层)和数据层。https://shuaici.blog.csdn.net/article/details/140684710【系统架构设计师】十八、信息系统架构设计理论与实践①-CSDN博客文章浏览阅读959次,点赞47次,收藏27次。信息系统架构(ISA)是指对某一特定内容里的信息进行统筹、规划、设计、安排等一系列有机处理的活动。目前关于信息系统架构较为权威的定义有:(1)信息系统架构是系统的结构,由软件元素、元素外部可见属性和元素间关系组成。(2)信息系统架构是软件系统结构、行为和属性的高级抽象,由系统元素描述、元素间相互作用、元素集成模式及模式约束组成。(3)信息系统架构是系统的基础组织,体现为构件、构件间关系、构件和环境间关系、构件设计和演进的原则。https://shuaici.blog.csdn.net/article/details/140641460【系统架构设计师】一、计算机系统基础知识(硬件组成|CPU|校验码)_系统架师考试学习资料-CSDN博客文章浏览阅读1k次,点赞12次,收藏14次。一、计算机的硬件组成;二、中央处理单元:2.1 CPU的组成;2.2 CPU 的功能;三、校验码;四、考试真题练习。_系统架师考试学习资料https://shuaici.blog.csdn.net/article/details/139684918

  • 14
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅次

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值