第15章-面向服务架构设计理论与实践

41 阅读8分钟

面向服务架构设计理论与实践

第一章 SOA的相关概念

第一节 SOA的定义

1.从应用角度,认为SOA是一种应用架构

2.从软件的基本定义,可以认为SOA是一个组件模型

image.png

第二节 业务流程与BPEL

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

BPEL(Business Process Execution Language For Web Service):面向WEB 服务的业务流程执行语言,也可写为BEPL4WS

第二章 SOA的发展历史

第一节 SOA的发展历史-三个阶段

第一条 萌芽阶段

image.png

第二条 标准化阶段

三个著名的Web服务标准和规范

(一)简单对象访问协议(SOAP,Simple Object Access Protocol):作为一种基于XML的通信协议,用于建立WEB服务和服务请求之间的通信

(二)Web服务描述语言(WSDL,Web Service Description Language):是一种用于描述Web服务接口和操作功能的XML格式语言,它允许开发人员定义WEB服务的输入和输出消息、操作和端口以便其他人可以使用WEB服务

(三)通用服务发现和集成协议(UDDI,Universal Discovery Description and Integration):是web服务注册和查找的标准,通常用于让开发人员发布其Web服务,并在UDDI中搜索并发现可用的Web服务

一个语言

BPEL 是一种使用WEB服务定义和执行业务流程的语言,允许用户通过组合、编排和协调WEB服务自上而下的实现面向服务的体系架构(SOA),使用BPEL,用户可以将多个WEB服务组合到一个新的复合服务(称为业务流程)中,从而实现更高级别的功能。

第三条 成熟应用阶段

第二节 国内SOA的发展现状与国外对比

image.png

第三节 SOA的微服务化发展

image.png

image.png

第三章 SOA的参考架构

以服务为中心的企业集成架构,采用“关注点分离(Separation of Concern)”。

以服务为中心的视角来看,企业基础的架构可划分为6大类

第一节 连接服务-企业服务总线ESB(Enterprise Service Bus)

image.png

ESB是一种架构模式

image.png

第二节 业务逻辑服务(Business Logic Service)

第一条 整合已有应用——应用和信息访问服务

(一)可接入服务(On-Ramp Service)

(二)事件发现服务(Event Detect Service)

第二条 整合新开发应用——业务应用服务

(一)组件服务

(二)核心服务(Core Service)

(三)接口服务

第三条 整合客户和业务伙伴(B2C、B2B)—— 伙伴服务

(一)社区服务(Community Service)

(二)文档服务(Document Service)

(三)协议服务(Protocol Service)

第三节 控制服务

第一条 数据整合——信息服务

(一)联邦服务(Federation Service)

(二)复制服务(Replication Service)

(三)转换服务(Transformation Service)

(四)搜索服务(Search Service)

第二条 流程整合——流程服务

(一)编排服务(Choreography Service)

(二)事务服务(Transaction Service)

(三)人工服务(Staff Service)

第三条 用户访问整合——交互服务

(一)交付服务(Delivery Service)

(二)体验服务(Experience Service)

(三)资源服务(Resource Service)

第四节 开发服务

第一条 相关技术

(一)用于支持以服务为中心的企业集成方法学和建模

(二)用于服务为中心的编程模型

第二条 根据角色和职责的不同,有如下4类服务

(一)建模服务

(二)设计服务

(三)实现服务(Implementation Service)

(四)测试服务

第五节 业务创新和优化服务

(一)公共事件框架服务(Common Event Infrastructure Service)

(二)采集服务(Collection Service)

(三)监控服务(Monitoring Service)

第六节 IT服务管理

(一)安全和目录服务(Security and Directory Service)

(二)系统管理和虚拟化服务(System Management and Virtualization Service)

第四章 SOA主要协议和规范

转存失败,建议直接上传图片文件 

第一节 UDDI协议

定义:统一描述、发现和集成协议

第二节 WSDL规范

第三节 SOAP协议

第一条 SOAP封装(Envelope)

第四节 REST 规范(Representation State Transfer,资源表述性状态转移)

不只是要适用于互联网环境,而是一个普遍的设计理念,目的是为了让不同的软件或者应用程序在任何网络环境下都可以进行信息的互相传递。

微服务对外就是以REST API 形式暴露给调用者。

image.png

第一条 资源(Resource)****

REST是以资源为中心构建。将互联网中一切暴露给客户端的事物都可以看做一种资源,借助URI(统一资源标识符)。URI和资源又不是一一映射,一个资源可以设计多个URI,但一个URI只能对应一种资源。

第二条 表述(Representation)****
第三条 状态转移(State Transfer)****

(一)应用状态

(二)资源状态

第四条 超链接****

 

 

第五章 SOA设计的标准****

第一节 文档标准化****

XML 文档

第二节 通信协议标准****

XML Schema(XSD,XML Schema Definition)

第三节 应用程序统一登记与集成****

 

第四节 服务质量(QoS)****

第一条 可靠性****

第二条 安全性****

SAML(as Security Assertion Markup Language)实现Web服务消息的安全

第三条 策略****

第四条 控制****

第五条 管理****

第六章 SOA的作用****

image.png

 

第七章 SOA的设计原则****

服务总线是SOA的架构模式之一

关于服务,有一下设计原则

(一)无状态

(二)单一实例

(三)明确定义的接口

(四)自包含和模块化

(五)粗粒度

(六)服务之间的松耦合性

(七)重用能力

(八)互操作性、兼容和策略声明

 

 

第八章 SOA的设计模式****

第一节 服务注册表模式****

(一)服务注册:服务提供者

(二)服务位置:服务应用开发者

(三)服务绑定:服务消费者

第二节 企业服务总线模式ESB****

思想:提供一种标准的软件底层架构,各种程序组件能够以服务单元的方式“插入”到该平台运行。并且组件之间能够以标准的消息通信方式来进行交互。 转存失败,建议直接上传图片文件

image.png ESB以中间件的方式,提供服务容错、负载均衡、QoS保障和可管理功能。

ESB的核心功能如下:

image.png

第三节 微服务模式

微服务思想:不再强调传统SOA架构里面比较重的ESB企业服务总线,同时SOA的思想进入到单个业务系统内部实现真正的组件化。

第一条 微服务架构概述

优势:

(一)复杂应用解耦

(二)独立

(三)技术选型灵活

(四)灵活

(五)松耦合、易扩展

第二条 微服务架构模式方案****

(一)聚合器微服务****
(二)链式微服务****
(三)数据共享微服务****
(四)异步消息传递微服务****

转存失败,建议直接上传图片文件 

image.png

第三条 微服务架构面临的问题与挑战

image.png

第四节 案例研究

第一条 ESB

image.png

第二条 微服务

(一)JWT(JSON WEB TOKEN)

1.概念:目前最流行的跨域认证解决方案

2.数据结构,由3部分组成

(1)Header(头部)

image.png

(2)Payload(负载)

image.png

(3)Signature(签名)

image.png 写成一行:Header.Payload.Signature

image.png www.ruanyifeng.com/blog/2018/0…

3.特点

image.png

(二)微服务架构

image.png

(三)平台****

第九章 构建SOA架构时应该注意的问题****

第一节 原有系统架构中的集成需求****

第二节 服务粒度的控制以及无状态服务的设计****

第三节 安全问题****

解决方案:

image.png  

第十章 SOA实施的过程****

第一节 选择SOA解决方案****

第一条 尽量选择能进行全局规划的方案****

 

第二条 选择时充分考虑企业自身的需求****

第三条 从平台、实施等技术进行考察****

第二节 业务流程分析****

第一条 建立服务模型

(一)自顶向下分解法

(二)业务目标分析法

(三)自底向上分析法

第二条 建立业务流程

(一)建立业务对象

(二)建立服务接口

(三)建立业务流程

第十一章 做题

案例题

银行系统

image.png

论文

9,10,11,12,16、19、20、47、48、55、

加分项:云计算、AI、大数据

搭建自己的万能模版

(一)企业应用集成SOA****

4种集成

已有项目 与 其他项目的集成

面向服务本质,集成了什么服务,服务之间怎么通信,怎么通过ESB进行服务通信

(二)微服务****

平台

消息传递

消息中间件:kafka

分布式:1个业务调用多个微服务

juejin.cn/post/714547…