前面的几篇BLOG里面讨论了有关SOA方面的一些问题,提出了个人的一点想法,当然,如我所说,我不是技术出身,因此对于技术细节没有深入了解,并且就技术端来看,应该说珠玉在前,无论是厂商还是有关的研究者,都已经有了大量的深入的探索与实践,在这里,把前面讨论的一些东西综合起来,似乎可以形成一个可供参考的框架。
我得承认我对于画图实在是没有什么太高的天赋,所以只有一个简单的图来大致的表示我的意思。当然图里面还缺乏了一些元素,这是因为一方面我不知道怎么放,另一方面我的目的只是说明主要的关系而已。
[SOA征文]一个供参考的框架_职场
从图中可以看到,SOA的四个关键因素中,业务、技术与资源的SOA化我们已经讨论过两个方面了,服务与技术端也有了充分的文献。对于几个因素的关系,其直接的联系是通过服务来完成的,服务调动资源端和技术端,同时为业务端提供服务,这是直接的联系,并且其间的联系是单向的。而在业务端、资源端与技术端之间,则是间接的联系,不过可以认为存在虚拟的双向的联系,业务端的SOA化对资源端(主要是人力方面)存在影响,而资源端的SOA化又可以反过来影响到业务端,而业务端与技术端也存在类似的虚拟联系,业务端的SOA化对于技术端组件的数量与粒度都会产生一些影响,而同样,技术端的组件也将影响到业务端组合的柔性与灵活性。技术端与资源端(主要是计算能力、带宽等物理资源)的关系比较密切,技术端需要资源端支撑,其代码效率、复用等情况就会对资源端产生影响,资源端的情况也限制了技术端的性能。这三者之间以虚拟联系为主,因此通过虚箭头来表示。
现在问题就又转回到这次的主题上来了,如何开始SOA,也就是说,从哪一个环节入手,从目前的实践来看,主要是通过技术端的工作入手,而我们也可以从图上看出,资源端入手似乎是比较困难的,我个人的看法是可以从业务端入手,不过,显然在这个问题上从技术端入手或者从业务端入手都是比较合理的线路,或者从居中调度的服务这个环节入手也是很有道理的,但是从资源端入手恐怕是不合适的策略。
简单的说这些吧。