「面向服务的架构(SOA)」优点是什么,可应用于哪些领域

首页 / 常见问题 / 低代码开发 / 「面向服务的架构(SOA)」优点是什么,可应用于哪些领域
作者:开发工具 发布时间:10-22 16:47 浏览量:3079
logo
织信企业级低代码开发平台
提供表单、流程、仪表盘、API等功能,非IT用户可通过设计表单来收集数据,设计流程来进行业务协作,使用仪表盘来进行数据分析与展示,IT用户可通过API集成第三方系统平台数据。
免费试用

「面向服务的架构(SOA)」优点是SOA架构可以按业务流程调用各个构件服务,与ESB和BPM的基础中间件结合,通过流程建模的形式,与业务流程逻辑联系在一起。能应用的领域就是帮助传统企业集成异构的老系统。

一、「面向服务的架构(SOA)」优点与应用领域

优点

SOA架构可以按业务流程调用各个构件服务,与ESB和BPM的基础中间件结合,BPM作为一个业务流程管理平台,很好的将SOA服务通过流程建模的形式,与业务流程逻辑联系在一起。那么这个过程中,BPM支撑SOA架构的业务流程协作问题,ESB支撑SOA架构的数据交换问题。

例如:应急指挥系统中,我们制定一个流程预案,可以由BPM工具进行建模,进行不同独立运行的SOA构件服务进行流程执行调度,并形成流程执行库。应用执行端,一般就是客户端手动或定时器自动,启动流程引擎实例,流程引擎读取流程模型库,并配合应用管理端的操作,对构件服务实现访问调度,流程引擎调度的这个过程中,SOA的服务构件始终围绕在ESB周围,交换过程数据。进行物资服务调度、医疗资源服务调度、通讯设备服务调度、对外信息披露服务调用等。

那么这种架构例子中,大家是不是看得出来非常适合复杂应用系统整合、协作,因为很有可能通讯设备服务提供了C++网络通讯包,物资服务是Java平台运行,医疗资源服务又是.Net平台运行,但是大家基于统一的服务规约,提供精确而风格一致的服务接口,那么对于BPM也好,ESB也好,就极大的减少了适配集成的复杂过程,让各种业务和通讯系统,都变成了一项服务,作为SOA整体调度与管理的一枚棋子而存在。

应用领域

帮助传统企业集成异构的老系统。

说到 SOA 就必须提到 ESB(Enterprise Service Bus),即企业服务总线。传统企业各种历史遗留的老系统对外提供的服务接口标准不统一,比如协议有的用 HTTP 有的用 JMS,数据格式有的用 XML 有的用 JSON 还有直接二进制的。ESB 就是要完成各种协议和数据格式的互相转换,让各个异构服务可以方便地相互调用,但是各种协议和数据格式的转换工作量可能很大,ESB 本身容易成为性能瓶颈,所以 SOA 的 ESB 设计也是无奈之举。

互联网行业通常比较年轻,没有那么多历史包袱。就算有,技术部往往也有大量的财力人力做重构,所以 SOA 和 ESB 这种东西就比较遥远。

到这里就避不开那个经典的问题了,SOA 和 微服务有什么区别?可以从两个方面去对比。

1、SOA 是对多个系统做整合,更多考虑的是兼容已有的系统;而微服务是将一个系统做拆分,要考虑高内聚低耦合,轻量灵活、快速迭代。

2、Martin Fowler 说微服务是“聪明的终端,愚蠢的管道”(Smart Endpoints and Dumb Pipes),其中的“Dump Pipes”就是与 ESB 对比的,因为 ESB 知道的事情太多了,而微服务的 Pipes 仅仅做消息传递,使用的是轻量且风格统一的接口(比如 HTTP Restful),无须在接口层进行 SOA 的 ESB 那样的复杂处理。

延伸阅读:

二、SOA的架构思想

1、首先SOA架构是面向服务的,只不过是基于面向对象。SOA继承了很多面向对象的特点,比如说面向对象的封装,经常代表很多类封装成一个模块,为其他对象调用者提供接口调用,良好的面向对象设计就是暴露接口,隐藏实现,类比到SOA的设计,SOA也需要精准明确的定义好服务接口,具体服务内部的逻辑实现都是隐藏在背后的,只不过有两个很大的区别:

(1)面向对象的实现都是基于同一个编程语言或平台(同构),但SOA服务彻底隐藏了实现上用何种语言平台的具体细节(异构)

(2)面向对象的实现其实大部分都是本地方法之间的调用,当然也具备分布式远程方法调用,但SOA是存粹提供了独立的服务,面向分布式的远程服务调用。2、其次SOA的服务定义是精确的,这个怎么理解呢?因为SOA的服务一旦发布出来,那么就会有很多其他的异构平台服务进行调用,这时候的服务接口修改就不像一个人或者一个小团队之间协作那么容易了,可能涉及到一个大型企业多部门的信息协作,或者对构件已经形成依赖的生态链条。因此这就牵扯出了SOA另外一个特征,那就是服务接口的粒度一般要设置的比较粗。若提供过多的服务接口,服务又定义的很细粒度,那么频繁修改是在所难免的。这一点上就注定了SOA架构适合在较重量的环境下存在。

最后建议,企业在引入信息化系统初期,切记要合理有效地运用好工具,这样一来不仅可以让公司业务高效地运行,还能最大程度保证团队目标的达成。同时还能大幅缩短系统开发和部署的时间成本。特别是有特定需求功能需要定制化的企业,可以采用我们公司自研的企业级低代码平台织信Informat。 织信平台基于数据模型优先的设计理念,提供大量标准化的组件,内置AI助手、组件设计器、自动化(图形化编程)、脚本、工作流引擎(BPMN2.0)、自定义API、表单设计器、权限、仪表盘等功能,能帮助企业构建高度复杂核心的数字化系统。如ERP、MES、CRM、PLM、SCM、WMS、项目管理、流程管理等多个应用场景,全面助力企业落地国产化/信息化/数字化转型战略目标。 版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们微信:Informat_5 处理,核实后本网站将在24小时内删除。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系邮箱:hopper@cornerstone365.cn 处理,核实后本网站将在24小时内删除。

最近更新

开发公司团队架构表怎么写
11-17 13:54
网站开发公司怎么做账
11-17 13:54
网站开发公司怎么找
11-17 13:54
如何选择软件定制开发公司
11-17 13:54
在Timing这款App的开发公司—武汉氪细胞 工作是什么体验
11-17 13:54
网站开发公司名称怎么起名
11-17 13:54
怎么选择专业网站开发公司
11-17 13:54
天津有什么好的APP外包开发公司吗
11-17 13:54
app开发公司怎么选择
11-17 13:54

立即开启你的数字化管理

用心为每一位用户提供专业的数字化解决方案及业务咨询

  • 深圳市基石协作科技有限公司
  • 地址:深圳市南山区科技中一路大族激光科技中心909室
  • 座机:400-185-5850
  • 手机:137-1379-6908
  • 邮箱:sales@cornerstone365.cn
  • 微信公众号二维码

© copyright 2019-2024. 织信INFORMAT 深圳市基石协作科技有限公司 版权所有 | 粤ICP备15078182号

前往Gitee仓库
微信公众号二维码
咨询织信数字化顾问获取最新资料
数字化咨询热线
400-185-5850
申请预约演示
立即与行业专家交流