欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

什么是SOA?

程序员文章站 2024-02-27 20:57:27
...

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