导读 DAODU
进入5G时代,服务化架构成为了移动网络的统一标准,它基于面向服务的架构SOA和微服务架构提出,因此理解SOA中服务的概念,对于在5G网络中的业务能力创新有着重要意义,本次交流主要围绕面向服务架构的起源和发展,同时结合了软件工程相关知识,主要内容分为3部分:
1.分布式计算
2.面向服务的计算
3.服务化架构简介
01
分布式计算
1.什么是分布式系统?
•计算机系统=硬件+软件
•现代计算机系统基于冯诺依曼机设计:
-
存储器+运算器+控制器+输入设备+输出设备。
-
数字计算机的数制采用二进制、计算机应该按照程序顺序执行。
•MIMD根据内存的组织形式可分为:
-
分布式内存的多节点系统
-
共享内存的多处理器系统
分布式系统
多核处理器
2.分布式系统的研究内容
3.什么是软件架构?
•软件架构一般来说组织成视图(逻辑、设计、部署等)。——IEEE
•所有架构都是设计,不是每个设计都是架构。架构代表着发展一个系统的重要设计决策,这个重要性是通过变化引入成本来衡量的。——Grady Booch
•架构是学习和演化,不是蓝图。——Chen
•“一切圣贤,皆以无为法而有差别。”——金刚经
•软件架构指软件系统的顶层结构。——Wikipedia
4.分布式软件架构的演进
分布式系统架构演进
02
面向服务的计算
1.服务是什么
•服务:服务提供者提供给服务消费者的接口。
-
服务提供者提供了实现特定功能的计算机程序供别人使用。
-
服务消费者通过服务实现的功能获得想要的结果,可以是其他服务、应用程序或者人类。
-
其他服务和应用程序通过API访问服务,人类通过UI访问服务,拥有用户接口的服务叫做应用程序。
服务中的角色
2.面向服务的架构
•SOA
(Service-Oriented Architecture/面向服务的架构):一种分布式的软件架构,把软件系统看作一个松耦合的服务的集合,其中服务之间通过标准的接口通信,如WSDL、REST。
•三方模型:服务提供者、服务代理者以及服务请求者通过发布(publish)、查找(find)、绑定(bind)相互作用。
•服务总线:提供统一的调用入口,并实现了服务注册、服务路由、协议转换、数据格式转换等功能,将不同系统有效地连接起来,降低了连接数和连接拓扑的复杂度。
三方模型
企业服务总线
3.SOA的经典实践
•Web服务技术:
-
网络服务描述语言(WSDL):基于 XML 的语言,用于描述 Web Services 以及如何对它们进行访问。
-
简易对象访问协议(SOAP):基于 XML 的简易协议,可使应用程序在 HTTP 之上进行信息交换。
-
统一服务发现注册(UDDI):一种目录服务,企业可以使用它对 Web services 进行注册和搜索。
-
业务流程执行语言(BPEL):一种基于XML的,用来描写业务过程的编程语言,被描写的业务过程的每个单一步骤则由Web服务来实现。
Web服务中的三方模型实现
BPEL系统
4.SOA的精神延续——微服务架构
•2014年,Martin Fowler的《微服务》是第一篇详细介绍微服务的文章。
https://martinfowler.com/articles/microservices.html
•微服务架构风格:是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。
5.微服务vsSOA
•微服务的特征:通过服务组件化、围绕业务能力组织、是产品不是项目、智能端点和哑管道 、去中心化治理 、去中心化数据管理 、基础设施自动化 、为失效设计 、进化式设计。
•基于微服务的技术:服务开发框架(Spring Cloud)、服务编排(K8S)、容器化(Docker)、持续集成、DevOps、AIOps等自动化运维技术。
6.面向服务的计算
7.面向服务计算的研究方向
•服务计算理论与方法:服务模式计算、服务需求、服务生态体系、服务业务分析、服务流程构造与演化、服务编排与协同、服务选择、服务发现、服务推荐、服务组合方法、服务质量管理、服务业务管理与集成等
•服务系统与工程:服务基础设施,面向服务的体系结构,服务网络,微服务与容器,服务系统度量、监控与优化,复杂服务系统构造、适应与演化,软硬件协同的服务系统等
8.典型的应用场景
•Web应用组合
-
Web页面构成的移动或桌面应用
-
事件驱动的组合模型构建Web应用
•大数据应用
-
5V定义:Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实)
-
分布式数据存储与处理
-
并行计算
•云计算/边缘计算/雾计算
-
瘦客户端、胖服务器端架构,将计算能力转移到服务器端的服务
-
XXX-as-a-Service(SaaS、PaaS、IaaS、AIaaS、EaaS、XaaS)
-
数据中心存储服务所需的数据
-
运行大数据应用
•汽车领域
-
软件定义汽车、架构定义汽车
•医疗领域
-
基于服务总线的医疗信息系统
ASU基于SOC的研究内容
9.前沿研究
•顶级会议
-
IEEE International Conference on Web Services(ICWS)
-
International Conference on Service Oriented Computing(ICSOC)
-
IEEE International Conference on Services Computing(SCC)
•顶级期刊
-
IEEE Transactions on Mobile Computing(TMC)
-
IEEE Transactions on Services Computing(TSC)
•国内组织
-
中国计算机学会服务计算专业委员会(CCF TCSC)
-
中国计算机学会服务计算学术会议与服务科学国际会议(CCF NCSC)
03
服务化架构简介
1.服务化架构SBA
•服务化架构(SBA:Service-based Architecture):借鉴了SOA和微服务架构的理念,结合电信网络的现状、特点和发展趋势进行设计,以软件服务重构核心网,实现软件化、灵活化、智能化
SBA三方模型的实现
服务化架构
SBA的核心特点
-
模块化便于定制:每个5G软件软件功能由细粒度的微服务定义,便于网络按照业务场景以服务为单位定制和编排
-
轻量化易于扩展:接口基于轻量级互联网协议,采用可灵活调用的API交互,对内降低网络配置及信令开销,对外提供能力开放的统一端口
-
独立化利于升级:服务可独立部署,使得网络功能可以快速升级引入新功能,服务可基于虚拟化平台快速部署和弹性扩容。
2.云原生技术
•CNCF,全称Cloud Native Computing Foundation(云原生计算基金会),成立于 2015 年7月21日
云原生技术的发展
•CNCF 对云原生(Cloud Native)的定义包含以下三个方面:
-
应用容器化
-
面向微服务架构
-
应用支持容器的编排调度
•2018年重新定义:
-
云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式 API。
-
这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。
DevOps工具框架
引用
Chen, Yinong. 2020. Service-Oriented Computing and System Integration: Software, IoT, Big Data, and AI as Services. s.l. : Kendall Hunt, 2020.
更多交流:请关注公众号【通信大数据分析及应用】



