软考高级《系统架构设计师》面向服务的架构(SOA) 笔记

您所在的位置:网站首页 soa架构三个角色 软考高级《系统架构设计师》面向服务的架构(SOA) 笔记

软考高级《系统架构设计师》面向服务的架构(SOA) 笔记

2023-06-18 01:59| 来源: 网络整理| 查看: 265

前言

今天是2022/08/21,距离软考还有 77 天。现在依然没有什么把握能通过软考高级《系统架构设计师》。历年来该考试的通过率都非常低。而且不排除后面工作繁忙,频繁加班。但是现在还是挣扎一下,有时间就再复习一些内容。

SOA 的定义

出自《系统架构设计师教程》--清华大学出版社

SOA (Service-Oriented Architecture,SOA),从应用和原理的角度,目前有2种公认的标准定义。

从应用的角度定义

可以认为SOA是一种应用架构。将日常业务应用划分为单独的业务功能和流程,即所谓的服务。SOA使用户可以构件、部署和整合这些服务,且无需依赖应用程序及其运行平台。从而提高业务流程的灵活性。这种业务灵活性可以使企业快速发展,降低成本,改善对及时、准确信息的访问。有助于实现更多的资产重用、更轻松的管理和更快的开发和部署。

从软件的基本原理定义,可以认为SOA是一个组件模型。它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口就是采用中立的方式进行定义的,它独立于服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以一种统一和通用的方式进行交互。 SOA 设计原则

出自《系统架构设计师教程(第四版)》--电子工业出版社

在SOA的架构中,继承了来自对象和构件设计的各种原则。例如封装和自我包含等。那些保证服务的灵活性和松耦合性和复用能力的设计原则,对SOA架构来说同样是非常重要的。关于服务,有常见的设计原则如下:

(1)明确定义的接口

(2)自包含和模块化

(3)粗粒度

(4)松耦合

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

SOA 的关键技术

出自《系统架构设计师教程(第四版)》--电子工业出版社

UDDI

UDDI(Universal Description Discovery and Integration),统一描述、发现和集成。提供了一种服务发布、查找和定位的方法,是服务的信息注册规范,以便被需要该服务的用户发现它。UDDI规范描述了服务的概念,同时也定义了一种编程接口,通过UDDI提供的标准接口,企业可以发布自己的服务供其他企业查询和调用,也可以查询特定服务的描述信息,并动态绑定到该服务器上。

在UDDI技术规范中,主要包含以下三个部分的内容: (1)数据模型。UDDI数据模型是一个用于描述业务组织和服务的XML SChema (2)API。UDDI API 十一组用于查找或发布UDDI数据的方法,UDDI API基于SOAP。 (3)注册服务。UDDI服务是SOA中的一种基础设施,对应着服务注册中心的角色。

WSDL

WSDL(Web Service Description Language,Web服务描述语言)是对服务进行描述的语言,他有一套基于XML的语法定义。WSDL描述的重点是服务,它包含服务事先定义和服务接口定义。

SOAP

SOAP(Simple Object Access Protocol)简单对象访问协议。定义了服务请求者和服务提供者之间的消息传输规范。SOAP用XML来格式化消息,用HTTP来承载消息。通过SOAP,应用程序可以在网络中心进行数据交换和远程过程调用。

SOAP主要包括一下四个部分

封装

SOAP封装定义了一个整体框架,用来表示消息中包含什么内容,谁来处理这些内容,以及这些内容是可选还是必须的。

编码规则 SOAP编码规则定义了一种序列化的机制,用于交换系统所定义的数据类型的实例

PRC表示

SOAP RPC表示定义了一个用来表示远程过程调用和应答的协议

绑定

SOAP绑定定义了一个使用底层数据协议来完成在节点之间交换SOAP封装的约定。

REST

REST(Representational State Transfer)表述状态转移,是一种只用HTTP和XML进行Web通信的技术,可以降低开发的复杂度,提高系统的可伸缩性。它的简单性和缺少严格配置的文件的特性,使它与SOAP很好的隔离开来,REST从根本上来说只支持几个操作(POST,GET,PUT 和 DELETE),这些操作适用于所有的消息。REST提出了如下的一些设计概念和准则:

(1)网络上的所有事物都被抽象为资源

(2)每个资源对应一个唯一的资源标识

(3)通过通用的连接件接口对资源进行操作

(4)对资源的操作不会改变资源标识

(5)所有的操作都是无状态的

SOAP 的生命周期

(1)建模 (2)组装 (3)部署 (4)管理 (5)控制

SOA 的优缺点 优点

(1)编码灵活性 (2)明确开发人员的角色 (3)支持多种客户类型 (4)更易维护 (5)更好的可伸缩性 (6)更高的可用性 (7)利用现有资产 (8)更易于集成和管理复杂性 (9)更快的整合现实 (10)减少成本和增加重用

缺点

(1)可靠性 SOA 在事务的最高可靠性方面做的不够好,包括: 不可否认性、消息一定会被传输且仅传输一次以及事务撤回。

(2)安全性。由于SOA中的构件往往不尽相同,且有相互联系,想要保持在SOA架构中的安全性就十分复杂。

(3)编排。统一协调分布式软件以便构建有意义的业务流程是最复杂的,但它可以同时也最适合面向服务类型的集成,原因很显然,建立在SOA上的应用软件可以被设计成可以按需拆装、重新组装的服务。作为目前业务流程管理解决方案的核心,编排功能使IT管理人员能够通过已经部署的套装或者自己开发的应用软件功能,把新的元应用软件连接起来。

(4)遗留系统支持。

(5)语义 定义事务和数据的业务含义,一直是IT管理人员面临的最棘手的问题。

(6)性能 分布式系统之间往往有更多的网络开销。

SOA 的实现方法

SOA 只是一种概念和思想,需要借助于具体的技术和方法来实现它。从本质上来说,SOA是用本地计算模型来实现一个分布式应用,也有人成这种方法为“本地化设计,分布式工作”模型。CORBA、DCOM 和 EJB 都是属于这种解决方式,也就是说,SOA最终可以基于这些标准来实现。

实现SOA的方法比较多,目前比较主流的有Web Service、企业服务总线、服务注册表。

Web Service

Web Service 的解决方案中,一共有3种工作角色。服务提供者、服务请求者、注册中心。其中注册中心是一个可选的角色。他们之间的交互和操作,构成了SOA的一种实现架构。

服务注册表

Service Registry 虽然也具有运行时的功能,但是主要在SOA设计时使用。它提供了一个策略执行点,在这个点上,服务可以在SOA中注册,从而可以被发现和使用。大多数服务注册产品支持服务注册、 服务位置和服务绑定功能。

企业服务总线

ESB 的概念是从SOA发展起来的,他是一种为进行连接服务提供的标准化的通信基础结构,基于开放的标准,为应用提供了一个可靠的、可度量和高度安全的环境,并可帮助企业对业务流程进行设计和模拟,对每个业务流程实施控制和跟踪、分析并改进流程和性能。

ESB是由中间件技术实现并支持SOA的一组基础架构,是传统中间件技术与XML、Web Service等技术结合的产物,是整个企业集成架构下的面向对象的企业应用集成机制。具体来说,ESB具有以下功能:

支持异构环境中的服务、消息和基于事件的交互 通过使用ESB,可以再几乎不更改代码的情况下,以一种无缝的入侵方式使现有系统具有全新的服务接口,并能够在部署环境中支持任何标准。 充当缓冲器的ESB与服务逻辑相分离,从而使不同的系统可以同时使用同一个服务,不用在系统或数据发生改变时,改动服务代码。 在更高的层次,ESB还提供注入服务代理和协议转换等功能。允许在多种形式下通过HTTP、SOAP和JMS总线的多种传输方式,主要是以网络服务的形式,为发表、注册、发现和使用企业服务或界面提供基础设施。 提供可配置的消息转换翻译机制和基于消息内容的消息路由服务,传输消息到不同的目的地。 提供安全和拥有者机制,以保证消息和服务的认证、授权和完整性。


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3