什么是SOA?

SOA的定义SOA(Service-OrientedArchitecture),中文全称:面向服务的架构。SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。SOA的基本特征可从企业外部访问  随时可用  粗粒度的服务接口分级 松散耦合 可重用的服务服务接口设计管理  标准化的服务接口  支持各种消息模式 精…

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

SOA(Service-Oriented Architecture),中文全称:面向服务的架构。

SOA 是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。

SOA 是一种思想,一种方法论,一种分布式的服务架构。

  • SOA的用途

SOA解决多服务凌乱问题,SOA架构解决数据服务的复杂程度,同时SOA又有一个名字,叫做服务治理

  • SOA的基本特征

可从企业外部访问    随时可用    粗粒度的服务接口分级  松散耦合  可重用的服务

服务接口设计管理   标准化的服务接口   支持各种消息模式  精确定义的服务契约

  • SOA的优缺点

什么是SOA?

  • SOA的架构体系

什么是SOA?

  • SOA是怎么用的?

SOA 把系统分离成不同的服务,使用接口来进行数据交互,最终达到整合系统的目的。 

专业的词总是让人懵懵懂懂,看起来高大上,但就是不知道在BB什么…. 我们换种讲法。

很多开发人员,做系统的时候是这样合作的【反例】

小明负责【考勤】,小王负责【薪资】。

小王说: 小明,我要用【考勤】数据,你做好了没?

小明说: 早做好了,表名叫Attenance, 字段A代表员工ID,字段B代表....自己去数据库查。

 

【所有业务模块都柔和在一起,很混乱】

什么是SOA?

相信很多人看到这种情景很熟悉, 数据交互完全通过数据库,模块件没有完全分离,错综复杂!用不了多久,你的系统就 会乱成一锅粥。对于后期的维护和升级简直就是灾难。

要说明一下,这种开发方式不符合SOA的理念,那么SOA是如何处理的呢?

1.考勤作为单独模块,成为一个考勤服务,发布了一个考勤数据接口(WebServices)

2.小王需要使用考勤数据,调用考勤服务的接口即可

【采用SOA以后的系统架构体系】

什么是SOA?

简洁明了,不涉及对底层数据库的反复操作,使业务 IT 系统变得更加灵活,以适应业务中的改变。

SOA又叫服务治理,SOA就是帮助我们把服务之间调用的乱七八糟的关系给治理起来,然后提供一个统一的标准,把我们的服务治理成下图所示,以前我们的服务是互相交互,现在是只对数据总线进行交互,这样系统就变得统一起来。

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

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

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


相关推荐

  • Android图片裁剪之自由裁剪

    Android图片裁剪之自由裁剪

    2021年12月4日
    39
  • 详述 IntelliJ IDEA 插件的安装及使用方法「建议收藏」

    详述 IntelliJ IDEA 插件的安装及使用方法「建议收藏」温馨提示:IntelliJIDEA支持非常多的插件,熟练的使用插件,能够有效提高我们的开发效率以及用户体验。正文首先,进入插件安装界面:Mac:IntelliJIDEA->Preferences->Plugins;Windows:File->Settings->Plugins.标注1:显示IntelliJIDEA的插件分类,Allplugins:显示In

    2022年6月14日
    100
  • 【离散数学】单射、满射和双射的定义、区别

    【离散数学】单射、满射和双射的定义、区别满射:对任意b,存在a满足f(a)=b~即:值域y是满的,每个y都有x对应,不存在某个y没有x对应的情况~单射:(one-to-onefunction)一对一函数,x不同则y不同~即:没有一个x对应两个y,也没有一个y有对应两个x~双射:既是满射,也是单射~即:每个y都有x对应,而且都是一一对应~…

    2022年6月10日
    222
  • python八进制表示_八进制python

    python八进制表示_八进制python广告关闭腾讯云 11 11 云上盛惠 精选热门产品助力上云 云服务器首年 88 元起 买的越多返的越多 最高返 5000 元 答案 python2 5 及更早版本 可以使用 int 0 2 python2 5 及更早版本 用 noway 来表示二进制文本 python2 6 测试版 可以这样做 0b 或 0b python2 6 测试版 也允许 0o27 或

    2025年6月25日
    1
  • MySQL 获得当前日期时间 函数「建议收藏」

    MySQL 获得当前日期时间 函数「建议收藏」MySQL获得当前日期时间函数获得当前日期+时间(date+time)函数:now()mysql>selectnow();+———————+|now()|+———————+|2008-08-0822:20:46|+———————+获得当前日期+时间(date+time)函数:sysdate()sysdate()日期时间函数跟now()类似,不同之处.

    2022年10月5日
    4
  • sublime text 3下载与安装详细教程「建议收藏」

    sublime text 3下载与安装详细教程「建议收藏」一、下载:打开官网下载链接http://www.sublimetext.com/3,下载SublimeText3portableversion”下载下来为“SublimeTextBuild3083x64.zip”编辑器的包,解压后无需安装就能运行,直接创建桌面快捷键就好二、双击桌面“SublimeText3”快捷图标,打开程序,就可…

    2022年7月11日
    54

发表回复

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

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