什么是SOA架构?

什么是SOA架构?一.SOA的概念1.1.SOA(Service-OrientedArchitecture)面向服务的架构:Gartnet把它定义为一种软件的设计方法 百度百科把它定义为一个组件模型 W3C把它定义为一种应用程序架构(https://www.w3school.com.cn/w3c/w3c_china.asp) 专家Davis说它是一种设计思想 总之,SOA不是具体的技术实现SOA的实现SOA实现层面包含两个最重要的概念:面向服务的通信(SOCService-Oriented…

大家好,又见面了,我是你们的朋友全栈君。

一. SOA的概念

1.1. SOAService-Oriented Architecture)面向服务的架构:

  • Gartnet把它定义为一种软件的设计方法
  • 百度百科把它定义为一个组件模型
  • W3C把它定义为一种应用程序架构(https://www.w3school.com.cn/w3c/w3c_china.asp)
  • 专家Davis说它是一种设计思想
  • 总之,SOA不是具体的技术实现

SOA的实现

SOA实现层面包含两个最重要的概念:

  • 面向服务的通信SOC Service-Oriented Communicaiton)
  • 面向服务的软件架构SOSA Service-Oriented Software Architecture)

服务(Service)是实现某种功能的函数或方法,离散的功能单元,可以被远程访问并且能够独立运行和更新。

SOC的简介

SOCService-Oriented Communicaiton)面向服务的通信:

  • 谁和谁进行通信:服务提供者和服务接受者,即:服务端和客户端
  • 怎么通信:服务端实现服务接口并提供服务功能,客户端使用服务接口并调研服务功能
  • 服务太多怎么处理:服务端在服务代理里面进行注册,声明它能够提供哪些服务;客户端在需要服务的时候进行查找,找到后进行调用

什么是SOA架构?

SOC的实现方式

  1. SOME/IP(Service-Oriented MiddlewarE Over IP) 面向服务的IP中间件
  2. DDS(Data Distribution Service)数据分发服务
  3. RESTful(Representational State Transfer)

SOSA的实现方式

  1. AUTOSAR Adaptive Platform

为什么用SOA架构?

SOAService-Oriented Architecture)的特点:

  • 易于扩展
  • 灵活的平台
  • 服务通信标准化
  • 服务间:松耦合,无状态,无依赖
  • 服务内:高内聚,完整,可复用,可灵活重组

通过对比传统静态交互和SOA动态交互,可以看出SOA架构的优势:

  1. 传统静态交互及其缺陷

    域控制器之间通过静态配置进行交互:

    • 实线箭头 表示 信号流
    • 虚线箭头 表示 新增/变更的信号
    • 紫色框 表示 新增/变更的功能
    • 黑色框 表示 新增/变更的控制 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148646.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 一致性哈希算法 虚拟节点(比一致性哈希还好的算法)

    采用固定哈希算法平衡负载在大规模的缓存应用中,应运而生了分布式缓存系统。key-value如何均匀的分散到集群中?最常规的方式莫过于hash取模的方式。比如集群中可用机器适量为N,那么key值为K的的数据请求很简单的应该路由到hash(K)modN对应的机器。但是在一些高速发展的web系统中,这样的解决方案仍有些缺陷。随着系统访问压力的增长,缓存系统不得不通过增加机器节点的方式提高集群的相应速…

    2022年4月14日
    52
  • wget找不到命令

    wget找不到命令由于系统中未安装导致,运行yum-yinstallwget 即可;

    2022年5月20日
    49
  • JavaScript如何将Unit8Array图片数据转换为JPG图片

    JavaScript如何将Unit8Array图片数据转换为JPG图片网页端JavaScript如何将Unit8Array图片数据转换为JPG图片

    2025年12月12日
    4
  • python 删除文件、目录_python如何删除文件、目录[通俗易懂]

    python 删除文件、目录_python如何删除文件、目录[通俗易懂]本文讲述了python实现删除文件与目录的方法。分享给大家供大家参考。具体实现方法如下:os.remove(path)删除文件path.如果path是一个目录,抛出OSError错误。如果要删除目录,请使用rmdir().remove()同unlink()的功能是一样的在Windows系统中,删除一个正在使用的文件,将抛出异常。在Unix中,目录表中的记录被删除,但文件的存储还在。#…

    2022年5月27日
    82
  • copy与deepcopy的区别_clone和copy的区别

    copy与deepcopy的区别_clone和copy的区别最近在实习,boss给布置了一个python的小任务,学习过程中发现copy()和deepcopy()这对好基友实在是有点过分,一开始还相爱着呢,不知道怎么回事就开始相杀了。搞的博主就有点傻傻分不清啊,但是呢,本着一探到底的极客精神,还是要查资料搞清楚这对好基友的区别。其实呢,copy()与deepcopy()之间的区分必须要涉及到python对于数据的存储方式。首先直接上结论:

    2022年10月2日
    3
  • 公钥基础设施PKI_公钥基础设施pki由什么组成

    公钥基础设施PKI_公钥基础设施pki由什么组成2019独角兽企业重金招聘Python工程师标准>>>…

    2022年8月22日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号