什么是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. SOA(Service-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的简介

SOC(Service-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架构?

SOA(Service-Oriented Architecture)的特点:

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

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

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

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

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

 

 

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

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

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


相关推荐

  • iDEA优化配置

    iDEA优化配置iDEA优化配置1.启动优化配置配置idea软件安装目录下的bin/idea.vmoptions文件,根据自己电脑实际修改前三项大小2.自动导包删包配置按下图配置3.方法分割线4.鼠标悬停提示勾选5.代码忽略大小写提示去掉勾选6.窗口多行显示已打开的class7.新建类配置模版8.编码格式9.自动编译…

    2022年5月21日
  • mysql 加入�列,改动列,删除列。

    mysql 加入�列,改动列,删除列。

    2021年12月2日
  • latex换行后(\\)如何继续缩进两格?「建议收藏」

    latex换行后(\\)如何继续缩进两格?「建议收藏」LaTeX中正常换行不要使用\,直接回bai车两下,即du在两段中间空一行,这样就会自动另zhi起一段并且缩dao进了。也可以在段落前面加上\par,例如\par第一段。\par第二段。就可以将它们分段了,如果想要在强制换行(\)之后缩进,可以使用\indent命令,例如第一行\\indent第二行…

    2022年5月14日
  • mac 安装golang2021 激活码_在线激活

    (mac 安装golang2021 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月28日
  • 基于qt的简单小游戏_中国象棋单机版2,0

    基于qt的简单小游戏_中国象棋单机版2,0最近对Qt这个跨平台C++图形应用程序框架很感兴趣,闲暇时间多学了一下,收获很多,也踩了不少坑,在这里记录一下,分享心得。Qt的安装安装Qt并不麻烦,就是网速有点慢。推荐使用国内镜像代理下载。首先进入Qt官网,在TryQt处点击DownloadQt,填完基本信息后,点击提交就可以下载Qt下载器了。当然,你也可以直接去国内镜像站上下载Qt下载器。打开Qt下载器,注册Qt账户,并登录,同意协议。若要使用国内镜像代理,点击左下角的配置图标。然后从百度上选择

    2022年8月29日
  • tabnine激活码-激活码分享

    (tabnine激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~V…

    2022年3月22日

发表回复

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

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