普元副总裁刘尔洪对SOA做了一个形象的比喻,SOA想解决的问题是软件太大了不灵活,就要把它拆小。小的东西就像积木一样,拼成什么都行,这个拆开的小积木就是服务。问题是服务难做吗?有人说做服务很简单,随便把现有的软件模块打个包,封装一下就是服务。对于这样的观点,刘尔洪认为,关键在于服务用来干什么?可复用的服务才有价值,现在的问题是服务的质量不高,每天做的软件没有考虑到每一块小的软件都建立业务模型、适应不同的环节。
另外一个问题就是,服务需要很灵活,只有足够灵活才能够适应变化。灵活对应到实现上就是服务的粒度,这一点对于SOA的实现是一个难以确定的问题。如前文所述的那种通过将软件模块打包封装出来的服务,粒度是非常大的,这样做的问题是复用性很差。刘尔洪说,普元的思想是一直分解到最小的粒度,由一堆最小的构件组合成服务。这样一来服务拼大也行,拼小也行,用这样的方式做出来的服务是很灵活的。对于基于SOA建立大型企业应用,把企业的应用都变成最小粒度的服务组合起来的应用,问题是小粒度的通用性的服务很难做出来,需求经常会发生变化,具体的应用场景也会经常发生变化,如何能够解决这个问题?刘尔洪的答案很简单:就用更小的颗粒解决出来,这是普元一直在提倡的构件,构件拼成服务,服务拼成流程,流程构造出应用,很多应用拼成一个企业。
文章来源于领测软件测试网 https://www.ltesting.net/