什么是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)
上一篇 2022年6月16日 上午8:46
下一篇 2022年6月16日 上午8:46


相关推荐

  • scl怎么实现定时_iec定时器里在监控里怎么改

    scl怎么实现定时_iec定时器里在监控里怎么改我看了SCL的帮助文档,试着用它介绍的调用定时器的方法,在SCL中调用,但总是编译不过去。我用IF语句,当M0.0为1时,调用S_ODT定时器,采用绝对调用。另外,了解一下,除了西门子的帮助文档还有没有SCL的学习资料。第一次用,虽然西门子说和PASCAL语言很像,但郁闷的是我也不会PASCAL语言。最佳答案var_temptest_timer:s5time;test_view:word;…

    2022年10月7日
    5
  • 最近公共祖先_洛谷好不好

    最近公共祖先_洛谷好不好原题链接题目描述如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。输入格式第一行包含三个正整数 N,M,SN,M,S,分别表示树的结点个数、询问的个数和树根结点的序号。接下来 N-1N−1 行每行包含两个正整数 x, yx,y,表示 xx 结点和 yy 结点之间有一条直接连接的边(数据保证可以构成树)。接下来 MM 行每行包含两个正整数 a, ba,b,表示询问 aa 结点和 bb 结点的最近公共祖先。输出格式输出包含 MM 行,每行包含一个正整数,依次为每一个询问的结果。输入

    2022年8月8日
    9
  • 04. 用 Claude Code 创建 publisher.py(WordPress 自动发布)

    04. 用 Claude Code 创建 publisher.py(WordPress 自动发布)

    2026年3月15日
    2
  • 华为乾崑 | 启境 GT7 智能猎装车全球首秀,同步开启盲订

    华为乾崑 | 启境 GT7 智能猎装车全球首秀,同步开启盲订

    2026年3月19日
    4
  • SQLite数据库中文乱码处理「建议收藏」

    SQLite数据库中文乱码处理「建议收藏」通过SQLiteAdministrator等工具生成的数据库文件,放入到Android中,查询记录怎么也查不出来,后来发现是编码错误,SQLiteAdministrator不支持utf编码,所以存储的中文会出现乱码的情况,处理方法如下:SQLiteDatabasedb=dbHelper.getWritableDatabase();Cursorcursor

    2025年8月26日
    7
  • 图解Android中的Binder机制

    图解Android中的Binder机制前言 Binder 做为 Android 中核心机制 对于理解 Android 系统是必不可少的 关于 binder 的文章也有很多 但是每次看总感觉看的不是很懂 到底什么才是 binder 机制 为什么要使用 binder 机制 binder 机制又是怎样运行的呢 这些问题只是了解 binder 机制是不够的 需要从 Android 的整体系统出发来分析 在我找了很多资料后 真正的弄懂了 binder 机制 相信看完这篇文章大家也

    2026年2月26日
    2

发表回复

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

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