soa bofu 面向企业的信息化战略

从soa谈起,现在soa很多年了,但这个概念并不过时,反而成为重要的it基础

ddd 领域模型驱动,其实不用这个概念也行,就叫,业务功能模型吧,应该参考微服务的思想,面向企业的知识与资源进行

面向业务的功能单元 Business-oriented functional units 这是我提出的概念叫 BOFU 所以我就不用ddd了 小写 bofu
具体 的说 bofu就是一个个 数据模型+相关的逻辑(规则,状态,关系,描述...) 一般由一种代码承载,使用纯净的代码
这里我选择并推荐的是 C# .net core standard 2.1 的类库 来承载,尽量做到不受各种技术的污染,让业务代码保持最大限度 的
纯净,这些业务数据模型+业务逻辑,由抽象层进行边界封装,以确保业务逻辑描述 的必要完备性。
 
bofu是面向企业,面向公司的,而非面向应用,它不属于任务一个应用程序 ,一个项目,在bofu的一层是 soa
soa是与技术相关的,要考虑公司自己硬件资源 所采用的一种,技术集合用于实现 让资源 (硬件)最优化,并且承载了bofu
或其中的一部分,以服务接口的姿态 向外授权开放,在soa的上层 是应用壳,应用壳 可以是web pc站点,手机站点,手机原生应用
其它智能设备的站点或原生应用程序 等,也可以pc端的桌面应用,一个公司根据 自己的需要 可以做很多应用,从大层面 上看
soa与应用壳做到了解耦 ,这种思维是最有利于企业的 企业信息化宏观构想方案,而非 现在的微服务,现在的微服务是基于有很大价值
的应用壳的,应用壳就象是浮沙一样,而微服务却让在它上面的建筑更加复杂,重型,华丽,要知道没有多少企业有天猫这样价值的
重量级应用壳,企业的必须面向业务,应用壳只是对soa的一种消费,不能本末倒置,假设一个公司构造多个应用项目,以应用项目
为中心去调试资源,而非以企业自身(知识体系,及各种资源,业务需求)的话,那么多个团队都 做微服务,同样将造成各种可怕的
冗余,重复,而且 绝大部分应用项目,不值得付出过多的开发成本,这里面存在巨大 的风险,它们不是天猫,没那么多客户,需求
与价值。但却在使用微服务岂不是很荒唐。
 
应用壳项目,只是soa的一种消费,soa是企业整体的服务集合,从它上面可以构造各种不同平台,不同形式,不同表现风格的应用壳
这是一对多的关系,soa是本,而应用项目是末,是枝叶,
 
soa对bofu而言,是一种“穿衣服” 是一种聚合,是一种保护 ,是一种筛选,是一种考量硬件资源最优化利用率后的实施方案,soa与技术
相关,比如 早期的 web service  wcf webapi 等这些技术,现在的 grpc, orleans ,service fabric,Kubernetes, 包括各种消息队列 容器,虚拟 机等硬件都是soa的实现手段,方式,和基础。
 

猜你喜欢

转载自www.cnblogs.com/ProjectDD/p/12200048.html
SOA