SOA架构咨询

标签: IT咨询 | 发表时间:2014-11-05 15:38 | 作者:人月神话
出处:http://blog.sina.com.cn/cmmi
对于SOA架构咨询,其核心还是在于组件化和服务化,然后才是服务管控和治理,基于服务化思想对传统软件开发生命周期过程的改进。SOA架构大家刚接触时候很容易将其理解为一种单纯的技术架构,或者更多的人仅仅是将SOA理解为service服务接口,这些都是对SOA方法论很大的误解。

SOA咨询一个重点就是业务驱动IT,而非单纯的IT架构咨询,SOA咨询一般都会结合企业架构和云的思想,结合组件化架构和领域服务的思想,高层结合BPM端到端流程整合目标,并对这些内容进行有效的融合。在整个过程中包括服务全生命周期治理和管控的内容。

对于传统企业信息化应用和架构的诊断,需要的还是从企业的业务流程或业务域出发,整理出企业当前的业务架构,转换为组件化业务模型,然后结合当前已有的应用架构进行差距和匹配分析。在技术方面的诊断最关心的点主要还是在当前的应用架构是否是一种完全的松耦合架构模式。即当前的业务系统组件化的实施情况,当前的业务系统组件提供的服务接口的实施和集成情况。在和很多企业的架构咨询和交流中,一个普遍的情况还是在企业信息化建设初期没太注意总体规划的事情,没太注意平台层建设,后期增加新的业务系统或新的功能组件都相当随意,这些都直接导致了后续一个业务系统越做越庞大而且无法拆分,或者说企业内的多个业务系统间关联依赖关系相当复杂,接口也千差万别,但是无法解耦。这些都直接导致了后续整个IT运维和管控相当困难。即使有些企业用了ESB服务总线,但是也没有解决上述的问题,ESB总线仅仅是服务管理和中介的平台,关键的问题还是在于组件划分的是否合理,服务的识别粒度和复用性是否合适。

一个企业的信息化建设后期,由于系统越建越多,都会想到一个问题就是打破系统边界,然后能否按照组件开发,组件后续组装和集成方式来构建企业内部IT。这样的好处就是SOA思想和组件化思想已经进入到系统内的架构设计,同时解决掉原有的业务系统内多个模块紧耦合无法拆解的问题。但是这种做法有一个前提,即首先是要有云和平台化的思想,即构建公共的可复用的技术平台层,将原有业务系统中和业务不相关的内容全部下沉到技术平台层,形成可共享的技术服务能力。只有这样做了,上层的业务系统才能够转变为一个个相当干净,并且只关注业务的多个业务组件。

业务系统或组件间的集成模式是我们在SOA架构诊断中经常发现问题的地方,即在多个上层业务系统或业务组件间,当发生依赖和交互的时候,应该是调用组件暴露的业务服务和数据服务能力,这些服务能力本身是属于领域服务的范畴,同时有效的屏蔽了底层数据库的实现逻辑。而当前我们看到比较多的情况还是数据库通过dblink等方式的直接访问或开放,这直接导致了多个业务系统或组件间发生了更强的细粒度层面的关系和依赖,加大了系统间的耦合程度。这样在做的过程中确实方便了,但是跨过了逻辑层或领域服务逻辑,直接导致了后续运维和管控相当困难。一个典型现象就是对于自己是owner的应用的,其数据库信息发生了变动都无法有效追溯,而且也无法快速查询自己的数据库究竟外围有多少业务系统或功能模块在调用,是哪些业务场景导致了这些调用。

数据问题是我们在SOA规划咨询中发现的另外一个主要问题,即由于为了满足系统间集成的需求,出现大量的数据交换和集成,同样一份数据多点落地导致的数据及时性和数据不一致问题。这个问题的本质还是没有对共享数据或主数据进行统一的规划和考虑,还有就是思维仍然停留在数据交换上而不是数据服务能力提供上。而数据服务能力提供本身数据是不会导致数据多点落地的,这个在架构层面很多企业都没有很好的解决这个问题。

在一个企业复杂的IT应用架构下,特别是到了运维和变更处理阶段,我们需要的就是对于企业内部运行的业务系统,接口和相互依赖关系了解的相当清楚,组件之间本身也处于松耦合的一种状态。对于新来的任何一个需求变更我能够快速的分析出来究竟应该实现到哪个组件里面?是否存在接口的变更,是否会影响到其它的业务组件或功能,整个变更如何多个组件配合变化后统一集成和发布。这些都是实实在在管控阶段的关键,如果没有一个清晰的SOA组件化架构,组件集成架构和服务接口清单,那么就很难快速的分析这些内容,而导致每次都由于变更影响分析不足而导致的发布故障或版本回退。

SOA技术架构不要考虑的太复杂,其本质仍然是组件化和领域服务设计思想下,可复用组件设计,服务接口的设计这些传统软件架构设计的内容。目的就是首先要解耦,其次才是解耦后的组件能够快速的装配。这些思想没有理解而一下进入到单个服务识别或接口的设计,那就很难从全局来掌握整个SOA架构的合理性。

  青春就应该这样绽放   游戏测试:三国时期谁是你最好的兄弟!!   你不得不信的星座秘密

相关 [soa 架构 咨询] 推荐:

SOA架构咨询

- - 人月神话的BLOG
对于SOA架构咨询,其核心还是在于组件化和服务化,然后才是服务管控和治理,基于服务化思想对传统软件开发生命周期过程的改进. SOA架构大家刚接触时候很容易将其理解为一种单纯的技术架构,或者更多的人仅仅是将SOA理解为service服务接口,这些都是对SOA方法论很大的误解. SOA咨询一个重点就是业务驱动IT,而非单纯的IT架构咨询,SOA咨询一般都会结合企业架构和云的思想,结合组件化架构和领域服务的思想,高层结合BPM端到端流程整合目标,并对这些内容进行有效的融合.

eBay开源SOA-Turmeric架构

- - 人月神话的BLOG
参考: https://www.ebayopensource.org/wiki/display/TURMERICDOC/Turmeric+Documentation+Overview. Turmeric是一个综合的、由策略驱动的SOA平台,提供了对SOA服务及其消费者的开发、部署、保护、运行和监控等方面的支持.

SOA面向服务架构

- - 人月神话的BLOG
今年在这点上谈的比较多,也逐步开始落地实施,将SOA咨询和实施方法论从系统间真正的引入到系统内,将面向对象的需求分析方法和SOA思想进一步融合,从业务建模到系统用例建模,从流程分析到服务识别和分析,从业务组件化到系统模块化,这些工作都逐步开始落地实施. 这样做的好处就是进一步的体现SOA可复用组件的价值,真正的做到业务组件化和组件能力化.

2011年简单总结-SOA咨询和实施

- - 人月神话的BLOG
在2011年对SOA的理解,从咨询到实施基本朝着纵深方向发展,我们对SOA的最大贡献就是理论到实施,真正的SOA实施落地,10多个系统的接入,300多个服务每天上50万次以上的运行. SOA的跨系统和流程整合,端到端的业务和流程监控. SOA的价值逐渐显现,跨系统流程整合工作也逐步开始考虑. 今年在这点上谈的比较多,也逐步开始落地实施,将SOA咨询和实施方法论从系统间真正的引入到系统内,将面向对象的需求分析方法和SOA思想进一步融合,从业务建模到系统用例建模,从流程分析到服务识别和分析,从业务组件化到系统模块化,这些工作都逐步开始落地实施.

谈企业架构和SOA的融合

- - 人月神话的BLOG
本篇讲主要强调下在常规的企业架构规划和顶层设计中与SOA规划设计之间的融合. 再次强调下SOA的核心思想是解耦,在首先满足解耦的要求下实现共享,协同和复用. 一个完整的业务系统被拆分了应用,服务和资源层能力三个方面的内容. 资源层的能力最终以粗粒度的服务方式暴露出来,应用的构建需要大部分的借助于共享服务层抽取和接入的各种服务能力.

面向服务的架构SOA

- - CSDN博客架构设计推荐文章
SCA实现SOA的最佳方式. Apache开源框架Tuscany实现SCA架构. SOA(Service-Oriented Architecture)面向服务的体系架构. 为了能够深入理解还专门查了单词:Oriented:面向,Architecture:架构,没办法英语太烂. 实际上是一个组件模型,他将应用程序的不同功能单(称为服务)通过定义良好的接口联系起来.

SOA和微服务架构沟通(2.8)

- - 人月神话的BLOG
今天在广州交流SOA和微服务架构,特对关键内容做简单记录. 对于SOA和微服务架构的区别,在知乎一个回答里面我已经进行了详细的说明,即微服务架构强调的第一个重点就是 业务系统需要彻底的组件化和服务化,原有的单个业务系统会拆分为多个可以独立开发,设计,运行和运维的小应用. 这些小应用之间通过服务完成交互和集成.

再谈SOA和云架构设计的一些要点

- - 人月神话的BLOG
对于SOA和云架构设计方面的内容,前面已经有很多文章涉及到,在这里再重点谈下SOA和云架构设计和传统EA企业架构和单业务系统架构设计之间的一些区别和联系. SOA和云架构设计更多的是在企业架构的应用架构和技术架构层面,然后才过渡到单个应用的架构设计约束,因此也可以理解为是传统软件架构设计更加上层的一个内容.

对SOA架构思想的一些说明

- - 人月神话的BLOG
传统业务系统的构建更多的是竖井式的纵向思想,这个主要是从单个业务系统孤立来看都是垂直应用. 那么SOA架构的视角是从整个企业应用架构环境来看,思想的核心转变就是从传统的纵向独立构建模式转变为横向从底朝上逐层构建模式,在这个构建模式中首先是底层的资源层(独立的业务组件),然后是服务层,再上面才是应用层和门户展现层.

浅谈SOA面向服务化编程架构(dubbo)

- - ITeye博客
并非淘宝系的技术啦,淘宝系的分布式服务治理框架式HSF啦 ,只闻其声,不能见其物. 而dubbo是阿里开源的一个SOA服务治理解决方案,dubbo本身 集成了监控中心,注册中心,负载集群...等等. 代码和整体的框架还是很优雅滴呀. github地址 https://github.com/alibaba/dubbo.